Giter Site home page Giter Site logo

egammaanalysis-tnptreeproducer's Introduction

EgammaAnalysis-TnPTreeProducer

Package of the EGamma group to produce Tag-and-Probe trees

Overview of branches

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.

Available tuples

ReReco 2016, 2017 and 2018

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

ReReco 2016, 2017 and 2018 - L1 matched

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

UL2017 and UL2018

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

To produce new tuples

1a. Install for rereco (CMSSW_10_2_X with X=10 or higher, works for 2016, 2017 and 2018 data/MC)

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

1b. Install for ultra-legacy (CMSSW_10_6_X, works for UL2017 and UL2018 data/MC)

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

1c. Install for Run3 (CMSSW_13_3_X, works for 2022 and 2023 data/MC)

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

2. Try-out

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.

3. Submit jobs

Check in EgammaAnalysis/TnPTreeProducer//crab the tnpCrabSubmit.py script to submit your jobs using crab

source /cvmfs/cms.cern.ch/common/crab-setup.sh

To make a pull request to this repository

  1. On github fork the package https://github.com/cms-analysis/EgammaAnalysis-TnPTreeProducer
  2. Add the remote
git remote add username-push [email protected]:username/EgammaAnalysis-TnPTreeProducer.git
  1. push commits to fork and then standard pull request process
git push username-push branchname

Adding new workingpoints

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 variables

Description of some of variables in the output tree is given here.

egammaanalysis-tnptreeproducer's People

Contributors

fcouderc avatar swagata87 avatar lfinco avatar bmjoshi avatar tomcornelis avatar ram1123 avatar a-kapoor avatar guitargeek avatar smuzaffar avatar saghosh avatar lsoffi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.