Skip to content
Nicola Amapane edited this page Aug 3, 2024 · 20 revisions

General information

Information on checking out the package is given in the project main page.

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.

Branches/tags

Currently active branches/tags (sample folders in the group's EOS folder)

  • 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): development for upcoming Run2 UL analyses: high-mass, off-shell

Branches used for past results:

  • Run2_CutBased_BTag16: HIG-19-001; samples: RunIILegacy/200205_CutBased/ (MC); RunIILegacy/200430_LegacyRun2/ (data). 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.

Synchronization

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.

Processing samples

A list of samples to be processed is maintained in the files AnalysisStep/test/prod/samples_*.csv here.

Starting from this list, some scripts are available to process all samples on the CERN batch system. For details see the Submitting Jobs page.

NanoAOD framework

A simple nanoAOD framework based on nanoAODTools is under development in branch Run3. See this page for details.