-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Description
Dear @cms-sw/core-l2 ,
the scouting DQM currently runs only at T0 in the ScoutingPFMonitor dataset, which contains the scouting objects in all events.
I would like to run the scouting DQM in the Run-3 RelVals.
The problem is that in RelVals we might not have scouting objects in all events and this causes a crash:
cmsRun onlyJMEDQM_DQM.py
12-Nov-2025 15:05:48 CET Initiating request to open file file:step2.root
12-Nov-2025 15:05:51 CET Successfully opened file file:step2.root
Begin processing the 1st record. Run 391668, Event 93152, LumiSection 1 on stream 0 at 12-Nov-2025 15:05:54.819 CET
----- Begin Fatal Exception 12-Nov-2025 15:05:54 CET-----------------------
An exception of category 'ProductNotFound' occurred while
[0] Processing Event run: 391668 lumi: 1 event: 93152 stream: 0
[1] Running path 'dqmoffline_step'
[2] Prefetching for module JetAnalyzer/'jetDQMAnalyzerAk4ScoutingUncleaned'
[3] Prefetching for module ChainedJetCorrectorProducer/'ak4PFScoutingL1FastL2L3ResidualCorrector'
[4] Calling method for module L1FastjetCorrectorProducer/'ak4PFScoutingL1FastjetCorrector'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for type: double
Looking for module label: hltScoutingPFPacker
Looking for productInstanceName: rho
Additional Info:
[a] If you wish to continue processing events after a ProductNotFound exception,
add "TryToContinue = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.
----- End Fatal Exception -------------------------------------------------
12-Nov-2025 15:05:54 CET Closed file file:step2.root
The cause of this crash is that jetDQMAnalyzerAk4ScoutingUncleaned (JetAnalyzer) consumes
ak4PFScoutingL1FastL2L3ResidualCorrector (ChainedJetCorrectorProducer) that consumes
ak4PFScoutingL1FastjetCorrector (L1FastjetCorrectorProducer) that consumes
hltScoutingPFPacker rho
I tried to replace all consumes with mayConsume, but I'm still getting the error in the prefetching.
The desired behaviour is to have no prefetching for module with mayConsume to avoid the crash.
In this way we can avoid to run getByToken if the scouting objects is missing (here the code would be already ok).
I copied here a simplified configuration that you can use to reproduce the error in CMSSW_16_0_0_pre2.
From SWGuideEDMGetDataFromEvent I read
NOTE: At this time mayConsume() is functionally equivalent to consumes(). Properly functioning "may consume" would require further development and a slightly different API.
so I don't know if this is a planned feature that is not ready yet, or if it is something new.
Thank you,
Silvio.
fyi @cms-sw/hlt-l2 @patinkaew