TopTreeProducer
TopTreeProducer
Aims & design
TopTreeProducer should produce a "light" TTree which will be a subset of PAT-uples.
Running over the TopTree should be the last step before making final plots.
Aims:
- Running other all datasets quickly to study the selection
- Once the analysis are tuned on signal: running over signal and background to tune some parameters
- Producing the "final plots"
Design:
- Create one class per "object" & one "analyzer" to fill it
- Create one branch per "objects" in the root-file
*
Requirements:
- Code will be put on CVS
- In the cff file, user can choose the input collection and turn on/off the different modules
Versions
Existing cvs branches:
- MAIN
- CMSSW_22X
- CMSSW_31X
- CMSSW_35X
- CMSSW_36X
- CMSSW_311X
- CMSSW_41X
- CMSSW_42X
Tags to be used per release:
- For CMSSW_22X release use tag: CMSSW_22X
- For CMSSW_31X release use tag: CMSSW_33X_v3
- For CMSSW_330 release use tag: CMSSW_33X_v3
- For CMSSW_33X (>= CMSSW_331) release use tag: CMSSW_33X_v4
- For CMSSW_35X release use tag: CMSSW_35X_v16 (Check the changelog if you want to produce TopTree's with this tag!!!)
- For CMSSW_36X on 35X samples, use tag: CMSSW_36X_v1_patch3
- For CMSSW_36X on 36X samples, use tag:
- For CMSSW_41X release, use tag: CMSSW_41X_v3
- Check out in addition:
cvs co -r V01-06-00 RecoBTag/SecondaryVertex cvs co -r CMSSW_4_2_3 RecoVertex/PrimaryVertexProducer cvs co -r CMSSW_4_2_3 TrackingTools/TrajectoryState cvs co -r V04-07-02 PhysicsTools/PFCandProducer cvs co -r V00-03-10 PhysicsTools/SelectorUtils cvs co -r V08-02-11 PhysicsTools/UtilAlgos cvs co -r V02-04-16 RecoJets/Configuration cvs co -r V04-01-00 RecoJets/JetAlgorithms cvs co -r V05-05-03-00 RecoJets/JetProducers
- For CMSSW_42X release, use tag:
Branch to be used for development:
- For CMSSW_22X use branch: CMSSW_22X
- For CMSSW_31X use branch: CMSSW_31X
- For CMSSW_33X use branch: CMSSW_31X
- For CMSSW_35X use branch: CMSSW_35X
- For CMSSW_36X on 35X samples, use branch: CMSSW_36Xon35X
- For CMSSW_36X on 36X samples, use branch: CMSSW_36X
- For CMSSW_311X use branch: CMSSW_311X
- For CMSSW_41X use branch: CMSSW_41X
- Check out in addition:
cvs co -r V01-06-00 RecoBTag/SecondaryVertex cvs co -r CMSSW_4_2_3 RecoVertex/PrimaryVertexProducer cvs co -r CMSSW_4_2_3 TrackingTools/TrajectoryState cvs co -r V04-07-02 PhysicsTools/PFCandProducer cvs co -r V00-03-10 PhysicsTools/SelectorUtils cvs co -r V08-02-11 PhysicsTools/UtilAlgos cvs co -r V02-04-16 RecoJets/Configuration cvs co -r V04-01-00 RecoJets/JetAlgorithms cvs co -r V05-05-03-00 RecoJets/JetProducers
- For CMSSW_42X use branch: CMSSW_42X
- If you produced stable code, commit it under the proper branch and create a CVS tag to be used for production.
Changelog of the development of the TopTreeProducer: TopTreeProducer_Changelog
On lxplus (at cern) to check out you need to do: cvs co -r MyTag -d TopBrussels/TopTreeProducer UserCode/TopBrussels/TopTreeProducer The -d option will put it in a correct directory to be able to compile the code.
ex: doing cvs co -r CMSSW_41X UserCode/TopBrussels/SanityChecker will checkout the latest development for 41X series.
It still possible to use tag which are linked or not to a branch:
- cvs co -r v2 UserCode/TopBrussels/TopTreeProducer : last version working with "old CMSSW tag" (TtGenEvent home made)
- cvs co -r CMSSW_227_TQAF_V04-08-07_v2 UserCode/TopBrussels/TopTreeProducer: version working with CMSSW_2_2_7 & TQAF V04-08-07
- REMARK One schould use TQAF V04-08-08 to have the genevent properly working!
TopTree skimmer
The TopTree skimmer is present since the CMSSW_35X_v6 tag. More information can be found in http://w3.iihe.ac.be/Indico_IIHE/getFile.py/access?contribId=9&resId=0&materialId=slides&confId=134
How to use
- You can checkout the code:
cvs co -r v1 UserCode/TopBrussels/TopTreeProducer
- To produce a TopTree: cd test; cmsRun TopTreeProducer.py
- To run macro over TopTrees have a look to test/README
############################# # To run the code ### ############################ Change booleans & input files if needed in TopTreeProducer.py cmsRun TopTreeProducer.py ############################# # To run Macro ### ############################ root -l .X rootlogon.C .L Macro.C++ Macro() ############################# # To run code compiled ### ############################ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. g++ -L <tt>pwd</tt> -l Toto -I <tt>root-config --incdir</tt> <tt>root-config --libs</tt> Code.C -o Code ./Code
Objects:
- CaloJet (since CMSSW_35X)
- PFJet (since CMSSW_35X)
- Jet (everything before CMSSW_35X)
- MET
- Muon
- Electron
- HLT
- MCInfo
- Primary vertex
- Event Info (type of sample & so on )