Skip to content

Updates L1T OMTF for Phase 2#50032

Merged
cmsbuild merged 16 commits into
cms-sw:masterfrom
mbluj:CMSSW_16_0_X_OMTF-KB_v1
Jul 1, 2026
Merged

Updates L1T OMTF for Phase 2#50032
cmsbuild merged 16 commits into
cms-sw:masterfrom
mbluj:CMSSW_16_0_X_OMTF-KB_v1

Conversation

@mbluj

@mbluj mbluj commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

PR description:

This PR introduces recent (as for beginning of 2026) changes in the L1T OMTF emulator for Phase2:

  • Algorithm adapted to the latest DT TPs;
  • Output candidates are returned as SAMuons (Phase 2 data format):
    • Conversion to the Phase 2 scales is implemented;
    • Some code refactoring was needed: an internal class FinalMuon was introduced that stores the candidate parameters in the output format. It can be either Phase 1 or Phase 2 scales. Then it is converted to RegionalMuonCands (Phase 1) or SAMuons (Phase 2);
  • Improvements and refactoring of CandidateSimMuonMatcher and DataROOTDumper2 used for developments and validations.

In addition the PR contains a fix of bugs found in DTTriggerPhase2 which are already included in #49589, but as it is not merged yet added here for self-consistency.

Details in this JIRA ticket and K. Bunkowski's presentation here.

This PR requires updated configuration files provided in cms-data/L1Trigger-L1TMuon#29.

PR validation:

Validated with Phase 2 workflows, e.g. 23634.0.

FYI, @akalinow, @kbunkow

@cmsbuild

cmsbuild commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@cmsbuild

cmsbuild commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-50032/47864

@cmsbuild

cmsbuild commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

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

It involves the following packages:

  • L1Trigger/DTTriggerPhase2 (l1)
  • L1Trigger/L1TMuonOverlapPhase1 (l1)
  • L1Trigger/L1TMuonOverlapPhase2 (l1)

@BenjaminRS, @cmsbuild, @quinnanm can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @battibass, @dinyar, @eyigitba, @missirol, @mmusich, @thomreis 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

@quinnanm

quinnanm commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

please test

@cmsbuild

cmsbuild commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

-1

Failed Tests: ClangBuild
Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-e571da/51110/summary.html
COMMIT: 255348b
CMSSW: CMSSW_16_1_X_2026-02-04-1100/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/50032/51110/install.sh to create a dev area with all the needed externals and cmssw changes.

Failed Clang Build

I found compilation warning while trying to compile with clang. Command used:

USER_CUDA_FLAGS='--expt-relaxed-constexpr' USER_CXXFLAGS='-Wno-register -fsyntax-only' /usr/bin/time -v scram build -k -j 32 COMPILER='llvm compile'

See details on the summary page.

@mbluj

mbluj commented Feb 5, 2026

Copy link
Copy Markdown
Contributor Author

Fixed issue found in tests with clang.

@cmsbuild

cmsbuild commented Feb 5, 2026

Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-50032/47899

@cmsbuild

cmsbuild commented Feb 5, 2026

Copy link
Copy Markdown
Contributor

Pull request #50032 was updated. @BenjaminRS, @cmsbuild, @quinnanm can you please check and sign again.

@mbluj

mbluj commented Feb 5, 2026

Copy link
Copy Markdown
Contributor Author

Please test this PR with cms-data/L1Trigger-L1TMuon#29.

@mbluj

mbluj commented Feb 9, 2026

Copy link
Copy Markdown
Contributor Author

I'd like to ask to start tests and eventually the review, thank you.

mbluj and others added 6 commits June 22, 2026 13:08
The bug has had no impact as it was part of the final, redundant condition in an "else if" statement
e.g. better use of const, cout=>MessageLogs, additional comments, etc.
OMTFProcessor.cc and OmtfProcessorPhase2.cc
Fixing the condition to assign minimum pT (0 or 1 GeV) for the muons
that have only unconstrained pt valid. Checking getFiredLayerCntConstr
was missing.

updating runMuonOverlap_run3_mc.py and runMuonOverlap.py
RegionalMuonCandBxCollection is no longer produced by
L1TMuonOverlapPhase2TrackProducer, RegionalMuonCand are not created by
the OmtfEmulation. Only SAMuonCollection (OMTFconstr and OMTFunconstr)
are produced now.

L1Trigger/Phase2L1GMT/plugins/Phase2L1TGMTFwdMuonTranslator.cc was
modified to avoid using RegionalMuonCand and instead use SAMuon from
OMTF.

L1Trigger/L1TMuonOverlapPhase1/src/Omtf/OMTFConfiguration.cc: fix in
procPhiOmtfToGlobalPhiOmtf
@mbluj

mbluj commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

The PR was updated implementing review comments and rebased to a newer IB of 21 June.

@cmsbuild

Copy link
Copy Markdown
Contributor

@cmsbuild

Copy link
Copy Markdown
Contributor

Pull request #50032 was updated. @BenjaminRS, @cmsbuild, @quinnanm can you please check and sign again.

@BenjaminRS

Copy link
Copy Markdown
Contributor

please test

@cmsbuild

Copy link
Copy Markdown
Contributor

+1

Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-e571da/54304/summary.html
COMMIT: 6e361a2
CMSSW: CMSSW_20_1_X_2026-06-25-2300/el9_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/50032/54304/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-e571da/54304/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-e571da/54304/git-merge-result

Comparison Summary

Summary:

  • You potentially added 6 lines to the logs
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 46
  • DQMHistoTests: Total histograms compared: 3561929
  • DQMHistoTests: Total failures: 20
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3561891
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 45 files compared)
  • Checked 200 log files, 167 edm output root files, 46 DQM output files
  • TriggerResults: no differences found

Max Memory Comparisons exceeding threshold

@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold:

Expand to see workflows ...
  • Error: Workflow 2025.0010001_RunJetMET02025C_10k step2 max memory diff -33.7 exceeds +/- 30.0 MiB

@BenjaminRS BenjaminRS 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.

I think we can approve this PR as is. But we would like a further PR to tidy up the code a bit more

#'/store/express/Commissioning2021/ExpressCosmics/FEVT/Express-v1/000/344/266/00000/db2cfbdd-5edf-4ee4-aab0-5bdba105728d.root' #DT and RPC fw 0x0008
#'/store/express/Commissioning2021/ExpressCosmics/FEVT/Express-v1/000/344/566/00000/19ef107a-4cd9-4df0-ba93-dbfbab8df1cb.root'
#'/store/express/Commissioning2021/ExpressCosmics/FEVT/Express-v1/000/347/053/00000/7b486245-96ea-4b7c-9fe7-76c957968785.root' #RPC noise only
'file:/eos/home-k/kbunkow/cms_data/run3_data/Run2025G_398240_Muon0_raw.root'

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.

I think we can leave it for now, but better to have these sort of files in some central EOS/L1T area

Comment on lines 84 to 87
#process.load('Configuration.StandardSequences.RawToDigi_Data_cff')
#process.load('EventFilter.L1TRawToDigi.omtfStage2Digis_cfi') #unpacker

#process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')

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.

In a future PR can we clear up the commented out code please?

Comment thread L1Trigger/L1TMuonOverlapPhase1/src/Omtf/OmtfAngleConverter.cc
Comment thread L1Trigger/L1TMuonOverlapPhase1/src/Omtf/OmtfAngleConverter.cc
Comment thread L1Trigger/L1TMuonOverlapPhase1/src/Omtf/OmtfAngleConverter.cc
#process.load('Configuration.EventContent.EventContent_cff')
#process.load('SimGeneral.MixingModule.mixNoPU_cfi')
process.load('Configuration.Geometry.GeometryExtendedRun4D95Reco_cff')
process.load('Configuration.Geometry.GeometryExtendedRun4D110Reco_cff')

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.

Geometries should be D121 now

#process.load('Configuration.EventContent.EventContent_cff')
#process.load('SimGeneral.MixingModule.mixNoPU_cfi')
process.load('Configuration.Geometry.GeometryExtendedRun4D95Reco_cff')
process.load('Configuration.Geometry.GeometryExtendedRun4D110Reco_cff')

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.

D121

Comment on lines +102 to +103
{"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_04_04_2023/SingleMu_ch0_iPt2_12_5_2_p1_04_04_2023/", "fileCnt" : 500}, #500 files
{"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_04_04_2023/SingleMu_ch2_iPt2_12_5_2_p1_04_04_2023/", "fileCnt" : 500}, #500 files

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.

Better to use a L1T/Muon EOS space

#process.load('FWCore.MessageService.MessageLogger_cfi')
#process.load('Configuration.EventContent.EventContent_cff')
#process.load('SimGeneral.MixingModule.mixNoPU_cfi')
process.load('Configuration.Geometry.GeometryExtendedRun4D110Reco_cff')

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.

D121

Comment thread L1Trigger/L1TMuonOverlapPhase1/src/Tools/CandidateSimMuonMatcher.cc
@BenjaminRS

Copy link
Copy Markdown
Contributor

+l1

@cmsbuild

Copy link
Copy Markdown
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @mandrenguyen, @ftenchini, @sextonkennedy (and backports should be raised in the release meeting by the corresponding L2)
Notice This PR was tested with additional Pull Request(s), please also merge them if necessary: cms-data/L1Trigger-L1TMuon#29

@mbluj

mbluj commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Thank you @BenjaminRS.
Should we quickly fix overlooked typo outptu -> output and the D110 to D121 geometry in test python configs?

@BenjaminRS

Copy link
Copy Markdown
Contributor

@mbluj - I think you can do this in a follow up PR. For the Geometries, did you choose those due to a specific file you were using that was e.g. created with D110?

@mbluj

mbluj commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

@mbluj - I think you can do this in a follow up PR. For the Geometries, did you choose those due to a specific file you were using that was e.g. created with D110?

I would push these "cosmetic" changes here, but fine if you prefer to include them to a bigger cleaning PR. Anyway, I will fix the typo in the 170X backport PR.

As for geometry: the one used was recommended when the files were created in a private development area, but OMTF output is almost insensitive on this. Updating to the current default makes sense.

@BenjaminRS

Copy link
Copy Markdown
Contributor

OK - lets just quickly change here then and we can re-test and sign today

@cmsbuild

Copy link
Copy Markdown
Contributor

@cmsbuild

Copy link
Copy Markdown
Contributor

Pull request #50032 was updated. @BenjaminRS, @cmsbuild, @quinnanm can you please check and sign again.

@BenjaminRS

Copy link
Copy Markdown
Contributor

please test

@cmsbuild

Copy link
Copy Markdown
Contributor

+1

Size: This PR adds an extra 32KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-e571da/54410/summary.html
COMMIT: a001c62
CMSSW: CMSSW_20_1_X_2026-06-30-1100/el9_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/50032/54410/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 9 lines to the logs
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 46
  • DQMHistoTests: Total histograms compared: 3561929
  • DQMHistoTests: Total failures: 44
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3561867
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 45 files compared)
  • Checked 200 log files, 167 edm output root files, 46 DQM output files
  • TriggerResults: no differences found

Max Memory Comparisons exceeding threshold

@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold:

Expand to see workflows ...
  • Error: Workflow 2025.0010001_RunJetMET02025C_10k step2 max memory diff -33.7 exceeds +/- 30.0 MiB

@BenjaminRS

Copy link
Copy Markdown
Contributor

+l1

@cmsbuild

Copy link
Copy Markdown
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @ftenchini, @mandrenguyen (and backports should be raised in the release meeting by the corresponding L2)
Notice This PR was tested with additional Pull Request(s), please also merge them if necessary: cms-data/L1Trigger-L1TMuon#29

@ftenchini

Copy link
Copy Markdown
Contributor

+1

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.

8 participants