1 import FWCore.ParameterSet.Config
as cms
2 import RecoTracker.IterativeTracking.iterativeTkConfig
as _cfg
3 import RecoTracker.IterativeTracking.iterativeTkUtils
as _utils
16 for tracks
in selectedTracks :
17 label =
'TrackerCollisionSelectedTrackMonCommon' +
str(tracks)
18 locals()[label] = TrackerCollisionTrackMonCommon.clone()
19 locals()[label].TrackProducer = cms.InputTag(tracks)
20 locals()[label].allTrackProducer = cms.InputTag(allTrackProducer[tracks])
21 locals()[label].FolderName = cms.string(mainfolderName[tracks])
22 locals()[label].PVFolderName = cms.string(vertexfolderName[tracks])
23 locals()[label].TrackPtMin = trackPtMin[tracks]
24 locals()[label].TrackPtBin = trackPtN[tracks]
25 locals()[label].TrackPtMax = trackPtMax[tracks]
26 locals()[label].TrackPBin = trackPtN[tracks]
27 locals()[label].TrackPMin = trackPtMin[tracks]
28 locals()[label].TrackPMax = trackPtMax[tracks]
29 locals()[label].doDCAPlots = doPlotsPCA[tracks]
30 locals()[label].doDCAwrtPVPlots = doPlotsPCA[tracks]
31 locals()[label].doDCAwrt000Plots = doPlotsPCA[tracks]
32 locals()[label].doSIPPlots = doPlotsPCA[tracks]
33 locals()[label].numCut = numCutString[tracks]
34 locals()[label].denCut = denCutString[tracks]
35 locals()[label].doGoodTracksPlots = doGoodTracksPlots [tracks]
36 locals()[label].doTrackerSpecific = doTrackerSpecific [tracks]
37 locals()[label].doHitPropertiesPlots = doHitPropertiesPlots [tracks]
38 locals()[label].doGeneralPropertiesPlots = doGeneralPropertiesPlots [tracks]
39 locals()[label].doBeamSpotPlots = doBeamSpotPlots [tracks]
40 locals()[label].doSeedParameterHistos = doSeedParameterHistos [tracks]
41 locals()[label].doRecHitVsPhiVsEtaPerTrack = doRecHitVsPhiVsEtaPerTrack [tracks]
42 locals()[label].doRecHitVsPtVsEtaPerTrack = doRecHitVsPtVsEtaPerTrack [tracks]
43 locals()[label].doGoodTrackRecHitVsPhiVsEtaPerTrack = doGoodTrackRecHitVsPhiVsEtaPerTrack [tracks]
44 locals()[label].doLayersVsPhiVsEtaPerTrack = doLayersVsPhiVsEtaPerTrack [tracks]
45 locals()[label].doGoodTrackLayersVsPhiVsEtaPerTrack = doGoodTrackLayersVsPhiVsEtaPerTrack [tracks]
46 locals()[label].doPUmonitoring = doPUmonitoring [tracks]
47 locals()[label].doPlotsVsBXlumi = doPlotsVsBXlumi [tracks]
48 locals()[label].doPlotsVsGoodPVtx = doPlotsVsGoodPVtx [tracks]
49 locals()[label].doEffFromHitPatternVsPU = doEffFromHitPatternVsPU [tracks]
50 locals()[label].doEffFromHitPatternVsLUMI = doEffFromHitPatternVsLumi [tracks]
51 if tracks ==
'generalTracks':
52 locals()[label].doEffFromHitPatternVsBX =
False 54 locals()[label].doEffFromHitPatternVsBX = doEffFromHitPatternVsBX[tracks]
56 locals()[label].setLabel(label)
59 label =
'TrackerCollisionSelectedTrackMonMB' +
str(tracks)
60 locals()[label] = TrackerCollisionTrackMonMB.clone()
61 locals()[label].TrackProducer = cms.InputTag(tracks)
62 locals()[label].FolderName = cms.string(mainfolderName[tracks])
63 locals()[label].PVFolderName = cms.string(vertexfolderName[tracks])
64 locals()[label].TrackPtMin = trackPtMin[tracks]
65 locals()[label].TrackPtBin = trackPtN[tracks]
66 locals()[label].TrackPtMax = trackPtMax[tracks]
67 locals()[label].TrackPBin = trackPtN[tracks]
68 locals()[label].TrackPMin = trackPtMin[tracks]
69 locals()[label].TrackPMax = trackPtMax[tracks]
70 locals()[label].doDCAPlots = doPlotsPCA[tracks]
71 locals()[label].doDCAwrtPVPlots = doPlotsPCA[tracks]
72 locals()[label].doDCAwrt000Plots = doPlotsPCA[tracks]
73 locals()[label].doSIPPlots = doPlotsPCA[tracks]
74 locals()[label].numCut = numCutString[tracks]
75 locals()[label].denCut = denCutString[tracks]
76 locals()[label].doGoodTracksPlots = doGoodTracksPlots [tracks]
77 locals()[label].doTrackerSpecific = doTrackerSpecific [tracks]
78 locals()[label].doHitPropertiesPlots = doHitPropertiesPlots [tracks]
79 locals()[label].doGeneralPropertiesPlots = doGeneralPropertiesPlots [tracks]
80 locals()[label].doBeamSpotPlots = doBeamSpotPlots [tracks]
81 locals()[label].doSeedParameterHistos = doSeedParameterHistos [tracks]
82 locals()[label].doRecHitVsPhiVsEtaPerTrack = doRecHitVsPhiVsEtaPerTrack [tracks]
83 locals()[label].doRecHitVsPtVsEtaPerTrack = doRecHitVsPtVsEtaPerTrack [tracks]
84 locals()[label].doGoodTrackRecHitVsPhiVsEtaPerTrack = doGoodTrackRecHitVsPhiVsEtaPerTrack [tracks]
85 locals()[label].doLayersVsPhiVsEtaPerTrack = doLayersVsPhiVsEtaPerTrack [tracks]
86 locals()[label].doGoodTrackLayersVsPhiVsEtaPerTrack = doGoodTrackLayersVsPhiVsEtaPerTrack [tracks]
87 locals()[label].doPUmonitoring = doPUmonitoring [tracks]
88 locals()[label].doPlotsVsBXlumi = doPlotsVsBXlumi [tracks]
89 locals()[label].doPlotsVsGoodPVtx = doPlotsVsGoodPVtx [tracks]
90 locals()[label].doPlotsVsLUMI = cms.bool(
True)
91 locals()[label].doPlotsVsBX = cms.bool(
True)
92 locals()[label].doEffFromHitPatternVsPU = doEffFromHitPatternVsPU [tracks]
93 locals()[label].doEffFromHitPatternVsBX = doEffFromHitPatternVsBX [tracks]
94 locals()[label].doEffFromHitPatternVsLUMI = cms.bool(
True)
95 locals()[label].doStopSource = doStopSource [tracks]
96 locals()[label].setLabel(label)
99 label =
'TrackerCollisionSelectedTrackMonZBnoHIPnoOOT' +
str(tracks)
100 locals()[label] = TrackerCollisionTrackMonZBnoHIPnoOOT.clone()
101 locals()[label].TrackProducer = cms.InputTag(tracks)
102 locals()[label].FolderName = cms.string(mainfolderName[tracks]+
"/noHIP_noOOT_INpu")
103 locals()[label].PVFolderName = cms.string(vertexfolderName[tracks]+
"/noHIP_noOOT_INpu")
104 locals()[label].TrackPtMin = trackPtMin[tracks]
105 locals()[label].TrackPtBin = trackPtN[tracks]
106 locals()[label].TrackPtMax = trackPtMax[tracks]
107 locals()[label].TrackPBin = trackPtN[tracks]
108 locals()[label].TrackPMin = trackPtMin[tracks]
109 locals()[label].TrackPMax = trackPtMax[tracks]
110 locals()[label].doDCAPlots = doPlotsPCA[tracks]
111 locals()[label].doDCAwrtPVPlots = doPlotsPCA[tracks]
112 locals()[label].doDCAwrt000Plots = doPlotsPCA[tracks]
113 locals()[label].doSIPPlots = doPlotsPCA[tracks]
114 locals()[label].numCut = numCutString[tracks]
115 locals()[label].denCut = denCutString[tracks]
116 locals()[label].doGoodTracksPlots = doGoodTracksPlots [tracks]
117 locals()[label].doTrackerSpecific = doTrackerSpecific [tracks]
118 locals()[label].doHitPropertiesPlots = doHitPropertiesPlots [tracks]
119 locals()[label].doGeneralPropertiesPlots = doGeneralPropertiesPlots [tracks]
120 locals()[label].doBeamSpotPlots = doBeamSpotPlots [tracks]
121 locals()[label].doSeedParameterHistos = doSeedParameterHistos [tracks]
122 locals()[label].doRecHitVsPhiVsEtaPerTrack = doRecHitVsPhiVsEtaPerTrack [tracks]
123 locals()[label].doRecHitVsPtVsEtaPerTrack = doRecHitVsPtVsEtaPerTrack [tracks]
124 locals()[label].doGoodTrackRecHitVsPhiVsEtaPerTrack = doGoodTrackRecHitVsPhiVsEtaPerTrack [tracks]
125 locals()[label].doLayersVsPhiVsEtaPerTrack = doLayersVsPhiVsEtaPerTrack [tracks]
126 locals()[label].doGoodTrackLayersVsPhiVsEtaPerTrack = doGoodTrackLayersVsPhiVsEtaPerTrack [tracks]
127 locals()[label].doPUmonitoring = doPUmonitoring [tracks]
128 locals()[label].doPlotsVsBXlumi = doPlotsVsBXlumi [tracks]
129 locals()[label].doPlotsVsGoodPVtx = doPlotsVsGoodPVtx [tracks]
130 locals()[label].doPlotsVsLUMI = cms.bool(
True)
131 locals()[label].doPlotsVsBX = cms.bool(
True)
132 locals()[label].doEffFromHitPatternVsPU = doEffFromHitPatternVsPU [tracks]
133 locals()[label].doEffFromHitPatternVsBX = doEffFromHitPatternVsBX [tracks]
134 locals()[label].doEffFromHitPatternVsLUMI =
False 135 locals()[label].doStopSource = doStopSource [tracks]
136 locals()[label].setLabel(label)
139 label =
'TrackerCollisionSelectedTrackMonZBHIPnoOOT' +
str(tracks)
140 locals()[label] = TrackerCollisionTrackMonZBHIPnoOOT.clone()
141 locals()[label].TrackProducer = cms.InputTag(tracks)
142 locals()[label].FolderName = cms.string(mainfolderName[tracks]+
"/HIP_noOOT_INpu")
143 locals()[label].PVFolderName = cms.string(vertexfolderName[tracks]+
"/HIP_noOOT_INpu")
144 locals()[label].TrackPtMin = trackPtMin[tracks]
145 locals()[label].TrackPtBin = trackPtN[tracks]
146 locals()[label].TrackPtMax = trackPtMax[tracks]
147 locals()[label].TrackPBin = trackPtN[tracks]
148 locals()[label].TrackPMin = trackPtMin[tracks]
149 locals()[label].TrackPMax = trackPtMax[tracks]
150 locals()[label].doDCAPlots = doPlotsPCA[tracks]
151 locals()[label].doDCAwrtPVPlots = doPlotsPCA[tracks]
152 locals()[label].doDCAwrt000Plots = doPlotsPCA[tracks]
153 locals()[label].doSIPPlots = doPlotsPCA[tracks]
154 locals()[label].numCut = numCutString[tracks]
155 locals()[label].denCut = denCutString[tracks]
156 locals()[label].doGoodTracksPlots = doGoodTracksPlots [tracks]
157 locals()[label].doTrackerSpecific = doTrackerSpecific [tracks]
158 locals()[label].doHitPropertiesPlots = doHitPropertiesPlots [tracks]
159 locals()[label].doGeneralPropertiesPlots = doGeneralPropertiesPlots [tracks]
160 locals()[label].doBeamSpotPlots = doBeamSpotPlots [tracks]
161 locals()[label].doSeedParameterHistos = doSeedParameterHistos [tracks]
162 locals()[label].doRecHitVsPhiVsEtaPerTrack = doRecHitVsPhiVsEtaPerTrack [tracks]
163 locals()[label].doRecHitVsPtVsEtaPerTrack = doRecHitVsPtVsEtaPerTrack [tracks]
164 locals()[label].doGoodTrackRecHitVsPhiVsEtaPerTrack = doGoodTrackRecHitVsPhiVsEtaPerTrack [tracks]
165 locals()[label].doLayersVsPhiVsEtaPerTrack = doLayersVsPhiVsEtaPerTrack [tracks]
166 locals()[label].doGoodTrackLayersVsPhiVsEtaPerTrack = doGoodTrackLayersVsPhiVsEtaPerTrack [tracks]
167 locals()[label].doPUmonitoring = doPUmonitoring [tracks]
168 locals()[label].doPlotsVsBXlumi = doPlotsVsBXlumi [tracks]
169 locals()[label].doPlotsVsGoodPVtx = doPlotsVsGoodPVtx [tracks]
170 locals()[label].doPlotsVsLUMI = cms.bool(
True)
171 locals()[label].doPlotsVsBX = cms.bool(
True)
172 locals()[label].doEffFromHitPatternVsPU = doEffFromHitPatternVsPU [tracks]
173 locals()[label].doEffFromHitPatternVsBX = doEffFromHitPatternVsBX [tracks]
174 locals()[label].doEffFromHitPatternVsLUMI =
False 175 locals()[label].doStopSource = doStopSource [tracks]
176 locals()[label].setLabel(label)
180 label =
'TrackerCollisionSelectedTrackMonZBHIPOOT' +
str(tracks)
181 locals()[label] = TrackerCollisionTrackMonZBHIPOOT.clone()
182 locals()[label].TrackProducer = cms.InputTag(tracks)
183 locals()[label].FolderName = cms.string(mainfolderName[tracks]+
"/HIP_OOT_noINpu")
184 locals()[label].PVFolderName = cms.string(vertexfolderName[tracks]+
"/HIP_OOT_noINpu")
185 locals()[label].TrackPtMin = trackPtMin[tracks]
186 locals()[label].TrackPtBin = trackPtN[tracks]
187 locals()[label].TrackPtMax = trackPtMax[tracks]
188 locals()[label].TrackPBin = trackPtN[tracks]
189 locals()[label].TrackPMin = trackPtMin[tracks]
190 locals()[label].TrackPMax = trackPtMax[tracks]
191 locals()[label].doDCAPlots = doPlotsPCA[tracks]
192 locals()[label].doDCAwrtPVPlots = doPlotsPCA[tracks]
193 locals()[label].doDCAwrt000Plots = doPlotsPCA[tracks]
194 locals()[label].doSIPPlots = doPlotsPCA[tracks]
195 locals()[label].numCut = numCutString[tracks]
196 locals()[label].denCut = denCutString[tracks]
197 locals()[label].doGoodTracksPlots = doGoodTracksPlots [tracks]
198 locals()[label].doTrackerSpecific = doTrackerSpecific [tracks]
199 locals()[label].doHitPropertiesPlots = doHitPropertiesPlots [tracks]
200 locals()[label].doGeneralPropertiesPlots = doGeneralPropertiesPlots [tracks]
201 locals()[label].doBeamSpotPlots = doBeamSpotPlots [tracks]
202 locals()[label].doSeedParameterHistos = doSeedParameterHistos [tracks]
203 locals()[label].doRecHitVsPhiVsEtaPerTrack = doRecHitVsPhiVsEtaPerTrack [tracks]
204 locals()[label].doRecHitVsPtVsEtaPerTrack = doRecHitVsPtVsEtaPerTrack [tracks]
205 locals()[label].doGoodTrackRecHitVsPhiVsEtaPerTrack = doGoodTrackRecHitVsPhiVsEtaPerTrack [tracks]
206 locals()[label].doLayersVsPhiVsEtaPerTrack = doLayersVsPhiVsEtaPerTrack [tracks]
207 locals()[label].doGoodTrackLayersVsPhiVsEtaPerTrack = doGoodTrackLayersVsPhiVsEtaPerTrack [tracks]
208 locals()[label].doPUmonitoring = doPUmonitoring [tracks]
209 locals()[label].doPlotsVsBXlumi = doPlotsVsBXlumi [tracks]
210 locals()[label].doPlotsVsGoodPVtx = doPlotsVsGoodPVtx [tracks]
211 locals()[label].doPlotsVsLUMI = cms.bool(
True)
212 locals()[label].doPlotsVsBX = cms.bool(
True)
213 locals()[label].doEffFromHitPatternVsPU = doEffFromHitPatternVsPU [tracks]
214 locals()[label].doEffFromHitPatternVsBX = doEffFromHitPatternVsBX [tracks]
215 locals()[label].doEffFromHitPatternVsLUMI =
False 216 locals()[label].doStopSource = doStopSource [tracks]
217 locals()[label].setLabel(label)
223 import DQM.TrackingMonitor.TrackingMonitorSeed_cfi
229 if hasattr(pset, name):
230 setattr(mod, name, getattr(pset, name))
231 for _step, _pset
in six.iteritems(seedMonitoring):
232 _mod = DQM.TrackingMonitor.TrackingMonitorSeed_cfi.TrackMonSeed.clone(
233 doTrackCandHistos = cms.bool(
True)
235 locals()[
'TrackSeedMon'+
str(_step)] = _mod
236 _mod.TrackProducer = cms.InputTag(
"generalTracks")
237 _mod.FolderName = cms.string(
"Tracking/TrackParameters/generalTracks")
238 _mod.SeedProducer = _pset.seedInputTag
239 _mod.TCProducer = _pset.trackCandInputTag
240 _mod.AlgoName = cms.string(
str(_step) )
241 _mod.TkSeedSizeBin = _pset.trackSeedSizeBin
242 _mod.TkSeedSizeMin = _pset.trackSeedSizeMin
243 _mod.TkSeedSizeMax = _pset.trackSeedSizeMax
244 _mod.ClusterLabels = _pset.clusterLabel
245 if _pset.clusterLabel == cms.vstring(
'Pix') :
246 _mod.NClusPxBin = _pset.clusterBin
247 _mod.NClusPxMax = _pset.clusterMax
248 elif _pset.clusterLabel == cms.vstring(
'Strip')
or _pset.clusterLabel == cms.vstring(
'Tot') :
249 _mod.NClusStrBin = _pset.clusterBin
250 _mod.NClusStrMax = _pset.clusterMax
251 if hasattr(_pset,
"RegionProducer")
or hasattr(_pset,
"RegionSeedingLayersProducer"):
252 _mod.doRegionPlots =
True 257 if hasattr(_pset,
"RegionCandidates"):
258 _mod.doRegionCandidatePlots =
True 259 _mod.RegionCandidates = _pset.RegionCandidates
260 if hasattr(_pset,
"trajCandPerSeedBin"):
261 _mod.SeedCandBin = _pset.trajCandPerSeedBin
262 _mod.SeedCandMax = _pset.trajCandPerSeedMax
265 from DQMServices.Core.DQMEDAnalyzer
import DQMEDAnalyzer
267 subSystemFolder = cms.untracked.string(
'Tracking')
277 for module
in selectedModules :
278 label =
str(module)+
'LogMessageMonCommon' 279 locals()[label] = LogMessageMonCommon.clone()
280 locals()[label].pluginsMonName = pluginsMonName[module]
281 locals()[label].modules = modulesLabel[module]
282 locals()[label].categories = categories[module]
283 locals()[label].setLabel(label)
285 label =
str(module)+
'LogMessageMonMB' 286 locals()[label] = LogMessageMonMB.clone()
287 locals()[label].pluginsMonName = pluginsMonName[module]
288 locals()[label].modules = modulesLabel[module]
289 locals()[label].categories = categories[module]
290 locals()[label].setLabel(label)
311 trackingDQMgoodOfflinePrimaryVertices = goodOfflinePrimaryVertices.clone()
317 TrackingDQMSourceTier0 = cms.Sequence(cms.ignore(trackingDQMgoodOfflinePrimaryVertices))
319 TrackingDQMSourceTier0 += dedxHarmonicSequence * dEdxMonCommon * dEdxHitMonCommon
323 for tracks
in selectedTracks :
324 if tracks !=
'generalTracks':
325 TrackingDQMSourceTier0 += cms.ignore(sequenceName[tracks])
326 label =
'TrackerCollisionSelectedTrackMonCommon' +
str(tracks)
327 TrackingDQMSourceTier0 += cms.ignore(locals()[label])
329 for _eraName, _postfix, _era
in _cfg.allEras():
330 mvaSel = _utils.getMVASelectors(_postfix)
331 _seq = cms.Sequence()
332 for step
in locals()[
"selectedIterTrackingStep"+_postfix]:
334 locals()[
"TrackSeedMon"+step].doMVAPlots =
True 335 locals()[
"TrackSeedMon"+step].TrackProducerForMVA = mvaSel[step][0]
336 locals()[
"TrackSeedMon"+step].MVAProducers = mvaSel[step][1]
338 _seq += locals()[
"TrackSeedMon"+step]
340 locals()[
"TrackSeedMonSequence"] = _seq
342 _era.toReplaceWith(TrackSeedMonSequence, _seq)
343 TrackingDQMSourceTier0 += TrackSeedMonSequence
345 for module
in selectedModules :
346 label =
str(module)+
'LogMessageMonCommon' 347 TrackingDQMSourceTier0 += locals()[label]
348 TrackingDQMSourceTier0 += voMonitoringSequence
349 TrackingDQMSourceTier0 += voWcutMonitoringSequence
350 TrackingDQMSourceTier0 += primaryVertexResolution
351 TrackingDQMSourceTier0 += dqmInfoTracking
354 TrackingDQMSourceTier0Common = cms.Sequence(cms.ignore(trackingDQMgoodOfflinePrimaryVertices))
356 TrackingDQMSourceTier0Common += (dedxHarmonicSequence * dEdxMonCommon * dEdxHitMonCommon)
358 for tracks
in selectedTracks :
359 if tracks !=
'generalTracks':
360 TrackingDQMSourceTier0Common+=cms.ignore(sequenceName[tracks])
361 label =
'TrackerCollisionSelectedTrackMonCommon' +
str(tracks)
362 TrackingDQMSourceTier0Common += cms.ignore(locals()[label])
364 TrackingDQMSourceTier0Common += TrackSeedMonSequence
366 for module
in selectedModules :
367 label =
str(module)+
'LogMessageMonCommon' 368 TrackingDQMSourceTier0Common += locals()[label]
369 TrackingDQMSourceTier0Common += voMonitoringCommonSequence
370 TrackingDQMSourceTier0Common += voWcutMonitoringCommonSequence
371 TrackingDQMSourceTier0Common += primaryVertexResolution
372 TrackingDQMSourceTier0Common += dqmInfoTracking
374 TrackingDQMSourceTier0MinBias = cms.Sequence(cms.ignore(trackingDQMgoodOfflinePrimaryVertices))
376 TrackingDQMSourceTier0MinBias += dedxHarmonicSequence * dEdxMonCommon * dEdxHitMonCommon
379 for tracks
in selectedTracks :
380 if tracks !=
'generalTracks':
381 TrackingDQMSourceTier0MinBias += cms.ignore(sequenceName[tracks])
383 for topology
in [
'MB',
'ZBnoHIPnoOOT',
'ZBHIPnoOOT',
'ZBHIPOOT']:
384 label =
'TrackerCollisionSelectedTrackMon' +
str(topology) +
str(tracks)
385 TrackingDQMSourceTier0MinBias += cms.ignore(locals()[label])
387 TrackingDQMSourceTier0MinBias += TrackSeedMonSequence
389 for module
in selectedModules :
390 label =
str(module)+
'LogMessageMonMB' 391 TrackingDQMSourceTier0MinBias += locals()[label]
393 TrackingDQMSourceTier0MinBias += voMonitoringMBSequence
394 TrackingDQMSourceTier0MinBias += voMonitoringZBnoHIPnoOOTSequence
395 TrackingDQMSourceTier0MinBias += voMonitoringZBHIPnoOOTSequence
396 TrackingDQMSourceTier0MinBias += voMonitoringZBHIPOOTSequence
397 TrackingDQMSourceTier0MinBias += voWcutMonitoringMBSequence
398 TrackingDQMSourceTier0MinBias += voWcutMonitoringZBnoHIPnoOOTSequence
399 TrackingDQMSourceTier0MinBias += voWcutMonitoringZBHIPnoOOTSequence
400 TrackingDQMSourceTier0MinBias += voWcutMonitoringZBHIPOOTSequence
402 TrackingDQMSourceTier0MinBias += primaryVertexResolution
404 TrackingDQMSourceTier0MinBias += dqmInfoTracking
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
def _copyIfExists(mod, pset, name)
load which are the module to monitor
load the different flavour of settings of the TrackingMonitor module