-
Notifications
You must be signed in to change notification settings - Fork 1
Synchronize L1 MET code with CMSSW main branch, fix phi calculation for HLS testbench, and temporarily add JSON files #143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: L1PF_15_1_X
Are you sure you want to change the base?
Conversation
Update L1MET & JUMP emulator up to cmssw main branch version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR synchronizes the L1 MET (Missing Transverse Energy) code with CMSSW main branch (PR#48308), introduces a modified phi calculation for HLS testbench compatibility, and temporarily adds JSON configuration files for L1 MET algorithms. The changes include a complete refactor of the MET calculation to use a new polynomial-based emulator and the introduction of the JUMP (Jet Uncertainty-aware MET Prediction) algorithm.
Key Changes:
- Refactored L1 MET calculation from custom HLS implementation to a polynomial-based pt/phi to px/py conversion using 2nd-order interpolation
- Added new L1JUMPProducer plugin implementing the JUMP algorithm for jet energy resolution-aware MET correction
- Temporarily included JSON data files (l1met_ptphi2pxpy_poly2_v1.json and l1jump_jer_v1.json) until they are available in cms-data V00-09-00
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| L1Trigger/Phase2L1ParticleFlow/python/l1tMETPFProducer_cfi.py | Added Poly2File parameter to configure the polynomial coefficients file path |
| L1Trigger/Phase2L1ParticleFlow/python/l1tJUMPProducer_cfi.py | New configuration file for JUMP producer with jet and MET input tags and selection criteria |
| L1Trigger/Phase2L1ParticleFlow/plugins/L1MetPfProducer.cc | Replaced custom phi calculation with calls to new emulator using polynomial interpolation; removed old Project/PhiFromXY functions |
| L1Trigger/Phase2L1ParticleFlow/plugins/L1JUMPProducer.cc | New producer implementing JUMP algorithm that applies jet energy resolution corrections to MET |
| L1Trigger/Phase2L1ParticleFlow/interface/jetmet/L1PFMetEmulator.h | New header defining polynomial-based MET emulator with pt/phi to px/py conversion and JSON parameter loading |
| L1Trigger/Phase2L1ParticleFlow/interface/jetmet/L1PFJUMPEmulator.h | New header implementing JUMP algorithm emulator with jet energy resolution parameterization |
| L1Trigger/Phase2L1ParticleFlow/data/met/l1met_ptphi2pxpy_poly2_v1.json | Polynomial coefficients for cos/sin interpolation across 16 phi bins |
| L1Trigger/Phase2L1ParticleFlow/data/met/l1jump_jer_v1.json | Jet energy resolution parameters for JUMP algorithm across eta bins |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
L1Trigger/Phase2L1ParticleFlow/data/met/l1met_ptphi2pxpy_poly2_v1.json
Outdated
Show resolved
Hide resolved
L1Trigger/Phase2L1ParticleFlow/interface/jetmet/L1PFMetEmulator.h
Outdated
Show resolved
Hide resolved
L1Trigger/Phase2L1ParticleFlow/interface/jetmet/L1PFJUMPEmulator.h
Outdated
Show resolved
Hide resolved
| class L1JUMPProducer : public edm::global::EDProducer<> { | ||
| /* | ||
| Producer for the JUMP Algorithm | ||
| JUMP: Jet Uncertainty-aware MET Prediction | ||
| - Approximate L1 Jet energy resolution by pT, eta value | ||
| - Apply the estimated resolution to MET | ||
| */ | ||
| public: | ||
| explicit L1JUMPProducer(const edm::ParameterSet&); | ||
| ~L1JUMPProducer() override; |
Copilot
AI
Dec 15, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The L1JUMPProducer class is missing a fillDescriptions static method declaration and implementation. This is a standard CMSSW pattern used by other producers in this directory to provide parameter descriptions for the framework. Add a static fillDescriptions method that describes the RawMET, L1PFJets, MinJetpT, MaxJetEta, and JERFile parameters.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@thesps A cfi file with the full parameter definitions already exists for this producer. Is fillDescriptions still required here, or is this mainly for consistency with other producers in this directory?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the fillDescriptions is required for the integration in master.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the comment. I've just updated it!
thesps
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR looks good to me, since it mostly just brings this fork up to date with central CMSSW. It's in good agreement with the corresponding correlator-common MR as well
thesps
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JunwonTomOh could you address the Copilot suggestions?
Co-authored-by: Copilot <[email protected]>
…_v1.json Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
…or.h Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
…or.h Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
…or.h Co-authored-by: Copilot <[email protected]>
PR description:
This PR includes the following updates:
correlator-common.CMSSW 15_1_Xuses `cms-data/V00-08-00, which does not include the L1 MET JSON files introduced in V00-09-00. These JSON files are temporarily added in this branch for testing purpose.PR validation:
FastPUPPI/eos/cms/store/cmst3/group/l1tr/FastPUPPI/15_1_X/fpinputs_140X/v1/TTToSemileptonic_TuneCP5_14TeV-powheg-pythia8/TTToSemileptonic_PU200_151Xv0/250919_144036/0000/code-checksandcode-format