CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DQMOffline_Trigger_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # online trigger objects monitoring
5 
6 # monitoring of efficiencies of HLT paths and filters
8 hltFiltersDQM = hltFiltersDQMonitor.clone(
9  folderName = 'HLT/Filters',
10  efficPlotNamePrefix = 'effic_',
11  triggerResults = 'TriggerResults::HLT',
12  triggerSummaryAOD = 'hltTriggerSummaryAOD::HLT',
13  triggerSummaryRAW = 'hltTriggerSummaryRAW::HLT',
14 )
15 
16 # Lumi
18 
19 # Egamma
21 from DQMOffline.Trigger.EgammaMonitoring_cff import * # tag-n-probe (egammaMonitorHLT + egmHLTDQMSourceExtra)
22 
23 # Muon
25 
26 # Tau
28 
29 # JetMET
32 
33 # BTV
36 
37 # vertexing
39 
40 # tracking
42 from DQMOffline.Trigger.TrackingMonitoringPA_cff import*
44 
45 
46 # hcal
48 
49 # strip
51 
52 # pixel
54 
55 # B2G
57 
58 # BPH
60 
61 # EXO
63 
64 # FSQ
66 
67 # HI
69 
70 # HIG
72 # photon jet
74 #Check if perLSsaving is enabled to mask MEs vs LS
75 from Configuration.ProcessModifiers.dqmPerLSsaving_cff import dqmPerLSsaving
76 dqmPerLSsaving.toModify(higPhotonJetHLTOfflineSource, perLSsaving=True)
77 # SMP
79 
80 # SUS
82 
83 # TOP
85 
86 # Inclusive VBF
88 
89 ##hotline
90 #from DQMOffline.Trigger.hotlineDQM_cfi import * # ORPHAN
91 
92 ##eventshape
93 #from DQMOffline.Trigger.eventshapeDQM_cfi import * # OBSOLETE
94 
95 ##UCC
96 #from DQMOffline.Trigger.heavyionUCCDQM_cfi import * # OBSOLETE
97 
99 dqmEnvHLT = DQMServices.Components.DQMEnvironment_cfi.dqmEnv.clone()
100 dqmEnvHLT.subSystemFolder = 'HLT'
101 
102 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
103 dqmInfoHLTMon = DQMEDAnalyzer('DQMEventInfo',
104  subSystemFolder = cms.untracked.string('HLT')
105 )
106 ###################################################################################################
107 #### SEQUENCES TO BE RUN depending on the input DATAFORMAT
108 ## on MiniAOD
109 ## ADD here sequences/modules which rely ONLY on collections stored in the MiniAOD format
110 offlineHLTSourceOnMiniAOD = cms.Sequence(
111 )
112 
113 ## on AOD (w/o the need of the RECO step on-the-fly)
114 ## ADD here sequences/modules which rely ONLY on collections stored in the AOD format
115 offlineHLTSourceOnAOD = cms.Sequence(
116  dqmEnvHLT
117  * hltFiltersDQM
118  * lumiMonitorHLTsequence
119  * muonFullOfflineDQM
120  * HLTTauDQMOffline
121  * hltInclusiveVBFSource
122  * higPhotonJetHLTOfflineSource # plots are filled, but I'm not sure who is really looking at them and what you can get from them ... good candidates to be moved in offlineHLTSourceOnAODextra
123 # eventshapeDQMSequence * ## OBSOLETE !!!! (looks for HLT_HIQ2Top005_Centrality1030_v, HLT_HIQ2Bottom005_Centrality1030_v, etc)
124 # HeavyIonUCCDQMSequence * ## OBSOLETE !!!! (looks for HLT_HIUCC100_v and HLT_HIUCC020_v)
125 # hotlineDQMSequence * ## ORPHAN !!!!
126  * egammaMonitorHLT
127  * exoticaMonitorHLT
128  * susyMonitorHLT
129  * b2gMonitorHLT
130  * higgsMonitorHLT
131  * smpMonitorHLT
132  * topMonitorHLT
133  * btagMonitorHLT
134  * bphMonitorHLT
135  * hltObjectsMonitor # as online DQM, requested/suggested by TSG coordinators
136  * jetmetMonitorHLT
137 )
138 
139 ## w/ the RECO step on-the-fly (to be added to offlineHLTSourceOnAOD which should run anyhow)
140 offlineHLTSourceWithRECO = cms.Sequence(
141  hltFiltersDQM
142  * egHLTOffDQMSource ## NEEDED in VALIDATION, not really in MONITORING
143  * egHLTOffDQMSource_HEP17 ## NEEDED in VALIDATION, not really in MONITORING
144  * jetMETHLTOfflineAnalyzer
145  * b2gHLTDQMSourceWithRECO ## ak8PFJetsPuppiSoftDrop collection is not available in AOD, actually it is produced by the miniAOD step
146 )
147 ####################################################################################################
148 # offline DQM to be run on AOD (w/o the need of the RECO step on-the-fly) only in the VALIDATION of the HLT menu based on data
149 # it is needed in order to have the DQM code in the release, w/o the issue of crashing the tier0
150 # as the new modules in the sequence offlineHLTSourceOnAODextra are tested,
151 # these have to be migrated in the main offlineHLTSourceOnAOD sequence
152 offlineHLTSourceOnAODextra = cms.Sequence(
153 ### POG
154  btvHLTDQMSourceExtra
155  * egmHLTDQMSourceExtra # empty in 10_2_0
156  * jmeHLTDQMSourceExtra
157  * muoHLTDQMSourceExtra # empty in 10_2_0
158  * tauHLTDQMSourceExtra # empty in 10_2_0
159  * trkHLTDQMSourceExtra # empty in 10_2_0
160 ### PAG
161  * b2gHLTDQMSourceExtra
162  * bphHLTDQMSourceExtra # empty in 10_2_0
163  * exoHLTDQMSourceExtra
164  * higHLTDQMSourceExtra
165  * smpHLTDQMSourceExtra # empty in 10_2_0
166  * susHLTDQMSourceExtra
167  * topHLTDQMSourceExtra
168  * fsqHLTDQMSourceExtra # empty in 10_2_0
169 # * hinHLTDQMSourceExtra
170 )
171 ####################################################################################################
172 #### SEQUENCES TO BE RUN @Tier0 ####
173 ### Express : not really needed
174 ### HLTMonitor : special collections allow to monitor tracks, strip and pixel clusters, b-tagging discriminator, etc --> OfflineHLTMonitoring
175 ### Physics PDs : monitoring vs offline collection (typically, turnON)
176 
177 ## DQM step on Express
178 offlineHLTSource4ExpressPD = cms.Sequence(
179 )
180 
181 ## DQM step on HLTMonitor
182 ## ADD here only sequences/modules which rely on HLT collections which are stored in the HLTMonitoring stream
183 ## and are not available in the standard RAW format
184 offlineHLTSource4HLTMonitorPD = cms.Sequence(
185  dqmInfoHLTMon *
186  lumiMonitorHLTsequence * # lumi
187  sistripMonitorHLTsequence * # strip
188  sipixelMonitorHLTsequence * # pixel
189  BTVHLTOfflineSource * # BTV
190  bTagHLTTrackMonitoringSequence * # BTV relative track efficeicies
191  trackingMonitorHLT * # tracking
192  trackingMonitorHLTDisplacedJet* # EXO : DisplacedJet Tracking
193  egmTrackingMonitorHLT * # EGM tracking
194  hltToOfflineTrackValidatorSequence * # Relative Online to Offline performace
195  vertexingMonitorHLT # vertexing
196 )
197 
198 # sequences run @tier0 on HLTMonitor PD
199 OfflineHLTMonitoring = cms.Sequence(
200  offlineHLTSource4HLTMonitorPD
201 )
202 
203 # sequences run @tier0 on HLTMonitor PD w/ HI (PbPb, XeXe), pPb, ppRef
204 OfflineHLTMonitoringPA = cms.Sequence(
205  dqmInfoHLTMon *
206  trackingMonitorHLT *
207  PAtrackingMonitorHLT
208 )
209 
210 ## DQM step on physics PDs
211 ## transient collections produced by the RECO step are allowed ;)
212 offlineHLTSource4physicsPD = cms.Sequence(
213  offlineHLTSourceOnAOD
214  * offlineHLTSourceWithRECO
215 )
216 
217 ## DQM step on special physics PDs (HI, FSQ and LowLumi, etc)
218 ## transient collections produced by the RECO step are allowed ;)
219 offlineHLTSource4specialPhysicsPD = cms.Sequence(
220  offlineHLTSourceOnAOD
221  * offlineHLTSourceWithRECO
222  * fsqHLTOfflineSourceSequence
223  * HILowLumiHLTOfflineSourceSequence
224 )
225 
226 ## DQM step on relval
227 offlineHLTSource4relval = cms.Sequence(
228  offlineHLTSourceOnAOD
229  * offlineHLTSourceWithRECO
230  * offlineHLTSource4HLTMonitorPD ## special collections (tracking, strip, pixel, etc)
231  * fsqHLTOfflineSourceSequence ## FSQ
232  * HILowLumiHLTOfflineSourceSequence ## HI
233  * offlineHLTSourceOnAODextra ## EXTRA
234 )
235 ####################################################################################################
236 # offline DQM to be run on AOD (w/o the need of the RECO step on-the-fly) in the VALIDATION of the HLT menu based on data
237 # it is needed in order to have the DQM code in the release, w/o the issue of crashing the tier0
238 # as the new modules in the sequence offlineHLTSourceOnAODextra are tested
239 # these have to be migrated in the main offlineHLTSourceOnAOD sequence
240 offlineValidationHLTSourceOnAOD = cms.Sequence(
241  offlineHLTSourceOnAOD
242  + offlineHLTSourceOnAODextra
243 )
244 ####################################################################################################
245 
246 
247 ## old sequence, it should be dropped asa we are confident it is no longer used
248 offlineHLTSource = cms.Sequence(
249  offlineHLTSource4physicsPD
250 )
251 
252 ### sequence run @tier0 (called by main DQM sequences in DQMOffline/Configuration/python/DQMOffline_cff.py) on all PDs, but HLTMonitor one
253 triggerOfflineDQMSource = cms.Sequence(
254  offlineHLTSource
255 )
256 
257 # this sequence can be used by AlCa for the validation of conditions,
258 # because it is like offlineHLTSource (run @tier0) + offlineHLTSourceOnAODextra (meant to validate new features)
259 offlineValidationHLTSource = cms.Sequence(
260  offlineHLTSource
261  + offlineHLTSourceOnAODextra
262 )