Skip to content

Phase2 L1T: Correlator development for AR2026#51093

Open
cerminar wants to merge 2 commits into
cms-sw:masterfrom
cerminar:L1PF_17_0_X_dev
Open

Phase2 L1T: Correlator development for AR2026#51093
cerminar wants to merge 2 commits into
cms-sw:masterfrom
cerminar:L1PF_17_0_X_dev

Conversation

@cerminar

Copy link
Copy Markdown
Contributor

PR description:

Port recent Correlator development to master.

For now:

PR validation:

Ongoing...

henripetrow and others added 2 commits May 29, 2026 11:25
* Added nprong score to DataFormats.

* Added L1TSC82ProngJet to DPGAnalysis.

* Added L1TSC82ProngJetModel to L1Trigger/Phase2L1ParticleFlow

* Fix for nprong tag.

* Cleaned includes.

* File renamed.

* Removed comment from addPh2GTObjects(process)

* fixes.

* Reverted changes.

* Removed cuts..

* Update L1Trigger/Phase2L1ParticleFlow/src/L1TSC82ProngJetID.cc

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update L1Trigger/Phase2L1ParticleFlow/plugins/L1TSC82ProngJetModelProducer.cc

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update DataFormats/L1TParticleFlow/src/jets.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* added values for minPt and maxEta.

* Added std headers.

* Added a check for fNParticles.

* Update L1Trigger/Phase2L1ParticleFlow/python/l1pfJetMet_cff.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply CMSSW code-format

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@cmsbuild

cmsbuild commented May 29, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@cmsbuild

Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-51093/49576

@cerminar cerminar marked this pull request as ready for review June 1, 2026 13:51
@quinnanm

quinnanm commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

please test

@cmsbuild

cmsbuild commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

A new Pull Request was created by @cerminar for master.

It involves the following packages:

  • DPGAnalysis/Phase2L1TNanoAOD (l1, xpog)
  • DataFormats/L1TParticleFlow (l1)
  • L1Trigger/Phase2L1ParticleFlow (l1)

@BenjaminRS, @battibass, @ftorrresd, @quinnanm can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @missirol, @mmusich, @rovere this is something you requested to watch as well.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@cmsbuild

cmsbuild commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

-1

Failed Tests: RelVals
Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-f83587/53637/summary.html
COMMIT: 8f89e86
CMSSW: CMSSW_17_0_X_2026-06-01-2300/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/51093/53637/install.sh to create a dev area with all the needed externals and cmssw changes.

Failed RelVals

----- Begin Fatal Exception 02-Jun-2026 04:02:26 CEST-----------------------
An exception of category 'ProductNotFound' occurred while
   [0] Processing  Event run: 1 lumi: 1 event: 1 stream: 0
   [1] Running path 'HLTriggerFinalPath'
   [2] Prefetching for module TriggerSummaryProducerAOD/'hltTriggerSummaryAOD'
   [3] Calling method for module L1TCtL2EgProducer/'l1tLayer2EGElliptic'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for type: l1t::RegionalOutput<std::vector<l1t::TkElectron> >
Looking for module label: l1tLayer1BarrelElliptic
Looking for productInstanceName: L1TkElePerBoard

   Additional Info:
      [a] If you wish to continue processing events after a ProductNotFound exception,
add "TryToContinue = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.

----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 02-Jun-2026 03:53:38 CEST-----------------------
An exception of category 'ProductNotFound' occurred while
   [0] Processing  Event run: 1 lumi: 1 event: 1 stream: 0
   [1] Running path 'HLTriggerFinalPath'
   [2] Prefetching for module TriggerSummaryProducerAOD/'hltTriggerSummaryAOD'
   [3] Calling method for module L1TCtL2EgProducer/'l1tLayer2EGElliptic'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for type: l1t::RegionalOutput<std::vector<l1t::TkElectron> >
Looking for module label: l1tLayer1BarrelElliptic
Looking for productInstanceName: L1TkElePerBoard

   Additional Info:
      [a] If you wish to continue processing events after a ProductNotFound exception,
add "TryToContinue = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.

----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 02-Jun-2026 03:54:03 CEST-----------------------
An exception of category 'ProductNotFound' occurred while
   [0] Processing  Event run: 1 lumi: 1 event: 1 stream: 0
   [1] Running path 'HLTriggerFinalPath'
   [2] Prefetching for module TriggerSummaryProducerAOD/'hltTriggerSummaryAOD'
   [3] Calling method for module L1TCtL2EgProducer/'l1tLayer2EGElliptic'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for type: l1t::RegionalOutput<std::vector<l1t::TkElectron> >
Looking for module label: l1tLayer1BarrelElliptic
Looking for productInstanceName: L1TkElePerBoard

   Additional Info:
      [a] If you wish to continue processing events after a ProductNotFound exception,
add "TryToContinue = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.

----- End Fatal Exception -------------------------------------------------
Expand to see more relval errors ...

@cmsbuild

cmsbuild commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Milestone for this pull request has been moved to CMSSW_20_0_X. Please open a backport if it should also go in to CMSSW_17_0_X.

@cmsbuild cmsbuild modified the milestones: CMSSW_17_0_X, CMSSW_20_0_X Jun 5, 2026
@makortel

makortel commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

(I assume this PR does not need a backport to 17_0_X (Run 3 legacy))

@cerminar

cerminar commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

(I assume this PR does not need a backport to 17_0_X (Run 3 legacy))

I am actually not sure: @quinnanm @BenjaminRS what is the release we target for the AR2026 studies?
Cheers!

@BenjaminRS

Copy link
Copy Markdown
Contributor

Hi Matti and Gianluca - we will have this Phase 2 PR just going to 20_1_X.

@quinnanm quinnanm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this PR! Just a few minor comments/questions

fIs_filled_.get()[i0] = 1;

float massCand = 0.13f;
if (abs(iParts[i0]->charge())) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be std::abs

}
}

std::vector<float> L1TSC82ProngJetID::EvaluateNNFixed() {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is defined as a vector but returns a single float value, probably to be consistent with similar definitions?

Comment on lines +55 to +56
const unsigned int NInputs = 160;
const unsigned int FeaturesPerParticle = 20;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should these be constexpr members of the class defined in the header? this may avoid magic numbers and add clarity to setNNVectorVar

@@ -0,0 +1,45 @@
#ifndef L1TRIGGER_PHASE2L1PARTICLEFLOWS_L1TSC82ProngJetID_H
#define L1TRIGGER_PHASE2L1PARTICLEFLOWS_L1TSC82ProngJetID_H

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should L1TSC82ProngJetID be uppercase?

Comment on lines +19 to +20
void setNNVectorVar();
std::vector<float> EvaluateNNFixed();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could these be const?

float massCand = 0.13f;
if (abs(iParts[i0]->charge())) {
if ((iParts[i0]->id() == l1t::PFCandidate::Muon)) {
massCand = 0.105;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you add a comment adding context to this number?

if ((iParts[i0]->id() == l1t::PFCandidate::Muon)) {
massCand = 0.105;
} else if ((iParts[i0]->id() == l1t::PFCandidate::Electron)) {
massCand = 0.005;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

likewise here: could you add a comment adding context to this number? likewise on L140 and L132

#include "ap_fixed.h"
#include "hls4ml/emulator.h"

using namespace l1t;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you use l1t::name rather than using namespace l1t?

@cmsbuild

cmsbuild commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Milestone for this pull request has been moved to CMSSW_20_1_X. Please open a backport if it should also go in to CMSSW_20_0_X.

@cmsbuild cmsbuild modified the milestones: CMSSW_20_0_X, CMSSW_20_1_X Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants