-
Notifications
You must be signed in to change notification settings - Fork 59
Home
The UHH2 analysis framework is the successor of the UHHAnalysis Framework, meant to be used for 13 TeV data with CMSSW. Like UHHAnalysis, it also uses SFrame to process data locally; however, it is not as tightly coupled to SFrame and in fact also allows to run the same code within CMSSW directly.
Stable branches exist for the production & analysis of ntuples from various versions of MiniAOD
samples. The ntuple format is documented on the page NtupleFormat. The NtupleFormat page also contains a list of known limitations/issues of the ntuple data contents.
In the menu on the right you can find wiki pages for installation/compiling and ntuple production summaries for various branches, each of which is designed to target particular version(s) of MiniAOD datasets.
❗ For new analyses not using ultra-legacy, we recommend to use the RunII_102X_v2 branch.
For analyses using ultra-legacy, use the RunII_106X_v2 branch.
A history of all branches/tags:
-
next-ntuple-format
: based on Phys14 MiniAOD -
RunII_25ns_v1
: based on MiniAODv1 in CMSSW_74X -
RunII_25ns_v2
: based on MiniAODv2 in CMSSW_74X -
RunII_50ns
: based on MiniAODv1 in CMSSW_74X (only for 50ns bunch crossing runs) -
RunII_76X_v1
: based on MiniAODv2 in CMSSW_76X -
RunII_80X_v1
: based on MiniAODv1 in CMSSW_80X -
RunII_80X_v2
: based on MiniAODv2 in CMSSW_80X -
RunII_80X_v3
: based on MiniAODv2, Moriond17 re-reco, in CMSSW_80X -
RunII_80X_v4
: based on MiniAODv2, Moriond17 re-reco, in CMSSW_80X. JEC specific branch? -
RunII_80X_v5
: based on MiniAODv2, Moriond17 re-reco, in CMSSW_80X. Adds in HOTVR & XCone with CHS & PUPPI, move to ungroomed AK8 TopJets. -
RunII_94X_v1
: for 2017 MiniAODv1 in 94X. -
RunII_94X_v2
: like 94X_v1, but adds in L1 trigger objects for prefiring studies -
RunII_94X_v3
: for 2017 MiniAODv2. Update MET recipe for EE2017 fix, and V2 of Electron IDs. -
RunII_101_v1
: for 2018 data, Runs A-C, taken with CMSSW_10_1_X. Intermediate branch, not to be used for proper analysis -
RunII_102X_v1
: first attempt at "legacy" release that can handle 201[6|7|8] data & MC, with all their relevant conditions, IDs, etc -
RunII_102X_v2
: update of the 102X_v1 branch, adding in new DeepAK8 training to handle 2016v3/17/18 samples. -
RunII_106X_v1
: building upon 102X, development branch to handle Ultra-Legacy ("UL") datasets -
RunII_106X_v2
: for UL ntuple production and analyses, using MiniAODv2 UL samples (building upon 106X_v1)
❗️ Please look through the links in the sidebar
- there are pages specific to each release, including setup instructions, ntuple branch info, known issues
- there are pages under "Analysis info" that have info when creating your analysis
- there are paged under "Developer tips" that are more useful if you are modifying UHH2 or the Ntuple content/writer
To get a first overview of the structure of UHH2
, read Code Overview. This page also explains how to start a new analysis. Some more specific documentation is on the Event Class and the Metadata pages.
See the Running page for a step-by-step introduction how to actually run over data; it will use the example code.
One of the goals of UHH2
was to be able to run the same code on standalone ntuples and within CMSSW. While this goal was achieved, some limitations and differences exist, see CMSSW vs. SFrame.
How to contribute code to the UHH2/UHH2
repository is described in Committing Code. Please stick to the Code Conventions for new code.
Finally, a separate page discusses Performance -- both in terms of data size and runtime -- which can help estimating the time required for certain workflows.
-
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