TopTreeProducer

From T2B Wiki
Revision as of 12:29, 26 August 2015 by Maintenance script (talk | contribs) (Created page with " === TopTreeProducer === ==== Aims & design ==== TopTreeProducer should produce a "light" TTree which will be a subset of PAT-uples. <br> Running over the TopTree sho...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


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 )


Template:TracNotice