CMS 3D CMS Logo

TrackingMonitoring_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
4 trackingMonHLT = DQM.TrackingMonitor.TrackerCollisionTrackingMonitor_cfi.TrackerCollisionTrackMon.clone(
5  beamSpot = "hltOnlineBeamSpot",
6  primaryVertex = "hltPixelVertices",
7  doAllPlots = False,
8  doLumiAnalysis = False,
9  #doProfilesVsLS = True,
10  doDCAPlots = True,
11  pvNDOF = 1,
12  doProfilesVsLS = True,
13  #doPlotsVsGoodPVtx = True,
14  doEffFromHitPatternVsPU = True,
15  doEffFromHitPatternVsBX = True,
16  doEffFromHitPatternVsLUMI = True,
17  doPlotsVsGoodPVtx = True,
18  doPlotsVsLUMI = True,
19  doPlotsVsBX = True
20 )
21 pixelTracksMonitoringHLT = trackingMonHLT.clone(
22  FolderName = 'HLT/Tracking/pixelTracks',
23  TrackProducer = 'hltPixelTracks',
24  allTrackProducer = 'hltPixelTracks',
25  doEffFromHitPatternVsPU = False,
26  doEffFromHitPatternVsBX = False,
27  doEffFromHitPatternVsLUMI = False
28 )
29 
30 from Configuration.Eras.Modifier_pp_on_PbPb_run3_cff import pp_on_PbPb_run3
31 pp_on_PbPb_run3.toModify(pixelTracksMonitoringHLT,
32  primaryVertex = 'hltPixelVerticesPPOnAA',
33  TrackProducer = 'hltPixelTracksPPOnAA',
34  allTrackProducer = 'hltPixelTracksPPOnAA')
35 
36 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
37 phase2_tracker.toModify(pixelTracksMonitoringHLT,
38  primaryVertex = 'hltPhase2PixelVertices',
39  TrackProducer = 'hltPhase2PixelTracks',
40  allTrackProducer = 'hltPhase2PixelTracks')
41 
42 iter0TracksMonitoringHLT = trackingMonHLT.clone(
43  FolderName = 'HLT/Tracking/iter0',
44  TrackProducer = 'hltIter0PFlowCtfWithMaterialTracks',
45  allTrackProducer = 'hltIter0PFlowCtfWithMaterialTracks',
46  doEffFromHitPatternVsPU = True,
47  doEffFromHitPatternVsBX = False,
48  doEffFromHitPatternVsLUMI = False
49 )
50 iter0HPTracksMonitoringHLT = trackingMonHLT.clone(
51  FolderName = 'HLT/Tracking/iter0HP',
52  TrackProducer = 'hltIter0PFlowTrackSelectionHighPurity',
53  allTrackProducer = 'hltIter0PFlowTrackSelectionHighPurity',
54  doEffFromHitPatternVsPU = True,
55  doEffFromHitPatternVsBX = False,
56  doEffFromHitPatternVsLUMI = False
57 )
58 iter1TracksMonitoringHLT = trackingMonHLT.clone(
59  FolderName = 'HLT/Tracking/iter1',
60  TrackProducer = 'hltIter1PFlowCtfWithMaterialTracks',
61  allTrackProducer = 'hltIter1PFlowCtfWithMaterialTracks',
62  doEffFromHitPatternVsPU = True,
63  doEffFromHitPatternVsBX = False,
64  doEffFromHitPatternVsLUMI = False
65 )
66 iter1HPTracksMonitoringHLT = trackingMonHLT.clone(
67  FolderName = 'HLT/Tracking/iter1HP',
68  TrackProducer = 'hltIter1PFlowTrackSelectionHighPurity',
69  allTrackProducer = 'hltIter1PFlowTrackSelectionHighPurity',
70  doEffFromHitPatternVsPU = True,
71  doEffFromHitPatternVsBX = False,
72  doEffFromHitPatternVsLUMI = False
73 )
74 iter2TracksMonitoringHLT = trackingMonHLT.clone(
75  FolderName = 'HLT/Tracking/iter2',
76  TrackProducer = 'hltIter2PFlowCtfWithMaterialTracks',
77  allTrackProducer = 'hltIter2PFlowCtfWithMaterialTracks',
78  doEffFromHitPatternVsPU = True,
79  doEffFromHitPatternVsBX = False,
80  doEffFromHitPatternVsLUMI = False
81 )
82 iter2HPTracksMonitoringHLT = trackingMonHLT.clone(
83  FolderName = 'HLT/Tracking/iter2HP',
84  TrackProducer = 'hltIter2PFlowTrackSelectionHighPurity',
85  allTrackProducer = 'hltIter2PFlowTrackSelectionHighPurity',
86  doEffFromHitPatternVsPU = True,
87  doEffFromHitPatternVsBX = False,
88  doEffFromHitPatternVsLUMI = False
89 )
90 iter2MergedTracksMonitoringHLT = trackingMonHLT.clone(
91  FolderName = 'HLT/Tracking/iter2Merged',
92  TrackProducer = 'hltIter2Merged',
93  allTrackProducer = 'hltIter2Merged',
94  doEffFromHitPatternVsPU = True,
95  doEffFromHitPatternVsBX = False,
96  doEffFromHitPatternVsLUMI = False
97 )
98 iterHLTTracksMonitoringHLT = trackingMonHLT.clone(
99  FolderName = 'HLT/Tracking/tracks',
100  TrackProducer = 'hltMergedTracks',
101  allTrackProducer = 'hltMergedTracks',
102  doEffFromHitPatternVsPU = True,
103  doEffFromHitPatternVsBX = True,
104  doEffFromHitPatternVsLUMI = True,
105  doDCAPlots = True,
106  doPVPlots = cms.bool(True),
107  doBSPlots = cms.bool(True),
108  doSIPPlots = cms.bool(True)
109 )
110 
111 pp_on_PbPb_run3.toModify(iterHLTTracksMonitoringHLT,
112  primaryVertex = 'hltPixelVerticesPPOnAA',
113  TrackProducer = 'hltMergedTracksPPOnAA',
114  allTrackProducer = 'hltMergedTracksPPOnAA')
115 
116 phase2_tracker.toModify(iterHLTTracksMonitoringHLT,
117  primaryVertex = 'hltPhase2PixelVertices',
118  TrackProducer = 'generalTracks::HLT',
119  allTrackProducer = 'generalTracks::HLT')
120 
121 iter3TracksMonitoringHLT = trackingMonHLT.clone(
122  FolderName = 'HLT/Tracking/iter3Merged',
123  TrackProducer = 'hltIter3Merged',
124  allTrackProducer = 'hltIter3Merged'
125 )
126 iter4TracksMonitoringHLT = trackingMonHLT.clone(
127  FolderName = 'HLT/Tracking/iter4Merged',
128  TrackProducer = 'hltIter4Merged',
129  allTrackProducer = 'hltIter4Merged'
130 )
131 trackingMonitorHLT = cms.Sequence(
132  pixelTracksMonitoringHLT
133  + iter0HPTracksMonitoringHLT
134 # + iter1HPTracksMonitoringHLT
135 # + iter2HPTracksMonitoringHLT
136  + iter2MergedTracksMonitoringHLT
137  + iterHLTTracksMonitoringHLT
138 )
139 
140 trackingMonitorHLTall = cms.Sequence(
141  pixelTracksMonitoringHLT
142  + iter0TracksMonitoringHLT
143  + iter0HPTracksMonitoringHLT
144  + iter1TracksMonitoringHLT
145  + iter1HPTracksMonitoringHLT
146  + iter2TracksMonitoringHLT
147  + iter2HPTracksMonitoringHLT
148  + iter2MergedTracksMonitoringHLT
149  + iterHLTTracksMonitoringHLT
150 # + iter3TracksMonitoringHLT
151 # + iter4TracksMonitoringHLT
152 )
153 
154 doubletRecoveryHPTracksMonitoringHLT = trackingMonHLT.clone(
155  FolderName = 'HLT/Tracking/doubletRecoveryTracks',
156  TrackProducer = 'hltDoubletRecoveryPFlowTrackSelectionHighPurity',
157  allTrackProducer = 'hltDoubletRecoveryPFlowTrackSelectionHighPurity',
158  doEffFromHitPatternVsPU = True,
159  doEffFromHitPatternVsBX = False,
160  doEffFromHitPatternVsLUMI = False
161 )
162 
163 pp_on_PbPb_run3.toModify(doubletRecoveryHPTracksMonitoringHLT,
164  primaryVertex = 'hltPixelVerticesPPOnAA',
165  TrackProducer = 'hltDoubletRecoveryPFlowTrackSelectionHighPurityPPOnAA',
166  allTrackProducer = 'hltDoubletRecoveryPFlowTrackSelectionHighPurityPPOnAA')
167 
168 
174 egmTrackingMonHLT = trackingMonHLT.clone(
175  primaryVertex = "hltElectronsVertex",
176  doEffFromHitPatternVsPU = False,
177  doEffFromHitPatternVsBX = False,
178  doEffFromHitPatternVsLUMI = False
179 )
180 gsfTracksMonitoringHLT = egmTrackingMonHLT.clone(
181  FolderName = 'HLT/EGM/Tracking/GSF',
182  TrackProducer = 'hltEgammaGsfTracks',
183  allTrackProducer = 'hltEgammaGsfTracks'
184 )
185 pixelTracksForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
186  FolderName = 'HLT/EGM/Tracking/pixelTracks',
187  TrackProducer = 'hltPixelTracksElectrons',
188  allTrackProducer = 'hltPixelTracksElectrons'
189 )
190 iter0ForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
191  FolderName = 'HLT/EGM/Tracking/iter0',
192  TrackProducer = 'hltIter0ElectronsCtfWithMaterialTracks',
193  allTrackProducer = 'hltIter0ElectronsCtfWithMaterialTracks'
194 )
195 iter0HPForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
196  FolderName = 'HLT/EGM/Tracking/iter0HP',
197  TrackProducer = 'hltIter0ElectronsTrackSelectionHighPurity',
198  allTrackProducer = 'hltIter0ElectronsTrackSelectionHighPurity'
199 )
200 iter1ForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
201  FolderName = 'HLT/EGM/Tracking/iter1',
202  TrackProducer = 'hltIter1ElectronsCtfWithMaterialTracks',
203  allTrackProducer = 'hltIter1ElectronsCtfWithMaterialTracks'
204 )
205 iter1HPForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
206  FolderName = 'HLT/EGM/Tracking/iter1HP',
207  TrackProducer = 'hltIter1ElectronsTrackSelectionHighPurity',
208  allTrackProducer = 'hltIter1ElectronsTrackSelectionHighPurity'
209 )
210 iter1MergedForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
211  FolderName = 'HLT/EGM/Tracking/iter1Merged',
212  TrackProducer = 'hltIter1MergedForElectrons',
213  allTrackProducer = 'hltIter1MergedForElectrons'
214 )
215 iter2ForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
216  FolderName = 'HLT/EGM/Tracking/iter2',
217  TrackProducer = 'hltIter2ElectronsCtfWithMaterialTracks',
218  allTrackProducer = 'hltIter2ElectronsCtfWithMaterialTracks'
219 )
220 iter2HPForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
221  FolderName = 'HLT/EGM/Tracking/iter2HP',
222  TrackProducer = 'hltIter2ElectronsTrackSelectionHighPurity',
223  allTrackProducer = 'hltIter2ElectronsTrackSelectionHighPurity'
224 )
225 iterHLTTracksForElectronsMonitoringHLT = egmTrackingMonHLT.clone(
226  FolderName = 'HLT/EGM/Tracking/iter2Merged',
227  TrackProducer = 'hltIter2MergedForElectrons',
228  allTrackProducer = 'hltIter2MergedForElectrons'
229 )
230 
231 egmTrackingMonitorHLT = cms.Sequence(
232  gsfTracksMonitoringHLT
233  + pixelTracksForElectronsTracksMonitoringHLT
234  + iter0HPForElectronsTracksMonitoringHLT
235 # + iter1HPForElectronsTracksMonitoringHLT
236 # + iter2HPForElectronsTracksMonitoringHLT
237  + iterHLTTracksForElectronsMonitoringHLT
238 )
239 
240 trkHLTDQMSourceExtra = cms.Sequence(
241 )
242 
243 from Configuration.Eras.Modifier_run3_common_cff import run3_common
244 run3_common.toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT + doubletRecoveryHPTracksMonitoringHLT )) # + iter0HPTracksMonitoringHLT ))
245 phase2_tracker.toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT))
246 
247 run3_common.toReplaceWith(trackingMonitorHLTall, cms.Sequence(pixelTracksMonitoringHLT + iter0TracksMonitoringHLT + iterHLTTracksMonitoringHLT))
248 run3_common.toReplaceWith(egmTrackingMonitorHLT, cms.Sequence(gsfTracksMonitoringHLT))