-
Notifications
You must be signed in to change notification settings - Fork 60
NtupleFormat
The current ROOT ntuple format in the master
branch is the same as for UHHAnalysis
. However, the transition to 13TeV data analysis offers the opportunity to make some cleanups while adding new variables. The dataformat is developed in a separate branch next-ntuple-format
to allow testing while still keeping the current dataformat for ongoing analysis which can use the master
branch.
NOTE: The next-ntuple-format
branch should be used together with CMSSW74X which includes improvements in the candidate-based b-tagging, which is used by the ntuplewriter CMSSW python configuration.
Currently included changes are:
- Introduce a class
Tags
which allows to store arbitrary (int-indexed) float data to allow easier evolution of the dataformat in the future by adding new integer keys (as new enum values). - Add the
Tags
mechanism to the classesJet
,TopJet
,Electron
,Muon
,Tau
to add more b-tagging / top-tagging / lepton variables. - For electrons, use the
Tags
mechanism to store the currently recommended PHYS14 electron ids as computed by the CMSSW module. - For
Muon
andTau
, use auint64_t
to store single boolean data as bits. ForTau
s, use this bits to store the new recommended id variables. ForMuon
s, remove some data only needed for the ids (which are very stable now); instead, store the ids bits. - For
Jet
s, remove the GenJet Particle pointer, which was also stored in the file, although it shouldn't be. - For
TopJet
change subjets to have typevector<Jet>
instead ofvector<Particle>
for saving subjet information (flavor, JEC, area, etc.) consistently; this also allows reducing the amount of code duplication inSubjetCorrector
. - For
TopJet
, remove detailed btagging variables - remove
PFParticle
class, as these are never stored in theUHH2
framework
While changing the dataformat, also changes to NtupleWriter
have beeen made:
- calculate substructure information (nsubjettiness, qjets mass volatility) for
TopJet
s in CMSSW instead of using own interface to fastjet.
Currently not included are these changes:
- Consider saving isRealData as metadata, as these change rarely between events
Not everything is available in the next-ntuple-format
; in particular:
- subjet b-tagging is not working for puppi jets (it does work for chs subjets, and for puppi fat-jets). From the
ntuplewriter
, the configuration is there, but the explicit jet-track association in CMSSW does not work (all puppi particles have bestTrack()==0, which breaks the CandIPProducer). To be fixed in CMSSW-80X.
-
Ntuple instructions per branch/release
- 10_6_X, UL16/17/18
- 10_2_X, 2016/17/18
- 9_4_X, 2017
- 9_2_X, 2017
-
8_0_X, 2016
- Installing and Compiling (Run II, 80X, miniAOD v1, 80X_v1)
- Ntuple Production (Run II, 80X, MiniAODv1)
- Installing, Compiling and Ntuples (Run II, 80X, miniAOD v2, 80X_v2)
- Installing, Compiling and Ntuples (Run II, 80X, Moriond17, 80X_v3)
- Installing, Compiling and Ntuples (Run II, 80X, miniAOD v2, HOTVR & XCone reprocessing, 80X_v5)
-
Analysis info
- crab kill, follow-up tasks, duplicates
- Running failing crab jobs locally
- Checking & Reprocessing of missing ntuples
- Creating & using luminosity ROOT file in SFrame
- Finding a MINIAOD file from an ntuple event
- Luminosity & cross-section weighting information for Monte Carlo samples
- NtupleFormat
- Pileup reweighting for MC
- 2017 MC samples with buggy pileup
- Recipe for PDF uncertainties (RunII, 25ns, MiniAODv2)
- Running
- Singularity (using SL6 on EL7)
- Storing user variables in objects
- Trigger Paths & Filters; storing trigger objects
- Working with DESY Tier 2 dCache (
/pnfs
) - Tier2 UHH2 group space
- Application of Keras Neural-Network in UHH2
-
Developer tips
- (Top) Jet collections in Ntuples
- Adding a new object class to ntuples
- CMSSW vs. SFrame
- Code Conventions
- Code Overview
- Committing & Contributing Code
- Compiling and installing fastjet, fastjet contrib
- Continuous Integration
- Continuous Integration Setup Instructions
- Debugging tips
- git(hub) tutorial
- Handling different years (RunII_102_v1 10_2_X and beyond)
- Event Class
- Maintainer Responsibilities
- Metadata
- OS Acronyms
- Performance
- Porting changes across branches (cherry-picking)
- Renaming a ntuple collection
- Using an external package
- DNN/TF dev planning
-
Older ntuple instructions
-
7_6_X, 25ns, 2015
- Installing and Compiling (Run II, 25ns)
- Installing and Compiling (Run II, 25ns, miniAOD v2)
- Installing and Compiling (Run II, 76X, 25ns, miniAOD v2)
- Ntuple Production (Run II, 25ns v1 MC ONLY!)
- Ntuple Production (Run II, 25ns, MiniAODv2)
- Ntuple Production (Run II, 25ns, prompt reco D v3)
- Ntuple Production (Run II, 76X, 25ns, MiniAODv2)
- 7_4_X, 50ns, 2015
- Phys14, 2014
-
7_6_X, 25ns, 2015