-
Notifications
You must be signed in to change notification settings - Fork 58
Home
Information on checking out the package is given in the project main page.
Currently active branches/tags:
- Run3: HIG-24-013. Port to CMSSW 13 and python3; intended to run on Run3 data/MC, both with the "classic" miniAOD fwk and with the new one based on nanoAODs (NanoAnalysis).
- Run2UL_22: (current default branch): developments for upcoming Run2 UL analyses: high-mass, off-shell
Branches used for past results:
- Run2_CutBased_BTag16: Used for HIG-19-001. Frozen.
-
Run2_CutBased_UL: Run II differential analysis (HIG-21-009). Samples:
RunIIUL/(tag: UL-DifferentialProd). Different selection for the best ZZ candidate, byBestZ1bestZ2 instead of byBestKD.
for information on which tree sets were used for a given result, please refer to this page.
A simple nanoAOD framework based on nanoAODTools is maintained branch Run3. See this page for details.
In order to run synchronization as described in the sync wiki page, customize and run the script runSync.py. This produces a trimmed-down tree ZZ4lSync.root and the corresponding html documentation file, ZZ4lSync.html
Important: Please note that the result will include the effect of any local modification in the working area, but not any variables/customizations that are used in specific csv files for a given analysis, so if these need to be included in the sync they have to be imported in the script.
See the Submitting Jobs page for instructions on how to use batch scripts for processing samples.
Steering of the canidate building code is controlled by a single .py file, AnalysisStep/test/MasterPy/ZZ4lAnalysis.py, which contains all cuts and selection criteria. This .py produces a transient collection of CompositeCandidates, which contains ZZ candidates passing the full selection, with additional information attached as userFloats.
Information from this collection can be collected with standard CMSSW analysis modules, either to fill histograms directly or to fill trees with more compact information. A simple tree builder is implemented in AnalysisStep/test/Ntuplizers/HZZ4lNtupleMaker.cc. The standard configuration of the tree builder is given in AnalysisStep/test/analyzer.py.
In order to run synchronization as described in the sync wiki page, the file AnalysisStep/test/analyzer_7XSync.py can be run interactively. This produces one tree (ZZ4lAnalysis.root). The script AnalysisStep/test/synchronizer.py runs on the tree and produces the synchronization file. A second script synchronizerCR.py produces sync files for CRs (DY sync samples should be selected, and filling of CRs must be activated in analyzer_7XSync.py for this purpose).
Note that categorization is computed by the script based on the information stored in the tree. This is based on the code in AnalysisStep/interface/Category.h. Please check synchronizerCR.py to see how it is called.