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_phase2_tracker_cff import phase2_tracker
31 phase2_tracker.toModify(pixelTracksMonitoringHLT,
32  TrackProducer = 'hltPhase2PixelTracks',
33  allTrackProducer = 'hltPhase2PixelTracks')
34 
35 iter0TracksMonitoringHLT = trackingMonHLT.clone(
36  FolderName = 'HLT/Tracking/iter0',
37  TrackProducer = 'hltIter0PFlowCtfWithMaterialTracks',
38  allTrackProducer = 'hltIter0PFlowCtfWithMaterialTracks',
39  doEffFromHitPatternVsPU = True,
40  doEffFromHitPatternVsBX = False,
41  doEffFromHitPatternVsLUMI = False
42 )
43 iter0HPTracksMonitoringHLT = trackingMonHLT.clone(
44  FolderName = 'HLT/Tracking/iter0HP',
45  TrackProducer = 'hltIter0PFlowTrackSelectionHighPurity',
46  allTrackProducer = 'hltIter0PFlowTrackSelectionHighPurity',
47  doEffFromHitPatternVsPU = True,
48  doEffFromHitPatternVsBX = False,
49  doEffFromHitPatternVsLUMI = False
50 )
51 iter1TracksMonitoringHLT = trackingMonHLT.clone(
52  FolderName = 'HLT/Tracking/iter1',
53  TrackProducer = 'hltIter1PFlowCtfWithMaterialTracks',
54  allTrackProducer = 'hltIter1PFlowCtfWithMaterialTracks',
55  doEffFromHitPatternVsPU = True,
56  doEffFromHitPatternVsBX = False,
57  doEffFromHitPatternVsLUMI = False
58 )
59 iter1HPTracksMonitoringHLT = trackingMonHLT.clone(
60  FolderName = 'HLT/Tracking/iter1HP',
61  TrackProducer = 'hltIter1PFlowTrackSelectionHighPurity',
62  allTrackProducer = 'hltIter1PFlowTrackSelectionHighPurity',
63  doEffFromHitPatternVsPU = True,
64  doEffFromHitPatternVsBX = False,
65  doEffFromHitPatternVsLUMI = False
66 )
67 iter2TracksMonitoringHLT = trackingMonHLT.clone(
68  FolderName = 'HLT/Tracking/iter2',
69  TrackProducer = 'hltIter2PFlowCtfWithMaterialTracks',
70  allTrackProducer = 'hltIter2PFlowCtfWithMaterialTracks',
71  doEffFromHitPatternVsPU = True,
72  doEffFromHitPatternVsBX = False,
73  doEffFromHitPatternVsLUMI = False
74 )
75 iter2HPTracksMonitoringHLT = trackingMonHLT.clone(
76  FolderName = 'HLT/Tracking/iter2HP',
77  TrackProducer = 'hltIter2PFlowTrackSelectionHighPurity',
78  allTrackProducer = 'hltIter2PFlowTrackSelectionHighPurity',
79  doEffFromHitPatternVsPU = True,
80  doEffFromHitPatternVsBX = False,
81  doEffFromHitPatternVsLUMI = False
82 )
83 iter2MergedTracksMonitoringHLT = trackingMonHLT.clone(
84  FolderName = 'HLT/Tracking/iter2Merged',
85  TrackProducer = 'hltIter2Merged',
86  allTrackProducer = 'hltIter2Merged',
87  doEffFromHitPatternVsPU = True,
88  doEffFromHitPatternVsBX = False,
89  doEffFromHitPatternVsLUMI = False
90 )
91 iterHLTTracksMonitoringHLT = trackingMonHLT.clone(
92  FolderName = 'HLT/Tracking/tracks',
93  TrackProducer = 'hltMergedTracks',
94  allTrackProducer = 'hltMergedTracks',
95  doEffFromHitPatternVsPU = True,
96  doEffFromHitPatternVsBX = True,
97  doEffFromHitPatternVsLUMI = True,
98  doDCAPlots = True,
99  doPVPlots = cms.bool(True),
100  doBSPlots = cms.bool(True),
101  doSIPPlots = cms.bool(True)
102 )
103 
104 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
105 phase2_tracker.toModify(iterHLTTracksMonitoringHLT,
106  TrackProducer = cms.InputTag("generalTracks","","HLT"),
107  allTrackProducer = cms.InputTag("generalTracks","","HLT"))
108 
109 iter3TracksMonitoringHLT = trackingMonHLT.clone(
110  FolderName = 'HLT/Tracking/iter3Merged',
111  TrackProducer = 'hltIter3Merged',
112  allTrackProducer = 'hltIter3Merged'
113 )
114 iter4TracksMonitoringHLT = trackingMonHLT.clone(
115  FolderName = 'HLT/Tracking/iter4Merged',
116  TrackProducer = 'hltIter4Merged',
117  allTrackProducer = 'hltIter4Merged'
118 )
119 trackingMonitorHLT = cms.Sequence(
120  pixelTracksMonitoringHLT
121  + iter0HPTracksMonitoringHLT
122 # + iter1HPTracksMonitoringHLT
123 # + iter2HPTracksMonitoringHLT
124  + iter2MergedTracksMonitoringHLT
125  + iterHLTTracksMonitoringHLT
126 )
127 
128 trackingMonitorHLTall = cms.Sequence(
129  pixelTracksMonitoringHLT
130  + iter0TracksMonitoringHLT
131  + iter0HPTracksMonitoringHLT
132  + iter1TracksMonitoringHLT
133  + iter1HPTracksMonitoringHLT
134  + iter2TracksMonitoringHLT
135  + iter2HPTracksMonitoringHLT
136  + iter2MergedTracksMonitoringHLT
137  + iterHLTTracksMonitoringHLT
138 # + iter3TracksMonitoringHLT
139 # + iter4TracksMonitoringHLT
140 )
141 
142 doubletRecoveryHPTracksMonitoringHLT = trackingMonHLT.clone(
143  FolderName = 'HLT/Tracking/doubletRecoveryTracks',
144  TrackProducer = 'hltDoubletRecoveryPFlowTrackSelectionHighPurity',
145  allTrackProducer = 'hltDoubletRecoveryPFlowTrackSelectionHighPurity',
146  doEffFromHitPatternVsPU = True,
147  doEffFromHitPatternVsBX = False,
148  doEffFromHitPatternVsLUMI = False
149 )
150 
151 
157 egmTrackingMonHLT = trackingMonHLT.clone(
158  primaryVertex = "hltElectronsVertex",
159  doEffFromHitPatternVsPU = False,
160  doEffFromHitPatternVsBX = False,
161  doEffFromHitPatternVsLUMI = False
162 )
163 gsfTracksMonitoringHLT = egmTrackingMonHLT.clone(
164  FolderName = 'HLT/EGM/Tracking/GSF',
165  TrackProducer = 'hltEgammaGsfTracks',
166  allTrackProducer = 'hltEgammaGsfTracks'
167 )
168 pixelTracksForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
169  FolderName = 'HLT/EGM/Tracking/pixelTracks',
170  TrackProducer = 'hltPixelTracksElectrons',
171  allTrackProducer = 'hltPixelTracksElectrons'
172 )
173 iter0ForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
174  FolderName = 'HLT/EGM/Tracking/iter0',
175  TrackProducer = 'hltIter0ElectronsCtfWithMaterialTracks',
176  allTrackProducer = 'hltIter0ElectronsCtfWithMaterialTracks'
177 )
178 iter0HPForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
179  FolderName = 'HLT/EGM/Tracking/iter0HP',
180  TrackProducer = 'hltIter0ElectronsTrackSelectionHighPurity',
181  allTrackProducer = 'hltIter0ElectronsTrackSelectionHighPurity'
182 )
183 iter1ForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
184  FolderName = 'HLT/EGM/Tracking/iter1',
185  TrackProducer = 'hltIter1ElectronsCtfWithMaterialTracks',
186  allTrackProducer = 'hltIter1ElectronsCtfWithMaterialTracks'
187 )
188 iter1HPForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
189  FolderName = 'HLT/EGM/Tracking/iter1HP',
190  TrackProducer = 'hltIter1ElectronsTrackSelectionHighPurity',
191  allTrackProducer = 'hltIter1ElectronsTrackSelectionHighPurity'
192 )
193 iter1MergedForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
194  FolderName = 'HLT/EGM/Tracking/iter1Merged',
195  TrackProducer = 'hltIter1MergedForElectrons',
196  allTrackProducer = 'hltIter1MergedForElectrons'
197 )
198 iter2ForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
199  FolderName = 'HLT/EGM/Tracking/iter2',
200  TrackProducer = 'hltIter2ElectronsCtfWithMaterialTracks',
201  allTrackProducer = 'hltIter2ElectronsCtfWithMaterialTracks'
202 )
203 iter2HPForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone(
204  FolderName = 'HLT/EGM/Tracking/iter2HP',
205  TrackProducer = 'hltIter2ElectronsTrackSelectionHighPurity',
206  allTrackProducer = 'hltIter2ElectronsTrackSelectionHighPurity'
207 )
208 iterHLTTracksForElectronsMonitoringHLT = egmTrackingMonHLT.clone(
209  FolderName = 'HLT/EGM/Tracking/iter2Merged',
210  TrackProducer = 'hltIter2MergedForElectrons',
211  allTrackProducer = 'hltIter2MergedForElectrons'
212 )
213 
214 egmTrackingMonitorHLT = cms.Sequence(
215  gsfTracksMonitoringHLT
216  + pixelTracksForElectronsTracksMonitoringHLT
217  + iter0HPForElectronsTracksMonitoringHLT
218 # + iter1HPForElectronsTracksMonitoringHLT
219 # + iter2HPForElectronsTracksMonitoringHLT
220  + iterHLTTracksForElectronsMonitoringHLT
221 )
222 
223 trkHLTDQMSourceExtra = cms.Sequence(
224 )
225 
226 from Configuration.Eras.Modifier_run3_common_cff import run3_common
227 run3_common.toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT + doubletRecoveryHPTracksMonitoringHLT )) # + iter0HPTracksMonitoringHLT ))
228 phase2_tracker.toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT))
229 
230 run3_common.toReplaceWith(trackingMonitorHLTall, cms.Sequence(pixelTracksMonitoringHLT + iter0TracksMonitoringHLT + iterHLTTracksMonitoringHLT))
231 run3_common.toReplaceWith(egmTrackingMonitorHLT, cms.Sequence(gsfTracksMonitoringHLT))