-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Old L1T tags consumed in DQM modules #37016
Comments
assign dqm |
New categories assigned: dqm @jfernan2,@ahmad3213,@rvenditti,@emanueleusai,@pbo0,@pmandrik you have been requested to review this Pull request/Issue and eventually sign? Thanks |
A new Issue was created by @tvami Tamas Vami. @Dr15Jones, @perrotta, @dpiparo, @makortel, @smuzaffar, @qliphy can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
Hi @cms-sw/dqm-l2 friends, |
This PR #36986 might be helpful in how to handle the situation (that was for a different record) |
@tvami cmssw/CondFormats/DataRecord/interface/L1GtTriggerMenuRcd.h Lines 32 to 36 in 95eed0c
and that in turn is consumed in cmssw/CommonTools/TriggerUtils/src/GenericTriggerEventFlag.cc Lines 135 to 137 in 81ade48
and this object is finally constructed in cmssw/DQM/SiStripMonitorCluster/src/SiStripMonitorCluster.cc Lines 63 to 68 in 95eed0c
In summary, if you want to loose the dependency on that record, you should not ask the DQM people, but rather either the HLT (as responsibles of |
Hi @mmusich thanks a lot for looking into this. I see that https://github.com/cms-sw/cmssw/blob/master/DQM/SiStripMonitorClient/python/pset4GenericTriggerEventFlag_cfi.py doesnt have the stage2 boolean on true (and the default is false), so I guess that's the cause of the problem. |
assign hlt |
unassign dqm |
New categories assigned: hlt @missirol,@Martin-Grunewald you have been requested to review this Pull request/Issue and eventually sign? Thanks |
right, probably one just needs to change here (and everywhere else that objected is used) the default for stage2 using the process modifier. |
Hi @missirol can you make this modification that if the stage-2 era is used then
is set to true? I think it's better to do this at the source here instead of each single module that's using this flag, do you agree? |
Based on https://github.com/cms-sw/cmssw/pull/28592/files#r358835228 , my understanding is that the default value of
I would follow this approach, and if i understand Marco's comment, this means changing the python configuration of all the relevant DQM modules with the relevant modifier (that code is mostly under DQM, I think). |
I was not suggesting to modify the cc code, I was suggesting to have a cff file that changes
Do you think that's a possible solution? |
Yes, sure. The problem is that I don't see a central |
@tvami cmssw/DQM/SiStripMonitorClient/python/SiStripSourceConfigTier0_cff.py Lines 71 to 79 in 69c0b83
I guess one just needs to adjust the other ones... |
Here is what we've been using
Sorry it's in 121X, the whole cleaning started back then... |
OK. diff --git a/DQM/SiStripMonitorClient/python/SiStripSourceConfigTier0_cff.py b/DQM/SiStripMonitorClient/python/SiStripSourceConfigTier0_cff.py
index 2e7fd85237c..6cfd463b334 100644
--- a/DQM/SiStripMonitorClient/python/SiStripSourceConfigTier0_cff.py
+++ b/DQM/SiStripMonitorClient/python/SiStripSourceConfigTier0_cff.py
@@ -75,7 +75,9 @@ stage2L1Trigger.toModify(SiStripMonitorClusterBPTX,
l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
ReadPrescalesFromFile = cms.bool(True)
- )
+ ),
+ PixelDCSfilter = dict(stage2 = cms.bool(True)),
+ StripDCSfilter = dict(stage2 = cms.bool(True))
)
# refitter ### (FIXME rename, move)
diff --git a/DQMOffline/Trigger/python/BPHMonitor_cfi.py b/DQMOffline/Trigger/python/BPHMonitor_cfi.py
index 71dab23a1a8..5f1bab34a06 100644
--- a/DQMOffline/Trigger/python/BPHMonitor_cfi.py
+++ b/DQMOffline/Trigger/python/BPHMonitor_cfi.py
@@ -4,9 +4,6 @@ from DQMOffline.Trigger.bphMonitoring_cfi import bphMonitoring as _bphMonitoring
hltBPHmonitoring = _bphMonitoring.clone()
-from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
-stage2L1Trigger.toModify(hltBPHmonitoring, stageL1Trigger = 2)
-
#hltBPHmonitoring.options = cms.untracked.PSet(
# SkipEvent = cms.untracked.vstring('ProductNotFound')
#)
@@ -117,3 +114,9 @@ hltBPHmonitoring.denGenericTriggerEventPSet.hltPaths = cms.vstring( "HLT_Mu7p5_
hltBPHmonitoring.denGenericTriggerEventPSet.andOrDcs = cms.bool( False )
hltBPHmonitoring.denGenericTriggerEventPSet.errorReplyDcs = cms.bool( True )
hltBPHmonitoring.denGenericTriggerEventPSet.verbosityLevel = cms.uint32(0)
+
+from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
+stage2L1Trigger.toModify(hltBPHmonitoring,
+ stageL1Trigger = 2,
+ numGenericTriggerEventPSet = dict(stage2 = cms.bool(True)),
+ denGenericTriggerEventPSet = dict(stage2 = cms.bool(True)))
diff --git a/DQMOffline/Trigger/python/JetMonitor_cfi.py b/DQMOffline/Trigger/python/JetMonitor_cfi.py
index 932838c5344..b0c5447e221 100644
--- a/DQMOffline/Trigger/python/JetMonitor_cfi.py
+++ b/DQMOffline/Trigger/python/JetMonitor_cfi.py
@@ -39,3 +39,7 @@ hltJetMETmonitoring.denGenericTriggerEventPSet.andOrDcs = cms.bool( False )
hltJetMETmonitoring.denGenericTriggerEventPSet.errorReplyDcs = cms.bool( True )
hltJetMETmonitoring.denGenericTriggerEventPSet.verbosityLevel = cms.uint32(1)
+from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
+stage2L1Trigger.toModify(hltJetMETmonitoring,
+ numGenericTriggerEventPSet = dict(stage2 = cms.bool(True)),
+ denGenericTriggerEventPSet = dict(stage2 = cms.bool(True)))
diff --git a/DQMOffline/Trigger/python/METMonitor_cfi.py b/DQMOffline/Trigger/python/METMonitor_cfi.py
index 8f72ba6acc0..be521b4aad8 100644
--- a/DQMOffline/Trigger/python/METMonitor_cfi.py
+++ b/DQMOffline/Trigger/python/METMonitor_cfi.py
@@ -37,3 +37,8 @@ hltMETmonitoring.denGenericTriggerEventPSet.errorReplyDcs = cms.bool( True )
hltMETmonitoring.denGenericTriggerEventPSet.verbosityLevel = cms.uint32(1)
#hltMETmonitoring.denGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_IsoMu27_v*");
hltMETmonitoring.denGenericTriggerEventPSet.hltPaths = cms.vstring();
+
+from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
+stage2L1Trigger.toModify(hltMETmonitoring,
+ numGenericTriggerEventPSet = dict(stage2 = cms.bool(True)),
+ denGenericTriggerEventPSet = dict(stage2 = cms.bool(True)))
diff --git a/DQMOffline/Trigger/python/MuonMonitor_cfi.py b/DQMOffline/Trigger/python/MuonMonitor_cfi.py
index 93c16eb01c4..cfc74964fc9 100644
--- a/DQMOffline/Trigger/python/MuonMonitor_cfi.py
+++ b/DQMOffline/Trigger/python/MuonMonitor_cfi.py
@@ -39,3 +39,8 @@ hltMuonmonitoring.denGenericTriggerEventPSet.andOrDcs = cms.bool( False )
hltMuonmonitoring.denGenericTriggerEventPSet.errorReplyDcs = cms.bool( True )
hltMuonmonitoring.denGenericTriggerEventPSet.verbosityLevel = cms.uint32(1)
+from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
+stage2L1Trigger.toModify(hltMuonmonitoring,
+ numGenericTriggerEventPSet = dict(stage2 = cms.bool(True)),
+ denGenericTriggerEventPSet = dict(stage2 = cms.bool(True)))
+ I don't want to own a PR about it and have no time to test it, but @tvami or @panoskatsoulis feel free to check it if works for you |
Thanks Marco, I can submit the PR |
unassign hlt |
assign dqm |
New categories assigned: dqm @jfernan2,@ahmad3213,@rvenditti,@emanueleusai,@pbo0,@pmandrik you have been requested to review this Pull request/Issue and eventually sign? Thanks |
Maybe this can be added to a long term development with the fillDescription method, thanks! |
I'm afraid Marco's patch might not be enough (hopefully i'm wrong). The reason is that those (HLT-)DQM modules do have cmssw/DQMOffline/Trigger/plugins/BPHMonitor.cc Lines 1247 to 1265 in 69c0b83
so I would expect the framework to object to the last two lines of +stage2L1Trigger.toModify(hltBPHmonitoring,
+ stageL1Trigger = 2,
+ numGenericTriggerEventPSet = dict(stage2 = cms.bool(True)),
+ denGenericTriggerEventPSet = dict(stage2 = cms.bool(True))) The bottom line is that some |
Yes, seems like you are right @missirol |
A quick workaround would be to add |
+1 |
This issue is fully signed and ready to be closed. |
In light of cms-l1t-offline#958 (comment), I believe this issue has been closed too early. diff --git a/DQMOffline/JetMET/python/metDQMConfig_cfi.py b/DQMOffline/JetMET/python/metDQMConfig_cfi.py
index 4711c9ab286..b226e0cfabd 100644
--- a/DQMOffline/JetMET/python/metDQMConfig_cfi.py
+++ b/DQMOffline/JetMET/python/metDQMConfig_cfi.py
@@ -55,6 +55,10 @@ caloMetDQMAnalyzer = DQMEDAnalyzer('METAnalyzer',
hltPaths = cms.vstring( 'HLT_PFJet450_v*' ),
andOrHlt = cms.bool( True ),
errorReplyHlt = cms.bool( False ),
+ stage2 = cms.bool(False),
+ l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
+ l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
+ ReadPrescalesFromFile = cms.bool(False),
),
cms.PSet(label = cms.string('lowPtJet'),
andOr = cms.bool( False ), #True -> OR #Comment this line to turn OFF
@@ -64,6 +68,10 @@ caloMetDQMAnalyzer = DQMEDAnalyzer('METAnalyzer',
hltPaths = cms.vstring( 'HLT_PFJet80_v*' ),
andOrHlt = cms.bool( True ),
errorReplyHlt = cms.bool( True ),
+ stage2 = cms.bool(False),
+ l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
+ l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
+ ReadPrescalesFromFile = cms.bool(False),
),
cms.PSet(label = cms.string('zeroBias'),
andOr = cms.bool( False ), #True -> OR #Comment this line to turn OFF
@@ -73,6 +81,10 @@ caloMetDQMAnalyzer = DQMEDAnalyzer('METAnalyzer',
hltPaths = cms.vstring( 'HLT_ZeroBias_v*' ),
andOrHlt = cms.bool( True ),
errorReplyHlt = cms.bool( False ),
+ stage2 = cms.bool(False),
+ l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
+ l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
+ ReadPrescalesFromFile = cms.bool(False),
),
cms.PSet(label = cms.string('highMET'),
andOr = cms.bool( False ), #True -> OR #Comment this line to turn OFF
@@ -82,6 +94,10 @@ caloMetDQMAnalyzer = DQMEDAnalyzer('METAnalyzer',
hltPaths = cms.vstring( 'HLT_MET250_v*' ),
andOrHlt = cms.bool( True ),
errorReplyHlt = cms.bool( False ),
+ stage2 = cms.bool(False),
+ l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
+ l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
+ ReadPrescalesFromFile = cms.bool(False),
),
#cms.PSet(label = cms.string('singleEle'),
# andOr = cms.bool( False ), #True -> OR #Comment this line to turn OFF
@@ -100,6 +116,10 @@ caloMetDQMAnalyzer = DQMEDAnalyzer('METAnalyzer',
hltPaths = cms.vstring( 'HLT_IsoMu24_eta2p1_v*', 'HLT_IsoMu27_v*'),
andOrHlt = cms.bool( True ),
errorReplyHlt = cms.bool( False ),
+ stage2 = cms.bool(False),
+ l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
+ l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
+ ReadPrescalesFromFile = cms.bool(False),
)
),
@@ -132,6 +152,33 @@ caloMetDQMAnalyzer = DQMEDAnalyzer('METAnalyzer',
),
)
+#
+# Make changes if using the Stage 2 trigger
+#
+from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
+stage2L1Trigger.toModify(caloMetDQMAnalyzer,
+ triggerSelectedSubFolders = {
+ 0:dict(stage2 = cms.bool(True),
+ l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
+ l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
+ ReadPrescalesFromFile = cms.bool(True)),
+ 1:dict(stage2 = cms.bool(True),
+ l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
+ l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
+ ReadPrescalesFromFile = cms.bool(True)),
+ 2:dict(stage2 = cms.bool(True),
+ l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
+ l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
+ ReadPrescalesFromFile = cms.bool(True)),
+ 3:dict(stage2 = cms.bool(True),
+ l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
+ l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
+ ReadPrescalesFromFile = cms.bool(True)),
+ 4:dict(stage2 = cms.bool(True),
+ l1tAlgBlkInputTag = cms.InputTag("gtStage2Digis"),
+ l1tExtBlkInputTag = cms.InputTag("gtStage2Digis"),
+ ReadPrescalesFromFile = cms.bool(True))})
+
pfMetDQMAnalyzer = caloMetDQMAnalyzer.clone(
METType = 'pf',
METCollectionLabel = "pfMet", but the real problem is that cmssw/DQMOffline/JetMET/src/METAnalyzer.cc Line 1183 in 4eccbd2
I am not sure how exactly the code should be adapted in the case of the stage-2, but if that record is really obsolete, it is probably not doing anything useful currently. |
@iatakisi @ramankhurana @physicist87 @bobaekim @pallabidas could you please advice in the issue above? |
Thanks for notice, but I am not responsible for this anymore (from last 4 years). |
I think this part could be expressed as something along triggerSelectedSubFolders = {i: dict(stage2 = True,
l1tAlgBlkInputTag = "gtStage2Digis",
l1tExtBlkInputTag = "gtStage2Digis",
ReadPrescalesFromFile = True) for i in range(0, len(caloMetDQMAnalyzer.triggerSelectedSubFolders))} I tested as far as the dictionary comprehension produces the same dictionary as above (except here I dropped the explicit types from the "right hand side" as they seemed unnecessary(?)). |
This is the main CMSSW version of
cms-l1t-offline#958
now focusing on the DQM packages.
As of now the following packages were identified to use (very possibly) deprecated L1T records. The list might be updated in the future.
The text was updated successfully, but these errors were encountered: