CMS 3D CMS Logo

L1TriggerDqmOffline_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # L1 Trigger DQM sequence for offline DQM
4 #
5 # used by DQM GUI: DQM/Configuration
6 #
7 #
8 #
9 # standard RawToDigi sequence and RECO sequence must be run before the L1 Trigger modules,
10 # labels from the standard sequence are used as default for the L1 Trigger DQM modules
11 #
12 # V.M. Ghete - HEPHY Vienna - 2011-01-02
13 #
14 
15 
16 #
17 # DQM L1 Trigger in offline environment
18 #
19 
21 dqmEnvL1T = DQMServices.Components.DQMEnvironment_cfi.dqmEnv.clone()
22 dqmEnvL1T.subSystemFolder = 'L1T'
23 
24 # DQM online L1 Trigger modules, with offline configuration
27 
28 
29 # DQM offline L1 Trigger versus Reco modules
30 
32 dqmEnvL1TriggerReco = DQMServices.Components.DQMEnvironment_cfi.dqmEnv.clone()
33 dqmEnvL1TriggerReco.subSystemFolder = 'L1T/L1TriggerVsReco'
34 
35 #
36 # DQM L1 Trigger Emulator in offline environment
37 # Run also the L1HwVal producers (L1 Trigger emulators)
38 #
39 
41 dqmEnvL1TEMU = DQMServices.Components.DQMEnvironment_cfi.dqmEnv.clone()
42 dqmEnvL1TEMU.subSystemFolder = 'L1TEMU'
43 
44 # DQM Offline Step 1 cfi/cff imports
50 l1TdeRCT.rctSourceData = 'gctDigis'
51 
52 # DQM Offline Step 2 cfi/cff imports
55 
56 
57 # Stage1 customization
58 l1TdeRCT.rctSourceData = 'gctDigis'
59 l1TdeRCTfromRCT.rctSourceData = 'gctDigis'
60 l1tRct.rctSource = 'gctDigis'
61 l1tRctfromRCT.rctSource = 'gctDigis'
62 l1tPUM.regionSource = cms.InputTag("gctDigis")
63 
64 l1tStage1Layer2.gctCentralJetsSource = cms.InputTag("gctDigis","cenJets")
65 l1tStage1Layer2.gctForwardJetsSource = cms.InputTag("gctDigis","forJets")
66 l1tStage1Layer2.gctTauJetsSource = cms.InputTag("gctDigis","tauJets")
67 l1tStage1Layer2.gctIsoTauJetsSource = cms.InputTag("","")
68 l1tStage1Layer2.gctEnergySumsSource = cms.InputTag("gctDigis")
69 l1tStage1Layer2.gctIsoEmSource = cms.InputTag("gctDigis","isoEm")
70 l1tStage1Layer2.gctNonIsoEmSource = cms.InputTag("gctDigis","nonIsoEm")
71 l1tStage1Layer2.stage1_layer2_ = cms.bool(False)
72 
73 dqmL1ExtraParticlesStage1.etTotalSource = 'gctDigis'
74 dqmL1ExtraParticlesStage1.nonIsolatedEmSource = 'gctDigis:nonIsoEm'
75 dqmL1ExtraParticlesStage1.etMissSource = 'gctDigis'
76 dqmL1ExtraParticlesStage1.htMissSource = 'gctDigis'
77 dqmL1ExtraParticlesStage1.forwardJetSource = 'gctDigis:forJets'
78 dqmL1ExtraParticlesStage1.centralJetSource = 'gctDigis:cenJets'
79 dqmL1ExtraParticlesStage1.tauJetSource = 'gctDigis:tauJets'
80 dqmL1ExtraParticlesStage1.isolatedEmSource = 'gctDigis:isoEm'
81 dqmL1ExtraParticlesStage1.etHadSource = 'gctDigis'
82 dqmL1ExtraParticlesStage1.hfRingEtSumsSource = 'gctDigis'
83 dqmL1ExtraParticlesStage1.hfRingBitCountsSource = 'gctDigis'
84 l1ExtraDQMStage1.stage1_layer2_ = cms.bool(False)
85 l1ExtraDQMStage1.L1ExtraIsoTauJetSource_ = cms.InputTag("fake")
86 
87 l1compareforstage1.GCTsourceData = cms.InputTag("gctDigis")
88 l1compareforstage1.GCTsourceEmul = cms.InputTag("valGctDigis")
89 l1compareforstage1.stage1_layer2_ = cms.bool(False)
90 
91 valStage1GtDigis.GctInputTag = 'gctDigis'
92 
93 
94 from Configuration.Eras.Modifier_stage1L1Trigger_cff import stage1L1Trigger
95 stage1L1Trigger.toModify(l1TdeRCT, rctSourceData = 'caloStage1Digis')
96 stage1L1Trigger.toModify(l1TdeRCTfromRCT, rctSourceData = 'rctDigis')
97 stage1L1Trigger.toModify(l1tRct, rctSource = 'caloStage1Digis')
98 stage1L1Trigger.toModify(l1tRctfromRCT, rctSource = 'rctDigis')
99 stage1L1Trigger.toModify(l1tPUM, regionSource = cms.InputTag("rctDigis"))
100 
101 stage1L1Trigger.toModify(l1tStage1Layer2, stage1_layer2_ = cms.bool(True))
102 stage1L1Trigger.toModify(l1tStage1Layer2, gctCentralJetsSource = cms.InputTag("caloStage1LegacyFormatDigis","cenJets"))
103 stage1L1Trigger.toModify(l1tStage1Layer2, gctForwardJetsSource = cms.InputTag("caloStage1LegacyFormatDigis","forJets"))
104 stage1L1Trigger.toModify(l1tStage1Layer2, gctTauJetsSource = cms.InputTag("caloStage1LegacyFormatDigis","tauJets"))
105 stage1L1Trigger.toModify(l1tStage1Layer2, gctIsoTauJetsSource = cms.InputTag("caloStage1LegacyFormatDigis","isoTauJets"))
106 stage1L1Trigger.toModify(l1tStage1Layer2, gctEnergySumsSource = cms.InputTag("caloStage1LegacyFormatDigis"))
107 stage1L1Trigger.toModify(l1tStage1Layer2, gctIsoEmSource = cms.InputTag("caloStage1LegacyFormatDigis","isoEm"))
108 stage1L1Trigger.toModify(l1tStage1Layer2, gctNonIsoEmSource = cms.InputTag("caloStage1LegacyFormatDigis","nonIsoEm"))
109 
110 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, etTotalSource = cms.InputTag("caloStage1LegacyFormatDigis") )
111 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, nonIsolatedEmSource = cms.InputTag("caloStage1LegacyFormatDigis","nonIsoEm") )
112 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, etMissSource = cms.InputTag("caloStage1LegacyFormatDigis") )
113 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, htMissSource = cms.InputTag("caloStage1LegacyFormatDigis") )
114 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, forwardJetSource = cms.InputTag("caloStage1LegacyFormatDigis","forJets") )
115 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, centralJetSource = cms.InputTag("caloStage1LegacyFormatDigis","cenJets") )
116 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, tauJetSource = cms.InputTag("caloStage1LegacyFormatDigis","tauJets") )
117 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, isoTauJetSource = cms.InputTag("caloStage1LegacyFormatDigis","isoTauJets") )
118 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, isolatedEmSource = cms.InputTag("caloStage1LegacyFormatDigis","isoEm") )
119 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, etHadSource = cms.InputTag("caloStage1LegacyFormatDigis") )
120 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, hfRingEtSumsSource = cms.InputTag("caloStage1LegacyFormatDigis") )
121 stage1L1Trigger.toModify( dqmL1ExtraParticlesStage1, hfRingBitCountsSource = cms.InputTag("caloStage1LegacyFormatDigis") )
122 stage1L1Trigger.toModify( l1ExtraDQMStage1, stage1_layer2_ = cms.bool(True))
123 stage1L1Trigger.toModify( l1ExtraDQMStage1, L1ExtraIsoTauJetSource_ = cms.InputTag("dqmL1ExtraParticlesStage1", "IsoTau"))
124 
125 stage1L1Trigger.toModify(l1compareforstage1, GCTsourceData = cms.InputTag("caloStage1LegacyFormatDigis"))
126 stage1L1Trigger.toModify(l1compareforstage1, GCTsourceEmul = cms.InputTag("valCaloStage1LegacyFormatDigis"))
127 stage1L1Trigger.toModify(l1compareforstage1, stage1_layer2_ = cms.bool(True))
128 
129 stage1L1Trigger.toModify(valStage1GtDigis, GctInputTag = 'caloStage1LegacyFormatDigis')
130 
131 #
132 # define sequences
133 #
134 
135 l1TriggerOnline = cms.Sequence(
136  l1tMonitorStage1Online
137  * dqmEnvL1T
138  )
139 
140 l1TriggerOffline = cms.Sequence(
141  l1TriggerOnline *
142  dqmEnvL1TriggerReco *
143  l1tStage2CaloLayer2OfflineDQM *
144  l1tEGammaOfflineDQM
145 )
146 
147 #
148 
149 l1TriggerEmulatorOnline = cms.Sequence(
150  l1Stage1HwValEmulatorMonitor
151  * dqmEnvL1TEMU
152  )
153 
154 l1TriggerEmulatorOffline = cms.Sequence(
155  l1TriggerEmulatorOnline *
156  l1tStage2CaloLayer2OfflineDQMEmu *
157  l1tEGammaOfflineDQMEmu
158 )
159 #
160 
161 # DQM Offline Step 1 sequence
162 l1TriggerDqmOffline = cms.Sequence(
163  l1TriggerOffline
164  * l1tRate_Offline
165  * l1tSync_Offline
166  * l1TriggerEmulatorOffline
167  )
168 
169 # DQM Offline Step 2 sequence
170 l1TriggerDqmOfflineClient = cms.Sequence(
171  l1tMonitorStage1Client
172  * l1EmulatorMonitorClient
173  )
174 
175 
176 #
177 # EMERGENCY removal of modules or full sequences
178 # =============
179 #
180 # un-comment the module line below to remove the module or the sequence
181 
182 #
183 # NOTE: for offline, remove the L1TRate which is reading from cms_orcoff_prod, but also requires
184 # a hard-coded lxplus path - FIXME check if one can get rid of hard-coded path
185 # remove also the corresponding client
186 #
187 # L1TSync - FIXME - same problems as L1TRate
188 
189 
190 # DQM first step
191 #
192 
193 #l1TriggerDqmOffline.remove(l1TriggerOffline)
194 #l1TriggerDqmOffline.remove(l1TriggerEmulatorOffline)
195 
196 #
197 
198 #l1TriggerOffline.remove(l1TriggerOnline)
199 
200 
201 # l1tMonitorOnline sequence, defined in DQM/L1TMonitor/python/L1TMonitor_cff.py
202 #
203 #l1TriggerOnline.remove(l1tMonitorOnline)
204 #
205 l1tMonitorStage1Online.remove(bxTiming)
206 #l1tMonitorOnline.remove(l1tDttf)
207 #l1tMonitorOnline.remove(l1tCsctf)
208 #l1tMonitorOnline.remove(l1tRpctf)
209 #l1tMonitorOnline.remove(l1tGmt)
210 #l1tMonitorOnline.remove(l1tGt)
211 #
212 #l1ExtraDqmSeq.remove(dqmGctDigis)
213 #l1ExtraDqmSeq.remove(dqmGtDigis)
214 #l1ExtraDqmSeq.remove(dqmL1ExtraParticles)
215 #l1ExtraDqmSeq.remove(l1ExtraDQM)
216 #l1tMonitorOnline.remove(l1ExtraDqmSeq)
217 #
218 #l1tMonitorOnline.remove(l1tRate)
219 #l1tMonitorOnline.remove(l1tBPTX)
220 #l1tMonitorOnline.remove(l1tRctSeq)
221 #l1tMonitorOnline.remove(l1tGctSeq)
222 
223 #
224 
225 #l1TriggerEmulatorOffline.remove(l1TriggerEmulatorOnline)
226 
227 # l1HwValEmulatorMonitor sequence, defined in DQM/L1TMonitor/python/L1TEmulatorMonitor_cff.py
228 #
229 #l1TriggerEmulatorOnline.remove(l1HwValEmulatorMonitor)
230 
231 # L1HardwareValidation producers
232 #l1HwValEmulatorMonitor.remove(L1HardwareValidation)
233 #
234 #l1HwValEmulatorMonitor.remove(l1EmulatorMonitor)
235 
236 #l1TriggerDqmOfflineClient.remove(l1tMonitorClient)
237 #l1TriggerDqmOfflineClient.remove(l1EmulatorMonitorClient)
238 
239 # l1tMonitorClient sequence, defined in DQM/L1TMonitorClient/python/L1TMonitorClient_cff.py
240 #
241 #l1tMonitorClient.remove(l1TriggerQualityTests)
242 #l1tMonitorClient.remove(l1TriggerClients)
243 
244 # l1TriggerClients sequence, part of l1tMonitorClient sequence
245 
246 #l1TriggerClients.remove(l1tGctClient)
247 #l1TriggerClients.remove(l1tDttfClient)
248 #l1TriggerClients.remove(l1tCsctfClient)
249 #l1TriggerClients.remove(l1tRpctfClient)
250 #l1TriggerClients.remove(l1tGmtClient)
251 #l1TriggerClients.remove(l1tOccupancyClient)
252 l1TriggerStage1Clients.remove(l1tTestsSummary)
253 #l1TriggerClients.remove(l1tEventInfoClient)
254 
255 # l1EmulatorMonitorClient sequence, defined in DQM/L1TMonitorClient/python/L1TEMUMonitorClient_cff.py
256 #
257 #l1EmulatorMonitorClient.remove(l1EmulatorQualityTests)
258 l1EmulatorMonitorClient.remove(l1EmulatorErrorFlagClient)
259 #l1EmulatorMonitorClient.remove(l1EmulatorEventInfoClient)
260 
261 #stage2
262 from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
263 
267 
269 l1tStage2CaloLayer2OfflineDQMEmu.stage2CaloLayer2JetSource=cms.InputTag("valCaloStage2Layer2Digis")
270 l1tStage2CaloLayer2OfflineDQMEmu.stage2CaloLayer2EtSumSource=cms.InputTag("valCaloStage2Layer2Digis")
272 l1tEGammaOfflineDQMEmu.stage2CaloLayer2EGammaSource=cms.InputTag("valCaloStage2Layer2Digis")
274 
275 from Configuration.StandardSequences.Eras import eras
276 from DQM.L1TMonitor.L1TStage2_cff import *
278 
279 stage2UnpackPath = cms.Sequence(
280  l1tCaloLayer1Digis +
281  caloStage2Digis +
282  bmtfDigis +
283 # BMTFStage2Digis +
284  emtfStage2Digis +
285  gmtStage2Digis +
286  gtStage2Digis
287 )
288 
289 ##Stage 2 Emulator
290 
294 # L1T monitor client sequence (system clients and quality tests)
295 l1TStage2EmulatorClients = cms.Sequence(
296  l1tStage2CaloLayer2DEClient
297  # l1tStage2EmulatorEventInfoClient
298  )
299 
300 l1tStage2EmulatorMonitorClient = cms.Sequence(
301  # l1TStage2EmulatorQualityTests +
302  l1TStage2EmulatorClients
303  )
304 
305 #
306 # define sequences
307 #
308 
309 Stage2l1TriggerOnline = cms.Sequence(
310  stage2UnpackPath
311  * l1tStage2OnlineDQM
312  * dqmEnvL1T
313  )
314 
315 
316 
317 
318 Stage2l1TriggerOffline = cms.Sequence(
319  Stage2l1TriggerOnline *
320  dqmEnvL1TriggerReco *
321  l1tStage2CaloLayer2OfflineDQM *
322  l1tEGammaOfflineDQM
323 
324  )
325 
326 #
328 
329 Stage2l1TriggerEmulatorOnline = cms.Sequence(
330  valHcalTriggerPrimitiveDigis +
331  Stage2L1HardwareValidation +
332  l1tStage2EmulatorOnlineDQM +
333  dqmEnvL1TEMU
334  )
335 
336 Stage2l1TriggerEmulatorOffline = cms.Sequence(
337  Stage2l1TriggerEmulatorOnline +
338  l1tStage2CaloLayer2OfflineDQMEmu +
339  l1tEGammaOfflineDQMEmu
340  )
341 
342 #
343 
344 # DQM Offline Step 1 sequence
345 Stage2l1TriggerDqmOffline = cms.Sequence(
346  Stage2l1TriggerOffline
347  # * l1tRate_Offline
348  # * l1tSync_Offline
349  * Stage2l1TriggerEmulatorOffline
350  * l1tEfficiencyMuons_offline
351  )
352 
353 # DQM Offline Step 2 sequence
354 Stage2l1TriggerDqmOfflineClient = cms.Sequence(
355  l1tStage2EmulatorMonitorClient *
356  l1tStage2MonitorClient *
357  l1tEfficiencyMuons_Harvesting
358  )
359 
360 
361 #replacements for stage2
362 stage2L1Trigger.toReplaceWith(l1TriggerOnline, Stage2l1TriggerOnline)
363 stage2L1Trigger.toReplaceWith(l1TriggerOffline, Stage2l1TriggerOffline)
364 stage2L1Trigger.toReplaceWith(l1TriggerEmulatorOnline, Stage2l1TriggerEmulatorOnline)
365 stage2L1Trigger.toReplaceWith(l1TriggerEmulatorOffline, Stage2l1TriggerEmulatorOffline)
366 stage2L1Trigger.toReplaceWith(l1TriggerDqmOffline, Stage2l1TriggerDqmOffline)
367 stage2L1Trigger.toReplaceWith(l1TriggerDqmOfflineClient, Stage2l1TriggerDqmOfflineClient)
368 stage2L1Trigger.toReplaceWith(l1EmulatorMonitorClient,l1tStage2EmulatorMonitorClient)
Stage 2 Emulator.