Skip to content

TICL-barrel validation @ HLT#50588

Open
bfonta wants to merge 4 commits intocms-sw:masterfrom
bfonta:feature/hlt_ticl_barrel
Open

TICL-barrel validation @ HLT#50588
bfonta wants to merge 4 commits intocms-sw:masterfrom
bfonta:feature/hlt_ticl_barrel

Conversation

@bfonta
Copy link
Copy Markdown
Contributor

@bfonta bfonta commented Mar 30, 2026

PR description:

Enables the validation of TICL-barrel at HLT as introduced in #47859 for the offline reconstruction. Logically follows #48565. The HLT configuration is now using the same parameters as used for the offline clustering.
Results are stored under HLT/BarrelCalorimeters/BarrelValidator/.

Screenshot From 2026-03-30 16-19-51

This PR does not include a "validation of the validation": I checked if the plots were created and that most of them were not empty, but I did not try to assess the correctness of the results, nor did I attempted to optimize CLUE's configuration at HLT.

PR validation:

Tested with the 34434.77_TTbar_14TeV+Run4D121_NGTScouting workflow:

NEVENTS=100                                                                                                                                                                                                        
                                                                                                                                                                                                                   
cmsDriver.py TTbar_14TeV_TuneCP5_cfi  -s GEN,SIM -n ${NEVENTS} --conditions auto:phase2_realistic_T35 --beamspot DBrealisticHLLHC --datatier GEN-SIM --eventcontent FEVTDEBUG --geometry ExtendedRun4D121 --era \
Phase2C22I13M9 --relval 9000,100 --fileout file:step1.root                                                                                                                                                         
                                                                                                                                                                                                                   
cmsDriver.py step2  -s DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:NGTScouting,VALIDATION:@hltValidation --conditions auto:phase2_realistic_T35 --datatier GEN-SIM-DIGI-RAW,DQMIO -n ${NEVENTS} --even\
tcontent FEVTDEBUGHLT,DQMIO --geometry ExtendedRun4D121 --era Phase2C22I13M9 --procModifiers ngtScouting,ticl_barrel --customise SLHCUpgradeSimulations/Configuration/aging.customise_aging_1000 --filein  file:st\
ep1.root  --fileout file:step2.root                                                                                                                                                                                
                                                                                                                                                                                                                   
cmsDriver.py step3  -s HARVESTING:@hltValidation --conditions auto:phase2_realistic_T35 --mc  --geometry ExtendedRun4D121 --scenario pp --filetype DQM --era Phase2C22I13M9 --procModifiers ngtScouting,ticl_barre\
l -n ${NEVENTS} --filein file:step2_inDQM.root --fileout file:step3.root 

Note: The configuration of CLUE at HLT was set to match the configuration currently in place for the offline reconstruction, since the configuration so far had not been verified. The configuration at HLT can be optimized at a later time. To give an example, the kappa value used for the HCAL led to the almost full absence of clusters in HCAL

@bfonta
Copy link
Copy Markdown
Contributor Author

bfonta commented Mar 30, 2026

type ngt

@cmsbuild
Copy link
Copy Markdown
Contributor

cmsbuild commented Mar 30, 2026

cms-bot internal usage

@cmsbuild
Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-50588/48773

@cmsbuild
Copy link
Copy Markdown
Contributor

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

It involves the following packages:

  • Configuration/Applications (operations)
  • Configuration/StandardSequences (operations)
  • DataFormats/ParticleFlowReco (reconstruction)
  • HLTrigger/Configuration (hlt)
  • HLTriggerOffline/Common (dqm)
  • SimCalorimetry/HGCalAssociatorProducers (simulation)
  • Validation/Configuration (dqm, simulation)
  • Validation/HGCalValidation (dqm)

@Martin-Grunewald, @Moanwar, @civanch, @cmsbuild, @ctarricone, @davidlange6, @fabiocos, @ftenchini, @gabrielmscampos, @jfernan2, @kpedro88, @mandrenguyen, @mdhildreth, @mmusich, @nothingface0, @rseidita, @srimanob can you please review it and eventually sign? Thanks.
@GiacomoSguazzoni, @Martin-Grunewald, @SohamBhattacharya, @VinInn, @VourMa, @apsallid, @bsunanda, @cseez, @denizsun, @dgulhan, @elusian, @fabiocos, @felicepantaleo, @hatakeyamak, @lecriste, @lgray, @makortel, @missirol, @mmasciov, @mmusich, @mtosi, @pfs, @rovere, @salimcerci, @sameasy, @sethzenz, @slomeo, @vandreev11 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
Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-50588/48774

@cmsbuild
Copy link
Copy Markdown
Contributor

@mmusich
Copy link
Copy Markdown
Contributor

mmusich commented Mar 30, 2026

test parameters:

  • enable = hlt_p2_integration, hlt_p2_timing
  • workflows = ph2_hlt

@cmsbuild
Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-50588/48778

@cmsbuild
Copy link
Copy Markdown
Contributor

@mmusich
Copy link
Copy Markdown
Contributor

mmusich commented Mar 30, 2026

@cmsbuild, please test

@cmsbuild
Copy link
Copy Markdown
Contributor

+1

Size: This PR adds an extra 132KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-234605/52342/summary.html
COMMIT: bbc374d
CMSSW: CMSSW_16_1_X_2026-03-30-1100/el8_amd64_gcc13
Additional Tests: HLT_P2_INTEGRATION,HLT_P2_TIMING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/50588/52342/install.sh to create a dev area with all the needed externals and cmssw changes.

HLT P2 Timing: chart

Comparison Summary

Summary:

  • You potentially added 534 lines to the logs
  • Reco comparison results: 17 differences found in the comparisons
  • DQMHistoTests: Total files compared: 66
  • DQMHistoTests: Total histograms compared: 4568530
  • DQMHistoTests: Total failures: 138
  • DQMHistoTests: Total nulls: 3
  • DQMHistoTests: Total successes: 4568369
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 14500.458999999999 KiB( 65 files compared)
  • DQMHistoSizes: changed ( 34434.0,... ): 0.020 KiB MessageLogger/Errors
  • DQMHistoSizes: changed ( 34434.0,... ): 0.020 KiB MessageLogger/Warnings
  • DQMHistoSizes: changed ( 34496.0 ): 0.027 KiB MessageLogger/Warnings
  • DQMHistoSizes: changed ( 34434.758,... ): 7250.128 KiB HLT/BarrelCalorimeters
  • Checked 274 log files, 234 edm output root files, 66 DQM output files
  • TriggerResults: found differences in 18 / 64 workflows

# from Configuration.StandardSequences.Validation_cff import prevalidation
# ImportError: cannot import name 'prevalidation' from partially initialized module 'Configuration.StandardSequences.Validation_cff' (most likely due to a circular import) (/shared/CMSSW_15_1_X_2025-07-16-2300/src/Configuration/StandardSequences/python/Validation_cff.py)
hltprevalidation = cms.Sequence( cms.SequencePlaceholder("mix") * globalPrevalidation * hltassociation * metPreValidSeq * jetPreValidSeq )
phase2_common.toReplaceWith(hltprevalidation, hltprevalidation.copyAndExclude([cms.SequencePlaceholder("mix"),globalPrevalidation,metPreValidSeq,jetPreValidSeq]))
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.

why do we need this back and forth?
Basicaly hltprevalidation == hltassociation no?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, but only when we are running a Phase-2 workflow. I'm mimicking the approach used in Configuration/StandardSequences/python/Validation_cff.py here for prevalidation.

@civanch
Copy link
Copy Markdown
Contributor

civanch commented Mar 31, 2026

+simulation

@@ -4,7 +4,7 @@
recHits = cms.InputTag("hltParticleFlowRecHitECALL1Seeded"),
plugin = cms.PSet(
outlierDeltaFactor = cms.double(2.7 * 0.0175),
kappa = cms.double(3.5),
kappa = cms.double(1),
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.

Just checking, were those numbers, and also the ones later in hltBarrelLayerClustersHB_cfi.py, changed intentionally? If so, maybe a brief note in the description would be helpful.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

After chatting with @brusale, we realized that those numbers had not been verified at HLT. I am thus using the numbers currently used at offline; they can be optimized at a later time, and specifically for HLT. To give an example, the kappa value used for the HCAL led to the almost full absence of clusters in HCAL.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I've added a note in the description.

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