Skip to content

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

Open
mmusich wants to merge 7 commits into
cms-sw:masterfrom
cms-ngt-hlt:mm_mtd_at_HLT
Open

Implement MIP Timing Detector reconstruction sequence for Phase-2 HLT #51170
mmusich wants to merge 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

+code-checks

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

@cmsbuild

Copy link
Copy Markdown
Contributor

@mmusich

mmusich commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

@cmsbuild, please test

@cmsbuild

Copy link
Copy Markdown
Contributor

+1

Size: This PR adds an extra 172KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b399f2/53855/summary.html
COMMIT: 3a2677e
CMSSW: CMSSW_20_1_X_2026-06-10-2300/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/53855/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 11 differences found in the comparisons
  • DQMHistoTests: Total files compared: 57
  • DQMHistoTests: Total histograms compared: 3688981
  • DQMHistoTests: Total failures: 408
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3688555
  • 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 11, 2026

Copy link
Copy Markdown
Contributor Author

+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.

2 participants