Skip to content

Conversation

@missirol
Copy link
Contributor

@missirol missirol commented May 8, 2025

PR description:

This PR updates the kBMTF inputs in L1REPACK:Full, making use of the unpacked BMTF data rather than the re-emulated trigger primitives. This follows what is done here in customiseReEmul.L1TReEmulFromRAW. For more context, see #47925 (comment).

PR validation:

Used the simple example below with 2024 data to verify that, with this change, the re-emulated L1T decision of L1_SingleMu22_BMTF based on L1REPACK:Full agrees with the one in the RAW data (firmware). Without this PR, the same example shows a disagreement between the two.

In the example below, the Path L1TMonitorPath1 (L1TMonitorPath2) accepts events where L1_SingleMu22_BMTF fired in firmware (L1REPACK:Full). Tested in CMSSW_15_0_5.

#!/bin/bash

cmsDriver.py l1Ntuple -s L1REPACK:Full \
 --python_filename l1t_L1REPACK_Full_base.py --dump_python -n 1500 \
 --era Run3_2025 --data --conditions 150X_dataRun3_HLT_v1 \
 --filein /store/data/Run2024I/EphemeralHLTPhysics5/RAW/v1/000/386/593/00000/545e47b2-a41e-46d6-a9e3-8c6d26fb3ea1.root \
 --processName HLT2 --no_output --no_exec

cp l1t_L1REPACK_Full_base.py l1t_L1REPACK_Full.py

cat <<@EOF >> l1t_L1REPACK_Full.py

process.options.wantSummary = True

process.l1tGtStage2Digis1 = cms.EDProducer( "L1TRawToDigi",
    FedIds = cms.vint32( 1404 ),
    Setup = cms.string( "stage2::GTSetup" ),
    FWId = cms.uint32( 0 ),
    DmxFWId = cms.uint32( 0 ),
    FWOverride = cms.bool( False ),
    TMTCheck = cms.bool( True ),
    CTP7 = cms.untracked.bool( False ),
    MTF7 = cms.untracked.bool( False ),
    InputLabel = cms.InputTag( "rawDataCollector::@skipCurrentProcess" ),
    lenSlinkHeader = cms.untracked.int32( 8 ),
    lenSlinkTrailer = cms.untracked.int32( 8 ),
    lenAMCHeader = cms.untracked.int32( 8 ),
    lenAMCTrailer = cms.untracked.int32( 0 ),
    lenAMC13Header = cms.untracked.int32( 8 ),
    lenAMC13Trailer = cms.untracked.int32( 8 ),
    debug = cms.untracked.bool( False ),
    MinFeds = cms.uint32( 0 )
)

process.l1tMonitor1 = cms.EDFilter( "TriggerResultsFilter",
    usePathStatus = cms.bool( False ),
    hltResults = cms.InputTag( "" ),
    l1tResults = cms.InputTag( "l1tGtStage2Digis1" ),
    l1tIgnoreMaskAndPrescale = cms.bool( True ),
    throw = cms.bool( True ),
    triggerConditions = cms.vstring( 'L1_SingleMu22_BMTF' )
)

process.L1TMonitorPath1 = cms.Path(
    process.l1tGtStage2Digis1
  + process.l1tMonitor1
)

process.schedule.append( process.L1TMonitorPath1 )

process.l1tGtStage2Digis2 = process.l1tGtStage2Digis1.clone(
    InputLabel = "rawDataCollector::@currentProcess"
)

process.l1tMonitor2 = process.l1tMonitor1.clone(
    l1tResults = "l1tGtStage2Digis2"
)

process.L1TMonitorPath2 = cms.Path(
    process.rawDataCollector
  + process.l1tGtStage2Digis2
  + process.l1tMonitor2
)

process.schedule.append( process.L1TMonitorPath2 )
@EOF

cmsRun l1t_L1REPACK_Full.py &> l1t_L1REPACK_Full.log
grep MonitorPath l1t_L1REPACK_Full.log | head -2

Output pre-PR.

L1REPACK:Full,ENDJOB
entry /store/data/Run2024I/EphemeralHLTPhysics5/RAW/v1/000/386/593/00000/545e47b2-a41e-46d6-a9e3-8c6d26fb3ea1.root
Warning: The default GeometryRecoDB_cff is being used; however, the DB geometry is not applied. You may need to verify your cmsDriver.
Step: L1REPACK Spec: ['Full']
# L1T INFO:  L1REPACK:Full will unpack all L1T inputs, re-emulated (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.
Step: ENDJOB Spec: 
# L1T INFO:  L1REPACK:Full will unpack all L1T inputs, re-emulated (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.
Expanded config file l1t_L1REPACK_Full_base.py created
TrigReport     1    1       1500         23       1477          0 L1TMonitorPath1
TrigReport     1    2       1500          2       1498          0 L1TMonitorPath2

Output post-PR.

L1REPACK:Full,ENDJOB
entry /store/data/Run2024I/EphemeralHLTPhysics5/RAW/v1/000/386/593/00000/545e47b2-a41e-46d6-a9e3-8c6d26fb3ea1.root
Warning: The default GeometryRecoDB_cff is being used; however, the DB geometry is not applied. You may need to verify your cmsDriver.
Step: L1REPACK Spec: ['Full']
# L1T INFO:  L1REPACK:Full will unpack all L1T inputs, re-emulated (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.
Step: ENDJOB Spec: 
# L1T INFO:  L1REPACK:Full will unpack all L1T inputs, re-emulated (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.
Expanded config file l1t_L1REPACK_Full_base.py created
TrigReport     1    1       1500         23       1477          0 L1TMonitorPath1
TrigReport     1    2       1500         23       1477          0 L1TMonitorPath2

If this PR is a backport, please specify the original PR and why you need to backport that PR. If this PR will be backported, please specify to which release cycle the backport is meant for:

To be backported to 15_0_X for trigger studies.

@cmsbuild
Copy link
Contributor

cmsbuild commented May 8, 2025

cms-bot internal usage

@cmsbuild
Copy link
Contributor

cmsbuild commented May 8, 2025

@cmsbuild
Copy link
Contributor

cmsbuild commented May 8, 2025

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

It involves the following packages:

  • Configuration/StandardSequences (operations)

@antoniovilela, @cmsbuild, @davidlange6, @fabiocos, @mandrenguyen, @rappoccio can you please review it and eventually sign? Thanks.
@GiacomoSguazzoni, @Martin-Grunewald, @VinInn, @VourMa, @dgulhan, @fabiocos, @felicepantaleo, @makortel, @mmusich, @mtosi, @rovere, @sameasy, @slomeo this is something you requested to watch as well.
@antoniovilela, @mandrenguyen, @rappoccio, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@missirol
Copy link
Contributor Author

missirol commented May 8, 2025

@cms-sw/l1-l2 should probably be assigned as a reviewer of this PR.

@mmusich
Copy link
Contributor

mmusich commented May 8, 2025

assign l1

@cmsbuild
Copy link
Contributor

cmsbuild commented May 8, 2025

New categories assigned: l1

@BenjaminRS,@quinnanm you have been requested to review this Pull request/Issue and eventually sign? Thanks

@quinnanm
Copy link
Contributor

quinnanm commented May 9, 2025

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented May 9, 2025

-1

Failed Tests: UnitTests RelVals RelVals-INPUT AddOn
Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-d2c55b/46007/summary.html
COMMIT: a418ef1
CMSSW: CMSSW_15_1_X_2025-05-09-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/48045/46007/install.sh to create a dev area with all the needed externals and cmssw changes.

Unit Tests

I found 2 errors in the following unit tests:

---> test test_MC_22_crosscheck had ERRORS
---> test test_MC_23_crosscheck had ERRORS

RelVals

  • 135.4135.4_ZEEFS_13/step1_ZEEFS_13.log
  • 1306.01306.0_SingleMuPt1_UP15/step3_SingleMuPt1_UP15.log
  • 7.37.3_CosmicsSPLoose2018/step3_CosmicsSPLoose2018.log
Expand to see more relval errors ...

RelVals-INPUT

  • 2500.2322500.232_EGMNANOdata140Xrun3/step2_EGMNANOdata140Xrun3.log
  • 138.5138.5_ExpressCollisions2021/step2_ExpressCollisions2021.log
  • 138.4138.4_PromptCollisions2021/step2_PromptCollisions2021.log
Expand to see more relval errors ...

AddOn Tests

UNKNOWN
UNKNOWN
UNKNOWN
Expand to see more addon errors ...

@quinnanm
Copy link
Contributor

quinnanm commented May 9, 2025

Unit tests seem to be failing here due to some unrelated RECO issue - @mandrenguyen @antoniovilela any idea what could be causing this?

@makortel
Copy link
Contributor

makortel commented May 9, 2025

The IB is broken (as can be seein in the dashboard). Fix #48048 has already been merged.

@quinnanm
Copy link
Contributor

quinnanm commented May 9, 2025

please test with #48048

@cmsbuild
Copy link
Contributor

cmsbuild commented May 9, 2025

+1

Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-d2c55b/46013/summary.html
COMMIT: a418ef1
CMSSW: CMSSW_15_1_X_2025-05-09-1700/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/48045/46013/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 15 lines to the logs
  • Reco comparison results: 13 differences found in the comparisons
  • DQMHistoTests: Total files compared: 50
  • DQMHistoTests: Total histograms compared: 4038131
  • DQMHistoTests: Total failures: 16760
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 4021351
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 49 files compared)
  • Checked 215 log files, 184 edm output root files, 50 DQM output files
  • TriggerResults: found differences in 7 / 48 workflows

@quinnanm
Copy link
Contributor

+l1

@cmsbuild
Copy link
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, @antoniovilela, @rappoccio, @mandrenguyen (and backports should be raised in the release meeting by the corresponding L2)

@mandrenguyen
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 2ce5856 into cms-sw:master May 19, 2025
11 checks passed
@missirol missirol deleted the devel_L1REPACKFull_kBMTF branch November 22, 2025 10:23
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