Skip to content

Implement MIP Timing Detector reconstruction sequence for Phase-2 HLT - #51170

Merged
cmsbuild merged 7 commits into
cms-sw:masterfrom
cms-ngt-hlt:mm_mtd_at_HLT
Jun 15, 2026
Merged

Implement MIP Timing Detector reconstruction sequence for Phase-2 HLT #51170
cmsbuild merged 7 commits into
cms-sw:masterfrom
cms-ngt-hlt:mm_mtd_at_HLT

Conversation

@mmusich

@mmusich mmusich commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

PR description:

The goal of this PR is provide the configuration to run the MTD reconstruction (from local reconstruction down to 4D vertexing with mass hypothesis) in the Phase-2 HLT. The configuration parameters are taken from the respective offline sequences.
Such setup can be enabled by using the novel mtd_at_hlt process modifier and it is not active by default.
This development is purely meant to help POG developers when willing to use MTD information at HLT.
To this effect I provide a new runTheMatrix workflow (with offset .7522) in order to be able to test it. The workflow is for convenience included in the ph2_hlt relval matrix.
Together with the HLT configuration I also enable basic 4D vertexing validation (together the minimal changes needed to make it run together with the HLT step). Some configuration is provided to be able to run also the MTDTrackValidation but more work is needed to enable in workflows it in order to protect failures upon missing input (that might happen in the HLT as we don't run the same reconstruction on all the events).

PR validation:

I've run successfully the new workflow runTheMatrix.py -l 34434.7522 -t 4 -j 8 and observed in the resulting DQM file the expected plots for the 4D vertices.
I also benchmarked this configuration using a NGT node equipped with 2x AMD EPYC 9534 64-Core Processor + 4x NVIDIA L40S GPUs using 16 jobs with 16 threads/streams each by using the following script:

#! /bin/bash                                                                                                                                                                                               
LOCALPATH='/cms-hlt-nfs/data/relValTTbar_200PU/CMSSW_16_0_0_pre1'
echo "Input source: |${LOCALPATH}|"
LOCALFILES=$(ls -1 ${LOCALPATH})
ALL_FILES=""
for f in ${LOCALFILES[@]}; do
    ALL_FILES+="file:${LOCALPATH}/${f},"
done
# Remove the last character                                                                                                                                               
ALL_FILES="${ALL_FILES%?}"
echo "Discovered files: $ALL_FILES"

### Timing menu, current status
cmsDriver.py Phase2 -s L1P2GT,HLT:75e33_timing \
             --processName=HLTX \
             --conditions auto:phase2_realistic_T35 \
             --geometry ExtendedRun4D110 \
             --era Phase2C17I13M9 \
             --customise SLHCUpgradeSimulations/Configuration/aging.customise_aging_1000 \
             --eventcontent FEVTDEBUGHLT \
             --filein=$ALL_FILES \
             --mc \
             --inputCommands="keep *, drop *_hlt*_*_HLT, drop triggerTriggerFilterObjectWithRefs_l1t*_*_HLT" \
             -n -1 \
             --no_exec \
             --output={} \
             --python_filename HLTTimingCurrent_config.py

### Timing menu with MTD
cmsDriver.py Phase2 -s L1P2GT,HLT:75e33_timing \
             --processName=HLTX \
             --conditions auto:phase2_realistic_T35 \
             --geometry ExtendedRun4D110 \
             --era Phase2C17I13M9 \
             --procModifiers mtd_at_hlt  \
             --customise SLHCUpgradeSimulations/Configuration/aging.customise_aging_1000 \
             --eventcontent FEVTDEBUGHLT \
             --filein=$ALL_FILES \
             --mc \
             --inputCommands="keep *, drop *_hlt*_*_HLT, drop triggerTriggerFilterObjectWithRefs_l1t*_*_HLT" \
             -n -1 \
             --no_exec \
             --output={} \
             --python_filename HLTTimingMTDReco_config.py

The resulting pies are available here:

Vanilla Ph2 Timing menu link to pie Ph2 Timing menu w/ MTD link to pie
image image

The overall cost of the addition is definitely not negligible +536 ms, out of which:

  • ~315 ms are coming from the MTD reconstruction sequence (unassigned in the plots above), with hltTrackExtenderWithMTD being the largest contributor.
  • ~153 ms are coming from the vertexing (131ms of hltUnsortedOfflinePrimaryVertices4D)
image

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:

Not a backport, it might be backported to CMSSW_20_0_X for MC production purposes.

Cc: @cms-sw/mtd-dpg-l2

@cmsbuild

cmsbuild commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@cmsbuild

cmsbuild commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-51170/49689

@cmsbuild

cmsbuild commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

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

It involves the following packages:

  • Configuration/ProcessModifiers (operations)
  • Configuration/PyReleaseValidation (pdmv)
  • HLTrigger/Configuration (hlt)
  • HLTriggerOffline/Common (dqm)
  • Validation/MtdValidation (dqm)

@AdrianoDee, @DickyChant, @Martin-Grunewald, @antoniovagnerini, @cmsbuild, @ctarricone, @davidlange6, @fabiocos, @ftenchini, @gabrielmscampos, @kfjack, @mandrenguyen, @miquork, @mmusich, @rseidita, @sroychow can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @ReyerBand, @SohamBhattacharya, @VourMa, @argiro, @fabiocos, @makortel, @martinamalberti, @missirol, @mtosi, @rchatter, @rovere, @slomeo, @thomreis, @wang0jin 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

@mmusich

mmusich commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

test parameters:

  • workflows = ph2_hlt

@mmusich

mmusich commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

@cmsbuild, please test

@cmsbuild

cmsbuild commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

+1

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

Comparison Summary

Summary:

  • You potentially added 2 lines to the logs
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 57
  • DQMHistoTests: Total histograms compared: 3647546
  • DQMHistoTests: Total failures: 0
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3647528
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 56 files compared)
  • Checked 242 log files, 197 edm output root files, 57 DQM output files

@mmusich

mmusich commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

test parameters:

  • enable = hlt_p2_integration
  • workflows = ph2_hlt

@mmusich

mmusich commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

@cmsbuild, please test

@cmsbuild

Copy link
Copy Markdown
Contributor

+1

Size: This PR adds an extra 168KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b399f2/53916/summary.html
COMMIT: 3b6d70d
CMSSW: CMSSW_20_1_X_2026-06-12-1100/el9_amd64_gcc13
Additional Tests: HLT_P2_INTEGRATION
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/51170/53916/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 2 lines to the logs
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 57
  • DQMHistoTests: Total histograms compared: 3688981
  • DQMHistoTests: Total failures: 0
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3688963
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 56 files compared)
  • Checked 242 log files, 197 edm output root files, 57 DQM output files

@AdrianoDee

Copy link
Copy Markdown
Contributor

+pdmv

@gabrielmscampos

Copy link
Copy Markdown
Member

+dqm

@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)

@mandrenguyen

Copy link
Copy Markdown
Contributor

+1

@cmsbuild
cmsbuild merged commit 5ac3bf7 into cms-sw:master Jun 15, 2026
12 checks passed
@mmusich

mmusich commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

type ngt

@mmusich
mmusich deleted the mm_mtd_at_HLT branch June 15, 2026 08:55
@cmsbuild cmsbuild added the ngt label Jun 15, 2026
fwyzard pushed a commit to fwyzard/circles that referenced this pull request Jun 27, 2026
- Introduce MTD reconstruction modules at HLT
(cms-sw/cmssw#51170)
- add missed `alpaka_serial_synch` OT CA extension modules in groups as
well as in the packages (cms-sw/cmssw#48921)
- add SiStripClusters2ApproxClusters missed in PR #74
NJManganelli pushed a commit to NJManganelli/cmssw that referenced this pull request Jul 25, 2026
Implement MIP Timing Detector reconstruction sequence for Phase-2 HLT
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.

5 participants