CMS 3D CMS Logo

TrackingSourceConfig_Tier0_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg
3 import RecoTracker.IterativeTracking.iterativeTkUtils as _utils
4 
5 
7 
8 
10 
11 #import DQM.TrackingMonitor.TrackerCosmicsTrackingMonitor_cfi
13 TrackMon_ckf = DQM.TrackingMonitor.TrackEfficiencyMonitor_cfi.TrackEffMon.clone()
14 TrackMon_ckf.TKTrackCollection = 'generalTracks'#ctfWithMaterialTracksBeamHaloMuon'#rsWithMaterialTracksP5'#muons'#globalCosmicMuons'#ctfWithMaterialTracksP5'
15 TrackMon_ckf.AlgoName = 'CKFTk'
16 TrackMon_ckf.FolderName = 'Tracking/TrackParameters/TrackEfficiency'
17 
18 # Clone for RS Tracks
19 #import DQM.TrackingMonitor.TrackEfficiencyMonitor_cfi
20 #TrackEffMon_rs = DQM.TrackingMonitor.TrackEfficiencyMonitor_cfi.TrackEffMon.clone()
21 #TrackEffMon_rs.TKTrackCollection = 'rsWithMaterialTracksP5'
22 #TrackEffMon_rs.AlgoName = 'RSTk'
23 #TrackEffMon_rs.FolderName = 'Tracking/TrackParameters/TrackEfficiency'
24 
25 # Clone for Beam Halo Tracks
26 #import DQM.TrackingMonitor.TrackEfficiencyMonitor_cfi
27 #TrackEffMon_bhmuon = DQM.TrackingMonitor.TrackEfficiencyMonitor_cfi.TrackEffMon.clone()
28 #TrackEffMon_bhmuon.TKTrackCollection = 'ctfWithMaterialTracksBeamHaloMuon'
29 #TrackEffMon_bhmuon.AlgoName = 'BHMuonTk'
30 #TrackEffMon_bhmuon.FolderName = 'Tracking/TrackParameters/TrackEfficiency'
31 
32 # Split Tracking
34 TrackSplitMonitor.FolderName = 'Tracking/TrackParameters/SplitTracks'
35 
36 
37 # DQM Services
38 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
39 dqmInfoTracking = DQMEDAnalyzer('DQMEventInfo',
40  subSystemFolder = cms.untracked.string('Tracking')
41 )
42 
43 
44 
47 for tracks in selectedTracks :
48  label = 'TrackerCollisionSelectedTrackMonCommon' + str(tracks)
49  locals()[label] = TrackerCollisionTrackMonCommon.clone()
50  locals()[label].TrackProducer = cms.InputTag(tracks)
51  locals()[label].allTrackProducer = cms.InputTag(allTrackProducer[tracks])
52  locals()[label].FolderName = cms.string(mainfolderName[tracks])
53  locals()[label].PVFolderName = cms.string(vertexfolderName[tracks])
54  locals()[label].TrackPtMin = trackPtMin[tracks]
55  locals()[label].TrackPtBin = trackPtN[tracks]
56  locals()[label].TrackPtMax = trackPtMax[tracks]
57  locals()[label].TrackPBin = trackPtN[tracks]
58  locals()[label].TrackPMin = trackPtMin[tracks]
59  locals()[label].TrackPMax = trackPtMax[tracks]
60  locals()[label].doDCAPlots = doPlotsPCA[tracks]
61  locals()[label].doDCAwrtPVPlots = doPlotsPCA[tracks]
62  locals()[label].doDCAwrt000Plots = doPlotsPCA[tracks]
63  locals()[label].doSIPPlots = doPlotsPCA[tracks]
64  locals()[label].numCut = numCutString[tracks]
65  locals()[label].denCut = denCutString[tracks]
66  locals()[label].doGoodTracksPlots = doGoodTracksPlots [tracks]
67  locals()[label].doTrackerSpecific = doTrackerSpecific [tracks]
68  locals()[label].doHitPropertiesPlots = doHitPropertiesPlots [tracks]
69  locals()[label].doGeneralPropertiesPlots = doGeneralPropertiesPlots [tracks]
70  locals()[label].doBeamSpotPlots = doBeamSpotPlots [tracks]
71  locals()[label].doSeedParameterHistos = doSeedParameterHistos [tracks]
72  locals()[label].doRecHitVsPhiVsEtaPerTrack = doRecHitVsPhiVsEtaPerTrack [tracks]
73  locals()[label].doRecHitVsPtVsEtaPerTrack = doRecHitVsPtVsEtaPerTrack [tracks]
74  locals()[label].doGoodTrackRecHitVsPhiVsEtaPerTrack = doGoodTrackRecHitVsPhiVsEtaPerTrack [tracks]
75  locals()[label].doLayersVsPhiVsEtaPerTrack = doLayersVsPhiVsEtaPerTrack [tracks]
76  locals()[label].doGoodTrackLayersVsPhiVsEtaPerTrack = doGoodTrackLayersVsPhiVsEtaPerTrack [tracks]
77  locals()[label].doPUmonitoring = doPUmonitoring [tracks]
78  locals()[label].doPlotsVsBXlumi = doPlotsVsBXlumi [tracks]
79  locals()[label].doPlotsVsGoodPVtx = doPlotsVsGoodPVtx [tracks]
80  locals()[label].doEffFromHitPatternVsPU = doEffFromHitPatternVsPU [tracks]
81  locals()[label].doEffFromHitPatternVsLUMI = doEffFromHitPatternVsLumi [tracks]
82  if tracks == 'generalTracks':
83  locals()[label].doEffFromHitPatternVsBX = False
84  else:
85  locals()[label].doEffFromHitPatternVsBX = doEffFromHitPatternVsBX[tracks]
86 # locals()[label].doStopSource = doStopSource [tracks]
87  locals()[label].setLabel(label)
88 
89  # ZeroBias
90  label = 'TrackerCollisionSelectedTrackMonMB' + str(tracks)
91  locals()[label] = TrackerCollisionTrackMonMB.clone()
92  locals()[label].TrackProducer = cms.InputTag(tracks)
93  locals()[label].FolderName = cms.string(mainfolderName[tracks])
94  locals()[label].PVFolderName = cms.string(vertexfolderName[tracks])
95  locals()[label].TrackPtMin = trackPtMin[tracks]
96  locals()[label].TrackPtBin = trackPtN[tracks]
97  locals()[label].TrackPtMax = trackPtMax[tracks]
98  locals()[label].TrackPBin = trackPtN[tracks]
99  locals()[label].TrackPMin = trackPtMin[tracks]
100  locals()[label].TrackPMax = trackPtMax[tracks]
101  locals()[label].doDCAPlots = doPlotsPCA[tracks]
102  locals()[label].doDCAwrtPVPlots = doPlotsPCA[tracks]
103  locals()[label].doDCAwrt000Plots = doPlotsPCA[tracks]
104  locals()[label].doSIPPlots = doPlotsPCA[tracks]
105  locals()[label].numCut = numCutString[tracks]
106  locals()[label].denCut = denCutString[tracks]
107  locals()[label].doGoodTracksPlots = doGoodTracksPlots [tracks]
108  locals()[label].doTrackerSpecific = doTrackerSpecific [tracks]
109  locals()[label].doHitPropertiesPlots = doHitPropertiesPlots [tracks]
110  locals()[label].doGeneralPropertiesPlots = doGeneralPropertiesPlots [tracks]
111  locals()[label].doBeamSpotPlots = doBeamSpotPlots [tracks]
112  locals()[label].doSeedParameterHistos = doSeedParameterHistos [tracks]
113  locals()[label].doRecHitVsPhiVsEtaPerTrack = doRecHitVsPhiVsEtaPerTrack [tracks]
114  locals()[label].doRecHitVsPtVsEtaPerTrack = doRecHitVsPtVsEtaPerTrack [tracks]
115  locals()[label].doGoodTrackRecHitVsPhiVsEtaPerTrack = doGoodTrackRecHitVsPhiVsEtaPerTrack [tracks]
116  locals()[label].doLayersVsPhiVsEtaPerTrack = doLayersVsPhiVsEtaPerTrack [tracks]
117  locals()[label].doGoodTrackLayersVsPhiVsEtaPerTrack = doGoodTrackLayersVsPhiVsEtaPerTrack [tracks]
118  locals()[label].doPUmonitoring = doPUmonitoring [tracks]
119  locals()[label].doPlotsVsBXlumi = doPlotsVsBXlumi [tracks]
120  locals()[label].doPlotsVsGoodPVtx = doPlotsVsGoodPVtx [tracks]
121  locals()[label].doPlotsVsLUMI = cms.bool(True)
122  locals()[label].doPlotsVsBX = cms.bool(True)
123  locals()[label].doEffFromHitPatternVsPU = doEffFromHitPatternVsPU [tracks]
124  locals()[label].doEffFromHitPatternVsBX = doEffFromHitPatternVsBX [tracks]
125  locals()[label].doEffFromHitPatternVsLUMI = cms.bool(True)
126  locals()[label].doStopSource = doStopSource [tracks]
127  locals()[label].setLabel(label)
128 
129  # ZeroBias, no hip, no OOT pu (1st collision after abort gap) ###
130  label = 'TrackerCollisionSelectedTrackMonZBnoHIPnoOOT' + str(tracks)
131  locals()[label] = TrackerCollisionTrackMonZBnoHIPnoOOT.clone()
132  locals()[label].TrackProducer = cms.InputTag(tracks)
133  locals()[label].FolderName = cms.string(mainfolderName[tracks]+"/noHIP_noOOT_INpu")
134  locals()[label].PVFolderName = cms.string(vertexfolderName[tracks]+"/noHIP_noOOT_INpu")
135  locals()[label].TrackPtMin = trackPtMin[tracks]
136  locals()[label].TrackPtBin = trackPtN[tracks]
137  locals()[label].TrackPtMax = trackPtMax[tracks]
138  locals()[label].TrackPBin = trackPtN[tracks]
139  locals()[label].TrackPMin = trackPtMin[tracks]
140  locals()[label].TrackPMax = trackPtMax[tracks]
141  locals()[label].doDCAPlots = doPlotsPCA[tracks]
142  locals()[label].doDCAwrtPVPlots = doPlotsPCA[tracks]
143  locals()[label].doDCAwrt000Plots = doPlotsPCA[tracks]
144  locals()[label].doSIPPlots = doPlotsPCA[tracks]
145  locals()[label].numCut = numCutString[tracks]
146  locals()[label].denCut = denCutString[tracks]
147  locals()[label].doGoodTracksPlots = doGoodTracksPlots [tracks]
148  locals()[label].doTrackerSpecific = doTrackerSpecific [tracks]
149  locals()[label].doHitPropertiesPlots = doHitPropertiesPlots [tracks]
150  locals()[label].doGeneralPropertiesPlots = doGeneralPropertiesPlots [tracks]
151  locals()[label].doBeamSpotPlots = doBeamSpotPlots [tracks]
152  locals()[label].doSeedParameterHistos = doSeedParameterHistos [tracks]
153  locals()[label].doRecHitVsPhiVsEtaPerTrack = doRecHitVsPhiVsEtaPerTrack [tracks]
154  locals()[label].doRecHitVsPtVsEtaPerTrack = doRecHitVsPtVsEtaPerTrack [tracks]
155  locals()[label].doGoodTrackRecHitVsPhiVsEtaPerTrack = doGoodTrackRecHitVsPhiVsEtaPerTrack [tracks]
156  locals()[label].doLayersVsPhiVsEtaPerTrack = doLayersVsPhiVsEtaPerTrack [tracks]
157  locals()[label].doGoodTrackLayersVsPhiVsEtaPerTrack = doGoodTrackLayersVsPhiVsEtaPerTrack [tracks]
158  locals()[label].doPUmonitoring = doPUmonitoring [tracks]
159  locals()[label].doPlotsVsBXlumi = doPlotsVsBXlumi [tracks]
160  locals()[label].doPlotsVsGoodPVtx = doPlotsVsGoodPVtx [tracks]
161  locals()[label].doPlotsVsLUMI = cms.bool(True)
162  locals()[label].doPlotsVsBX = cms.bool(True)
163  locals()[label].doEffFromHitPatternVsPU = doEffFromHitPatternVsPU [tracks]
164  locals()[label].doEffFromHitPatternVsBX = doEffFromHitPatternVsBX [tracks]
165  locals()[label].doEffFromHitPatternVsLUMI = False
166  locals()[label].doStopSource = doStopSource [tracks]
167  locals()[label].setLabel(label)
168 
169  # ZeroBias, hip, no OOT pu (1st collision in train) ###
170  label = 'TrackerCollisionSelectedTrackMonZBHIPnoOOT' + str(tracks)
171  locals()[label] = TrackerCollisionTrackMonZBHIPnoOOT.clone()
172  locals()[label].TrackProducer = cms.InputTag(tracks)
173  locals()[label].FolderName = cms.string(mainfolderName[tracks]+"/HIP_noOOT_INpu")
174  locals()[label].PVFolderName = cms.string(vertexfolderName[tracks]+"/HIP_noOOT_INpu")
175  locals()[label].TrackPtMin = trackPtMin[tracks]
176  locals()[label].TrackPtBin = trackPtN[tracks]
177  locals()[label].TrackPtMax = trackPtMax[tracks]
178  locals()[label].TrackPBin = trackPtN[tracks]
179  locals()[label].TrackPMin = trackPtMin[tracks]
180  locals()[label].TrackPMax = trackPtMax[tracks]
181  locals()[label].doDCAPlots = doPlotsPCA[tracks]
182  locals()[label].doDCAwrtPVPlots = doPlotsPCA[tracks]
183  locals()[label].doDCAwrt000Plots = doPlotsPCA[tracks]
184  locals()[label].doSIPPlots = doPlotsPCA[tracks]
185  locals()[label].numCut = numCutString[tracks]
186  locals()[label].denCut = denCutString[tracks]
187  locals()[label].doGoodTracksPlots = doGoodTracksPlots [tracks]
188  locals()[label].doTrackerSpecific = doTrackerSpecific [tracks]
189  locals()[label].doHitPropertiesPlots = doHitPropertiesPlots [tracks]
190  locals()[label].doGeneralPropertiesPlots = doGeneralPropertiesPlots [tracks]
191  locals()[label].doBeamSpotPlots = doBeamSpotPlots [tracks]
192  locals()[label].doSeedParameterHistos = doSeedParameterHistos [tracks]
193  locals()[label].doRecHitVsPhiVsEtaPerTrack = doRecHitVsPhiVsEtaPerTrack [tracks]
194  locals()[label].doRecHitVsPtVsEtaPerTrack = doRecHitVsPtVsEtaPerTrack [tracks]
195  locals()[label].doGoodTrackRecHitVsPhiVsEtaPerTrack = doGoodTrackRecHitVsPhiVsEtaPerTrack [tracks]
196  locals()[label].doLayersVsPhiVsEtaPerTrack = doLayersVsPhiVsEtaPerTrack [tracks]
197  locals()[label].doGoodTrackLayersVsPhiVsEtaPerTrack = doGoodTrackLayersVsPhiVsEtaPerTrack [tracks]
198  locals()[label].doPUmonitoring = doPUmonitoring [tracks]
199  locals()[label].doPlotsVsBXlumi = doPlotsVsBXlumi [tracks]
200  locals()[label].doPlotsVsGoodPVtx = doPlotsVsGoodPVtx [tracks]
201  locals()[label].doPlotsVsLUMI = cms.bool(True)
202  locals()[label].doPlotsVsBX = cms.bool(True)
203  locals()[label].doEffFromHitPatternVsPU = doEffFromHitPatternVsPU [tracks]
204  locals()[label].doEffFromHitPatternVsBX = doEffFromHitPatternVsBX [tracks]
205  locals()[label].doEffFromHitPatternVsLUMI = False
206  locals()[label].doStopSource = doStopSource [tracks]
207  locals()[label].setLabel(label)
208 
209 
210  # ZeroBias, hip, OOT pu (1st collision after train) ###
211  label = 'TrackerCollisionSelectedTrackMonZBHIPOOT' + str(tracks)
212  locals()[label] = TrackerCollisionTrackMonZBHIPOOT.clone()
213  locals()[label].TrackProducer = cms.InputTag(tracks)
214  locals()[label].FolderName = cms.string(mainfolderName[tracks]+"/HIP_OOT_noINpu")
215  locals()[label].PVFolderName = cms.string(vertexfolderName[tracks]+"/HIP_OOT_noINpu")
216  locals()[label].TrackPtMin = trackPtMin[tracks]
217  locals()[label].TrackPtBin = trackPtN[tracks]
218  locals()[label].TrackPtMax = trackPtMax[tracks]
219  locals()[label].TrackPBin = trackPtN[tracks]
220  locals()[label].TrackPMin = trackPtMin[tracks]
221  locals()[label].TrackPMax = trackPtMax[tracks]
222  locals()[label].doDCAPlots = doPlotsPCA[tracks]
223  locals()[label].doDCAwrtPVPlots = doPlotsPCA[tracks]
224  locals()[label].doDCAwrt000Plots = doPlotsPCA[tracks]
225  locals()[label].doSIPPlots = doPlotsPCA[tracks]
226  locals()[label].numCut = numCutString[tracks]
227  locals()[label].denCut = denCutString[tracks]
228  locals()[label].doGoodTracksPlots = doGoodTracksPlots [tracks]
229  locals()[label].doTrackerSpecific = doTrackerSpecific [tracks]
230  locals()[label].doHitPropertiesPlots = doHitPropertiesPlots [tracks]
231  locals()[label].doGeneralPropertiesPlots = doGeneralPropertiesPlots [tracks]
232  locals()[label].doBeamSpotPlots = doBeamSpotPlots [tracks]
233  locals()[label].doSeedParameterHistos = doSeedParameterHistos [tracks]
234  locals()[label].doRecHitVsPhiVsEtaPerTrack = doRecHitVsPhiVsEtaPerTrack [tracks]
235  locals()[label].doRecHitVsPtVsEtaPerTrack = doRecHitVsPtVsEtaPerTrack [tracks]
236  locals()[label].doGoodTrackRecHitVsPhiVsEtaPerTrack = doGoodTrackRecHitVsPhiVsEtaPerTrack [tracks]
237  locals()[label].doLayersVsPhiVsEtaPerTrack = doLayersVsPhiVsEtaPerTrack [tracks]
238  locals()[label].doGoodTrackLayersVsPhiVsEtaPerTrack = doGoodTrackLayersVsPhiVsEtaPerTrack [tracks]
239  locals()[label].doPUmonitoring = doPUmonitoring [tracks]
240  locals()[label].doPlotsVsBXlumi = doPlotsVsBXlumi [tracks]
241  locals()[label].doPlotsVsGoodPVtx = doPlotsVsGoodPVtx [tracks]
242  locals()[label].doPlotsVsLUMI = cms.bool(True)
243  locals()[label].doPlotsVsBX = cms.bool(True)
244  locals()[label].doEffFromHitPatternVsPU = doEffFromHitPatternVsPU [tracks]
245  locals()[label].doEffFromHitPatternVsBX = doEffFromHitPatternVsBX [tracks]
246  locals()[label].doEffFromHitPatternVsLUMI = False
247  locals()[label].doStopSource = doStopSource [tracks]
248  locals()[label].setLabel(label)
249 
250 
251 #-------------------------------------------------
252 # Tracking Monitor
253 #-------------------------------------------------
255 
257 # Create first modules for all possible iterations, select later which
258 # ones to actually use based on era
259 def _copyIfExists(mod, pset, name):
260  if hasattr(pset, name):
261  setattr(mod, name, getattr(pset, name))
262 for _step, _pset in seedMonitoring.items():
263  _mod = DQM.TrackingMonitor.TrackingMonitorSeed_cfi.TrackMonSeed.clone(
264  doTrackCandHistos = cms.bool(True)
265  )
266  locals()['TrackSeedMon'+str(_step)] = _mod
267  _mod.TrackProducer = cms.InputTag("generalTracks")
268  _mod.FolderName = cms.string("Tracking/TrackParameters/generalTracks/SeedMon/"+str(_step))
269  _mod.doPUmonitoring = cms.bool(False)
270  _mod.doLumiAnalysis = cms.bool(False)
271  _mod.doPlotsVsGoodPVtx = cms.bool(False)
272  _mod.SeedProducer = _pset.seedInputTag
273  _mod.TCProducer = _pset.trackCandInputTag
274  _mod.AlgoName = cms.string( str(_step) )
275  _mod.TkSeedSizeBin = _pset.trackSeedSizeBin
276  _mod.TkSeedSizeMin = _pset.trackSeedSizeMin
277  _mod.TkSeedSizeMax = _pset.trackSeedSizeMax
278  _mod.ClusterLabels = _pset.clusterLabel
279  if _pset.clusterLabel == cms.vstring('Pix') :
280  _mod.NClusPxBin = _pset.clusterBin
281  _mod.NClusPxMax = _pset.clusterMax
282  elif _pset.clusterLabel == cms.vstring('Strip') or _pset.clusterLabel == cms.vstring('Tot') :
283  _mod.NClusStrBin = _pset.clusterBin
284  _mod.NClusStrMax = _pset.clusterMax
285  if hasattr(_pset, "RegionProducer") or hasattr(_pset, "RegionSeedingLayersProducer"):
286  _mod.doRegionPlots = True
287  _copyIfExists(_mod, _pset, "RegionProducer")
288  _copyIfExists(_mod, _pset, "RegionSeedingLayersProducer")
289  _copyIfExists(_mod, _pset, "RegionSizeBin")
290  _copyIfExists(_mod, _pset, "RegionSizeMax")
291  if hasattr(_pset, "RegionCandidates"):
292  _mod.doRegionCandidatePlots = True
293  _mod.RegionCandidates = _pset.RegionCandidates
294  if hasattr(_pset, "trajCandPerSeedBin"):
295  _mod.SeedCandBin = _pset.trajCandPerSeedBin
296  _mod.SeedCandMax = _pset.trajCandPerSeedMax
297 
298 # DQM Services
299 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
300 dqmInfoTracking = DQMEDAnalyzer('DQMEventInfo',
301  subSystemFolder = cms.untracked.string('Tracking')
302 )
303 
304 # LogMessageMonitor ####
305 
307 
308 
310 
311 for module in selectedModules :
312  label = str(module)+'LogMessageMonCommon'
313  locals()[label] = LogMessageMonCommon.clone()
314  locals()[label].pluginsMonName = pluginsMonName[module]
315  locals()[label].modules = modulesLabel[module]
316  locals()[label].categories = categories[module]
317  locals()[label].setLabel(label)
318 
319  label = str(module)+'LogMessageMonMB'
320  locals()[label] = LogMessageMonMB.clone()
321  locals()[label].pluginsMonName = pluginsMonName[module]
322  locals()[label].modules = modulesLabel[module]
323  locals()[label].categories = categories[module]
324  locals()[label].setLabel(label)
325 
326 
327 # dEdx monitor ####
328 
330 
331 
333 
334 
335 # temporary patch in order to have BXlumi
337 
338 # import v0 monitoring
340 
341 # better clone for now because goodOfflinePrimaryVertices is used also
342 # within the reco sequence, and without cloning framework will throw
343 # "unrunnable schedule" exception for workflows without --runUnscheduled
344 from CommonTools.ParticleFlow.goodOfflinePrimaryVertices_cfi import goodOfflinePrimaryVertices
345 trackingDQMgoodOfflinePrimaryVertices = goodOfflinePrimaryVertices.clone()
346 
347 
348 # import PV resolution
350 from Configuration.Eras.Modifier_run3_common_cff import run3_common
351 run3_common.toModify(primaryVertexResolution, forceSCAL = False)
352 # Sequence
353 TrackingDQMSourceTier0 = cms.Sequence(cms.ignore(trackingDQMgoodOfflinePrimaryVertices))
354 # dEdx monitoring
355 TrackingDQMSourceTier0 += dedxHarmonicSequence * dEdxMonCommon * dEdxHitMonCommon * TrackMon_ckf * TrackSplitMonitor * dqmInfoTracking
356 #TrackMon_cosmicTk*TrackMon_ckf*TrackEffMon_ckf*TrackSplitMonitor*dqmInfoTracking
357 # # temporary patch in order to have BXlumi
358 # * lumiProducer
359 # track collections
360 for tracks in selectedTracks :
361  if tracks != 'generalTracks':
362  TrackingDQMSourceTier0 += cms.ignore(sequenceName[tracks])
363  label = 'TrackerCollisionSelectedTrackMonCommon' + str(tracks)
364  TrackingDQMSourceTier0 += cms.ignore(locals()[label])
365 # seeding monitoring
366 for _eraName, _postfix, _era in _cfg.allEras():
367  mvaSel = _utils.getMVASelectors(_postfix)
368  _seq = cms.Sequence()
369  for step in locals()["selectedIterTrackingStep"+_postfix]:
370  if step in mvaSel:
371  locals()["TrackSeedMon"+step].doMVAPlots = True
372  locals()["TrackSeedMon"+step].TrackProducerForMVA = mvaSel[step][0]
373  locals()["TrackSeedMon"+step].MVAProducers = mvaSel[step][1]
374 
375  _seq += locals()["TrackSeedMon"+step]
376  if _eraName == "":
377  locals()["TrackSeedMonSequence"] = _seq
378  else:
379  _era.toReplaceWith(TrackSeedMonSequence, _seq)
380 
381 _seedingDeepCore_TrackSeedMonSequence = TrackSeedMonSequence.copy()
382 _seedingDeepCore_TrackSeedMonSequence.remove(locals()["TrackSeedMonjetCoreRegionalStep"])
383 #_seedingDeepCore_TrackSeedMonSequence += (locals()["TrackSeedMonjetCoreRegionalStepBarrel"])
384 _seedingDeepCore_TrackSeedMonSequence += (locals()["TrackSeedMonjetCoreRegionalStepEndcap"])
385 from Configuration.ProcessModifiers.seedingDeepCore_cff import seedingDeepCore
386 seedingDeepCore.toReplaceWith(TrackSeedMonSequence,_seedingDeepCore_TrackSeedMonSequence)
387 
388 TrackingDQMSourceTier0 += TrackSeedMonSequence
389 
390 # MessageLog
391 for module in selectedModules :
392  label = str(module)+'LogMessageMonCommon'
393  TrackingDQMSourceTier0 += locals()[label]
394 TrackingDQMSourceTier0 += voMonitoringSequence
395 TrackingDQMSourceTier0 += voWcutMonitoringSequence
396 TrackingDQMSourceTier0 += primaryVertexResolution
397 TrackingDQMSourceTier0 += dqmInfoTracking
398 
399 
400 TrackingDQMSourceTier0Common = cms.Sequence(cms.ignore(trackingDQMgoodOfflinePrimaryVertices))
401 # dEdx monitoring
402 TrackingDQMSourceTier0Common += (dedxHarmonicSequence * dEdxMonCommon * dEdxHitMonCommon * TrackMon_ckf * TrackSplitMonitor * dqmInfoTracking)
403 #TrackEffMon_ckf*TrackSplitMonitor*dqmInfoTracking)
404 
405 for tracks in selectedTracks :
406  if tracks != 'generalTracks':
407  TrackingDQMSourceTier0Common+=cms.ignore(sequenceName[tracks])
408  label = 'TrackerCollisionSelectedTrackMonCommon' + str(tracks)
409  TrackingDQMSourceTier0Common += cms.ignore(locals()[label])
410 # seeding monitoring
411 TrackingDQMSourceTier0Common += TrackSeedMonSequence
412 # MessageLog
413 for module in selectedModules :
414  label = str(module)+'LogMessageMonCommon'
415  TrackingDQMSourceTier0Common += locals()[label]
416 TrackingDQMSourceTier0Common += voMonitoringCommonSequence
417 TrackingDQMSourceTier0Common += voWcutMonitoringCommonSequence
418 TrackingDQMSourceTier0Common += primaryVertexResolution
419 TrackingDQMSourceTier0Common += dqmInfoTracking
420 
421 TrackingDQMSourceTier0MinBias = cms.Sequence(cms.ignore(trackingDQMgoodOfflinePrimaryVertices))
422 # dEdx monitoring
423 TrackingDQMSourceTier0MinBias += dedxHarmonicSequence * dEdxMonCommon * dEdxHitMonCommon * TrackMon_ckf * TrackSplitMonitor * dqmInfoTracking
424 #TrackMon_cosmicTk*TrackMon_ckf*TrackEffMon_ckf*TrackSplitMonitor*dqmInfoTracking#TrackMon_ckf*TrackEffMon_ckf
425 # * lumiProducer
426 # monitor track collections
427 for tracks in selectedTracks :
428  if tracks != 'generalTracks':
429  TrackingDQMSourceTier0MinBias += cms.ignore(sequenceName[tracks])
430 
431  for topology in [ 'MB', 'ZBnoHIPnoOOT', 'ZBHIPnoOOT', 'ZBHIPOOT']:
432  label = 'TrackerCollisionSelectedTrackMon' + str(topology) + str(tracks)
433  TrackingDQMSourceTier0MinBias += cms.ignore(locals()[label])
434 # seeding monitoring
435 TrackingDQMSourceTier0MinBias += TrackSeedMonSequence
436 # MessageLog
437 for module in selectedModules :
438  label = str(module)+'LogMessageMonMB'
439  TrackingDQMSourceTier0MinBias += locals()[label]
440 # V0 monitoring
441 TrackingDQMSourceTier0MinBias += voMonitoringMBSequence
442 TrackingDQMSourceTier0MinBias += voMonitoringZBnoHIPnoOOTSequence
443 TrackingDQMSourceTier0MinBias += voMonitoringZBHIPnoOOTSequence
444 TrackingDQMSourceTier0MinBias += voMonitoringZBHIPOOTSequence
445 TrackingDQMSourceTier0MinBias += voWcutMonitoringMBSequence
446 TrackingDQMSourceTier0MinBias += voWcutMonitoringZBnoHIPnoOOTSequence
447 TrackingDQMSourceTier0MinBias += voWcutMonitoringZBHIPnoOOTSequence
448 TrackingDQMSourceTier0MinBias += voWcutMonitoringZBHIPOOTSequence
449 # PV resolution
450 TrackingDQMSourceTier0MinBias += primaryVertexResolution
451 
452 TrackingDQMSourceTier0MinBias += dqmInfoTracking
453 
load which dedx
load the different flavour of settings of the dEdxAnalyzer module
load which are the tracks collection 2 be monitored
load the different flavour of settings of the LogMessageMonitor module
load which are the module to monitor
load the different flavour of settings of the TrackingMonitor module
#define str(s)