-
Notifications
You must be signed in to change notification settings - Fork 43
Ntuple Tools
The final state analysis package is built around the PATFinalState Data Format. This abstract object corresponds to a "final state candidate," like μ+τ, and encapsulates all of the interesting information needed by the analyst. The advantage of the single object is that is both lightweight and that it holds references to all of the interesting information in the event. You can compose complex observables using only a single object, enabling many tasks to use the string cut parser. This allows new cuts to be implemented quickly, and without writing any C++ code.
To run over a single file, execute (for example):
cmsRun make_ntuples_cfg.py channels="zh" rerunFSA=1 inputFiles="file:/hdfs/store/user/tapas/patTuple_A-Zh-mmtt-PU025.root"
First, ensure that all samples you need have been PAT tuplized. Then, make sure the nice sample names (found in MetaData/python/dataXTeV.py) that you need are mapped correctly to the PAT tuple directories in MetaData/tuples/PATTuple-XTeV.json. Tools for finding the locations of appropriate PAT tuples are at The PAT Tuple.
Then, you can submit jobs ntuple production from NtupleTools/test by running:
submit_job.py JOBID make_ntuples_cfg.py channels="zh" rerunFSA=1 --tuple-dirs=$fsa/MetaData/tuples/PATTuples-8TeV.json --apply-cmsRun-lumimask --input-files-per-job=1 --shared-fs --samples "VH*" "*WZ*" "*ZZ*" "data_DoubleMu*" "data_DoubleEl*" "data_MuEG*" "Wpl*" "TT*" "Zjets*" "WW*" "*WH*" > do_higgs8TeV.txt bash < do_higgs8TeV.txt
For this specific case, the ntuple configuration is named higgs_ntuples.py and makeQuad=1 makeTNP=1 makeH2Tau=0 makeTrilepton=1 make4L=1 rerunFSA=1 are VarParsing arguments. The wildcards after --samples describe which samples we want to run over.
Note that you need to run the 7TeV ntuples from a CMSSW 4_2_8_patch7 release, and 8 TeV from a CMSSW 5_3 release.
MiniAOD is a data format introduced in Spring 2014 which is intended to largely replace group-specific PATtuples (https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookMiniAOD). Thus if the MiniAOD data is available and sufficient for your analysis, you will only need the Ntuplization capabilities of FSA. You should check out the branch miniAOD_dev, which has been modified for Ntuplization of MiniAOD
When n-tuples are run for 4-lepton final states, the different permutations of the leptons in the event are represented as different rows in the n-tuples, so you sometimes have multiple rows for a single event. Because of Final State Radiation, this approach doesn't work well for the event reconstruction used in HZZ4L.
A separate producer was written to perform the event reconstruction with Final State Radiation as used by HZZ4L: PatTools/plugins/PATQuadFinalStateBuilderHzzT_h. This analyzer produces exactly one row in the n-tuple per event. It also calls the ZZMatrixElement package and attaches the kinematic angles to the event as UserFloats.
To run HZZ4L n-tuples, FSA must be installed with HZZ=1 PATPROD=1 LUMI=1 ./recipe.sh. To run n-tuples, do:
make_ntuples_cfg.py channels="zz" zzMode=1 rerunFSA=1
- Using Git
- Developing in FSA
- The PAT Tuple
- Ntuple Tools
- Plot Tools
- Package Description for each subpackage
- List of provided EDM Plugins
- List of provided Helper Scripts
- Definitions and Additional Information