Wire 2024/2025 corrections and weight_base_cmb - #125
Conversation
There was a problem hiding this comment.
Pull request overview
This PR wires up Monte Carlo corrections for the new Run3_2024 / Run3_2025 data-taking periods (Summer24 NanoAODv15), plus 2026_Summer24 placeholders, across the correction modules (PU, tau, electron, jet, fatjet, HLT, recoil, jet-veto, muon). It also adds a combined normalisation weight (weight_base_cmb) computed at the AnaTupleMerge stage using FLAF's shared_mc helpers, so shared-MC samples can be reweighted against an in-era denominator. This extends the framework's period-dependent correction plumbing without altering existing Run2/2022/2023 behavior.
Changes:
- Add 2024/2025 (and 2026 placeholder) period entries and JSON/tag mappings across all correction modules, including new year-specific
correctionlibevaluate signatures for tau VSjet/VSmu and a refactoredelectron_id_sf_yearhelper (with a new unit test). - Add electron/HLT/recoil/fatjet fallbacks where dedicated 2025/2026 JSONs are not yet published, and expand 2025 jet run letters (B–G) while dropping the per-era
Run{}JEC data tag. - Add
weight_base_cmbcomputation inCorrections.pydriven byshared_mc, including a new 2026 golden JSON data file and PU 69.2 mb weight wiring.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| triggersRun3.py | Adds ele_year/cross_ele_year, _json_trg_key fallback helper, and EGM/HLT year selection for 2025/2026 |
| triggersRun3.h | Extends supported-era gate to include 2026_Summer24 |
| tau.py | Adds 2024/2025/2026 tau JSON era keys and per-period SF-source filtering |
| tau.h | Year-specific evaluate argument lists for VSjet (2025) and VSmu (2024/2025) |
| electron.py | Extracts electron_id_sf_year helper; wires 2025/2026 eleID |
| test_electron_id_sf_year.py | New unit test extracting and exercising electron_id_sf_year in isolation |
| pu.py | Adds golden-JSON keys and a PU file-suffix map for 2025/2026 |
| mu.py | Adds 2026_Summer24 placeholder source lists |
| jet.py | Adds 2026 tags, expands 2025 run letters (B–G), removes per-era Run{} data tag |
| fatjet.py | Adds 2024/2025/2026 AK8 SF fallbacks to the 2023postBPix file |
| JetVetoMap.py | Adds 2026 veto-map placeholder |
| bosonicRecoil.py | Reuses 2024 recoil JSON for 2025/2026 |
| CorrectionsCore.py | Adds 2026 POG folder entries and fills 2025 LUM/TAU paths |
| Corrections.py | Adds weight_base_cmb / shared_mc in-era denominator logic |
| data/golden_json/Cert_Collisions2026_401624_403937_Golden.json | New 2026 certified-lumi JSON |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
tested with cms-flaf/FLAF#300 |
Summary
Corrections for
Run3_2024/Run3_2025(Summer24 NanoAODv15):wp_VSmuand VSmu extra args2024Prompt/2025Promptas required by the JSONWinter25Prompt25_V3_DATA, run letters B–G2023PromptDweight_base_cmbwritten at AnaTupleMergemodes.<stage>isnoneis not applied at that stageTesting
Exercised through the analysis HistPlot chains on
Run3_2024andRun3_2025for HH_bbtautau, HH_bbWW and H_mumu (--test 1000, TestModel).