Package of the EGamma group to produce Tag-and-Probe trees
Branch | release | tnpEleIDs | tnpPhoIDs | tnpEleTrig | tnpEleReco | purpose |
---|---|---|---|---|---|---|
miniAOD | miniAOD | miniAOD | AOD | |||
RunIIfinal | CMSSW_10_2 | ✔️ | ✔️ | ✔️ | ✔️ | Run II analysis |
RunIIfinal | CMSSW_10_6 | ✔️ | ✔️ | ✔️ | ✔️ | Run II analysis using ultra-legacy |
CMSSW_11_X_Y | CMSSW_11 | ✔️ | ✔️ | ✔️ | ✅ | Development for Run III (experimental) |
Run3_13X | CMSSW_13 | ✔️ | ✔️ | ✔️ | ✅ | Run3 2022/2023 |
Note: because of a dataformat CMSSW_10_6 can only be used for ultra-legacy samples, and CMSSW_10_2 should be used for the rereco samples.
If you do not need changes to the default code, you can simply use existing flat tag and probe trees, avalaible for both 2016, 2017 and 2018 (RunIIfinal branch):
ls /eos/cms/store/group/phys_egamma/tnpTuples/tomc/2020-06-09/*/merged/
These inlcude the tnpEleTrig, tnpEleIDs and tnpPhoIDs trees produced with the RunIIfinal branch. Main change with respect to the 2020-02-28 production is the inclusion of some additional branches, e.g. the leptonMva's
In case you need L1 matching for the measurement of doubleEle HLT triggers, you can use the tnpEleTrig trees found in:
ls /eos/cms/store/group/phys_egamma/tnpTuples/tomc/2020-03-03/*/merged/*L1matched.root
For ultra-legacy we have tnpEleTrig, tnpEleIDs and tnpPhoIDs trees available at:
ls /eos/cms/store/group/phys_egamma/tnpTuples/tomc/2020-05-20/UL2018/merged
ls /eos/cms/store/group/phys_egamma/tnpTuples/tomc/2020-05-20/UL2017/merged
ls /eos/cms/store/group/phys_egamma/tnpTuples/rasharma/2021-02-10/UL2016postVFP/merged
ls /eos/cms/store/group/phys_egamma/tnpTuples/rasharma/2021-02-10/UL2016preVFP/merged
cmsrel CMSSW_10_2_22
cd CMSSW_10_2_22/src
cmsenv
git clone -b RunIIfinal [email protected]:cms-egamma/EgammaAnalysis-TnPTreeProducer.git EgammaAnalysis/TnPTreeProducer
scram b -j8
cmsrel CMSSW_10_6_13
cd CMSSW_10_6_13/src
cmsenv
git clone -b RunIIfinal [email protected]:cms-egamma/EgammaAnalysis-TnPTreeProducer.git EgammaAnalysis/TnPTreeProducer
scram b -j8
cmsrel CMSSW_13_3_1
cd CMSSW_13_3_1/src
cmsenv
git clone -b Run3_13X [email protected]:cms-egamma/EgammaAnalysis-TnPTreeProducer.git EgammaAnalysis/TnPTreeProducer
scram b -j8
You can find the cmsRun executable in EgammaAnalysis/TnPTreeProducer/python:
cd EgammaAnalysis/TnPTreeProducer/python/
cmsRun TnPTreeProducer_cfg.py isMC=True doTrigger=True era=UL2018
Check TnPTreeProducer_cfg.py for all available options. Update the code if you need to implement custom-made recipes.
Test files can be defined in python/etc/tnpInputTestFiles_cff.py If you update the code, you can use the ./runTests.py script in the test directory to check for new differences in the 2016, 2017 and 2018 test files.
Check in EgammaAnalysis/TnPTreeProducer//crab the tnpCrabSubmit.py script to submit your jobs using crab
source /cvmfs/cms.cern.ch/common/crab-setup.sh
- On github fork the package https://github.com/cms-analysis/EgammaAnalysis-TnPTreeProducer
- Add the remote
git remote add username-push [email protected]:username/EgammaAnalysis-TnPTreeProducer.git
- push commits to fork and then standard pull request process
git push username-push branchname
You can add new electron workingpoints in python/egmElectronIDModules_cff.py and new photon workingpoints in python/egmPhotonIDModules_cff.py. Each new workingpoint added in these python config fragments will add a new "passing" boolean in the electron and photon trees respectively. Of course, one can also choose to simply add a variable in python/egmTreesContent_cff.py, which might be preferred for MVA variables when you want to have the flexibility to explore different workingpoints: you can simply put a cut on these variable in the egm_tnp_analysis package.
Description of some of variables in the output tree is given here.