CMS 3D CMS Logo

TrackCollections2monitor_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 allTrackProducer = {}
4 mainfolderName = {}
5 vertexfolderName = {}
6 sequenceName = {}
7 trackPtN = {}
8 trackPtMin = {}
9 trackPtMax = {}
10 doPlotsPCA = {}
11 numCutString = {}
12 denCutString = {}
13 doGoodTracksPlots = {}
14 doTrackerSpecific = {}
15 doHitPropertiesPlots = {}
16 doGeneralPropertiesPlots = {}
17 doBeamSpotPlots = {}
18 doSeedParameterHistos = {}
19 doRecHitVsPhiVsEtaPerTrack = {}
20 doRecHitVsPtVsEtaPerTrack = {}
21 doGoodTrackRecHitVsPhiVsEtaPerTrack = {}
22 doLayersVsPhiVsEtaPerTrack = {}
23 doGoodTrackLayersVsPhiVsEtaPerTrack = {}
24 doPUmonitoring = {}
25 doPlotsVsBXlumi = {}
26 doPlotsVsGoodPVtx = {}
27 doEffFromHitPatternVsPU = {}
28 doEffFromHitPatternVsBX = {}
29 doEffFromHitPatternVsLumi = {}
30 doStopSource = {}
31 
32 selectedTracks = []
33 
34 allTrackProducer['generalTracks'] = 'generalTracks'
35 mainfolderName ['generalTracks'] = 'Tracking/TrackParameters/generalTracks'
36 vertexfolderName['generalTracks'] = 'Tracking/PrimaryVertices/generalTracks'
37 trackPtN ['generalTracks'] = cms.int32(100)
38 trackPtMin ['generalTracks'] = cms.double(0.)
39 trackPtMax ['generalTracks'] = cms.double(100.)
40 doPlotsPCA ['generalTracks'] = cms.bool(False)
41 numCutString ['generalTracks'] = cms.string("quality('highPurity')") # num := den + quality('highPurity')
42 denCutString ['generalTracks'] = cms.string("") # den := kinematics cuts
43 doGoodTracksPlots ['generalTracks'] = cms.bool(True)
44 doTrackerSpecific ['generalTracks'] = cms.bool(True)
45 doHitPropertiesPlots ['generalTracks'] = cms.bool(True)
46 doGeneralPropertiesPlots ['generalTracks'] = cms.bool(True)
47 doBeamSpotPlots ['generalTracks'] = cms.bool(True)
48 doSeedParameterHistos ['generalTracks'] = cms.bool(False)
49 doRecHitVsPhiVsEtaPerTrack ['generalTracks'] = cms.bool(True)
50 doRecHitVsPtVsEtaPerTrack ['generalTracks'] = cms.bool(True)
51 doGoodTrackRecHitVsPhiVsEtaPerTrack ['generalTracks'] = cms.bool(True)
52 doLayersVsPhiVsEtaPerTrack ['generalTracks'] = cms.bool(True)
53 doGoodTrackLayersVsPhiVsEtaPerTrack ['generalTracks'] = cms.bool(True)
54 doPUmonitoring ['generalTracks'] = cms.bool(False)
55 doPlotsVsBXlumi ['generalTracks'] = cms.bool(False)
56 doPlotsVsGoodPVtx ['generalTracks'] = cms.bool(True)
57 doEffFromHitPatternVsPU ['generalTracks'] = cms.bool(True)
58 doEffFromHitPatternVsBX ['generalTracks'] = cms.bool(False)
59 doEffFromHitPatternVsLumi ['generalTracks'] = cms.bool(False)
60 doStopSource ['generalTracks'] = cms.bool(True)
61 
62 trackSelector = cms.EDFilter('TrackSelector',
63  src = cms.InputTag('generalTracks'),
64  cut = cms.string("")
65 )
66 
67 ### highpurity definition: https://cmssdt.cern.ch/SDT/lxr/source/RecoTracker/FinalTrackSelectors/python/selectHighPurity_cfi.py
68 highPurityPtRange0to1 = trackSelector.clone()
69 highPurityPtRange0to1.cut = cms.string("quality('highPurity') & pt >= 0 & pt < 1 ")
70 
71 sequenceName ['highPurityPtRange0to1'] = highPurityPtRange0to1
72 allTrackProducer['highPurityPtRange0to1'] = 'generalTracks'
73 mainfolderName ['highPurityPtRange0to1'] = 'Tracking/TrackParameters/highPurityTracks/pt_0to1'
74 vertexfolderName['highPurityPtRange0to1'] = 'Tracking/PrimaryVertices/highPurityTracks/pt_0to1'
75 trackPtN ['highPurityPtRange0to1'] = cms.int32(10)
76 trackPtMin ['highPurityPtRange0to1'] = cms.double(0.)
77 trackPtMax ['highPurityPtRange0to1'] = cms.double(1.)
78 numCutString ['highPurityPtRange0to1'] = cms.string(" pt >= 0 & pt < 1 & quality('highPurity')") # num := den + quality('highPurity') [it is the same as the main selection, but just to be sure ...]
79 denCutString ['highPurityPtRange0to1'] = cms.string(" pt >= 0 & pt < 1 ") # den := kinematics cut
80 doPlotsPCA ['highPurityPtRange0to1'] = cms.bool(False)
81 doGoodTracksPlots ['highPurityPtRange0to1'] = cms.bool(False)
82 doTrackerSpecific ['highPurityPtRange0to1'] = cms.bool(False)
83 doHitPropertiesPlots ['highPurityPtRange0to1'] = cms.bool(True)
84 doGeneralPropertiesPlots ['highPurityPtRange0to1'] = cms.bool(True)
85 doBeamSpotPlots ['highPurityPtRange0to1'] = cms.bool(True)
86 doSeedParameterHistos ['highPurityPtRange0to1'] = cms.bool(False)
87 doRecHitVsPhiVsEtaPerTrack ['highPurityPtRange0to1'] = cms.bool(True)
88 doRecHitVsPtVsEtaPerTrack ['highPurityPtRange0to1'] = cms.bool(True)
89 doGoodTrackRecHitVsPhiVsEtaPerTrack ['highPurityPtRange0to1'] = cms.bool(False)
90 doLayersVsPhiVsEtaPerTrack ['highPurityPtRange0to1'] = cms.bool(True)
91 doGoodTrackLayersVsPhiVsEtaPerTrack ['highPurityPtRange0to1'] = cms.bool(False)
92 doPUmonitoring ['highPurityPtRange0to1'] = cms.bool(True)
93 doPlotsVsBXlumi ['highPurityPtRange0to1'] = cms.bool(False)
94 doPlotsVsGoodPVtx ['highPurityPtRange0to1'] = cms.bool(True)
95 doEffFromHitPatternVsPU ['highPurityPtRange0to1'] = cms.bool(False)
96 doEffFromHitPatternVsBX ['highPurityPtRange0to1'] = cms.bool(False)
97 doEffFromHitPatternVsLumi ['highPurityPtRange0to1'] = cms.bool(False)
98 doStopSource ['highPurityPtRange0to1'] = cms.bool(True)
99 
100 highPurityPtRange1to10 = trackSelector.clone()
101 highPurityPtRange1to10.cut = cms.string("quality('highPurity') & pt >= 1 & pt < 10 ")
102 
103 sequenceName ['highPurityPtRange1to10'] = highPurityPtRange1to10
104 allTrackProducer['highPurityPtRange1to10'] = 'generalTracks'
105 mainfolderName ['highPurityPtRange1to10'] = 'Tracking/TrackParameters/highPurityTracks/pt_1to10'
106 vertexfolderName['highPurityPtRange1to10'] = 'Tracking/PrimaryVertices/highPurityTracks/pt_1to10'
107 trackPtN ['highPurityPtRange1to10'] = cms.int32(10)
108 trackPtMin ['highPurityPtRange1to10'] = cms.double(1.)
109 trackPtMax ['highPurityPtRange1to10'] = cms.double(10.)
110 numCutString ['highPurityPtRange1to10'] = cms.string(" pt >= 1 & pt < 10 & quality('highPurity')") # num := den + quality('highPurity') [it is the same as the main selection, but just to be sure ...]
111 denCutString ['highPurityPtRange1to10'] = cms.string(" pt >= 1 & pt < 10 ") # den := kinematics cuts
112 doGoodTracksPlots ['highPurityPtRange1to10'] = cms.bool(True)
113 doTrackerSpecific ['highPurityPtRange1to10'] = cms.bool(True)
114 doHitPropertiesPlots ['highPurityPtRange1to10'] = cms.bool(True)
115 doGeneralPropertiesPlots ['highPurityPtRange1to10'] = cms.bool(True)
116 doBeamSpotPlots ['highPurityPtRange1to10'] = cms.bool(True)
117 doSeedParameterHistos ['highPurityPtRange1to10'] = cms.bool(False)
118 doRecHitVsPhiVsEtaPerTrack ['highPurityPtRange1to10'] = cms.bool(True)
119 doRecHitVsPtVsEtaPerTrack ['highPurityPtRange1to10'] = cms.bool(True)
120 doGoodTrackRecHitVsPhiVsEtaPerTrack ['highPurityPtRange1to10'] = cms.bool(True)
121 doLayersVsPhiVsEtaPerTrack ['highPurityPtRange1to10'] = cms.bool(True)
122 doGoodTrackLayersVsPhiVsEtaPerTrack ['highPurityPtRange1to10'] = cms.bool(True)
123 doPUmonitoring ['highPurityPtRange1to10'] = cms.bool(False)
124 doPlotsVsBXlumi ['highPurityPtRange1to10'] = cms.bool(False)
125 doPlotsVsGoodPVtx ['highPurityPtRange1to10'] = cms.bool(True)
126 doEffFromHitPatternVsPU ['highPurityPtRange1to10'] = cms.bool(False)
127 doEffFromHitPatternVsBX ['highPurityPtRange1to10'] = cms.bool(False)
128 doEffFromHitPatternVsLumi ['highPurityPtRange1to10'] = cms.bool(False)
129 doStopSource ['highPurityPtRange1to10'] = cms.bool(True)
130 
131 highPurityPt10 = trackSelector.clone()
132 highPurityPt10.cut = cms.string("quality('highPurity') & pt >= 10")
133 
134 sequenceName ['highPurityPt10'] = highPurityPt10
135 allTrackProducer['highPurityPt10'] = 'generalTracks'
136 mainfolderName ['highPurityPt10'] = 'Tracking/TrackParameters/highPurityTracks/pt_10'
137 vertexfolderName['highPurityPt10'] = 'Tracking/PrimaryVertices/highPurityTracks/pt_10'
138 trackPtN ['highPurityPt10'] = cms.int32(100)
139 trackPtMin ['highPurityPt10'] = cms.double(10.)
140 trackPtMax ['highPurityPt10'] = cms.double(110.)
141 numCutString ['highPurityPt10'] = cms.string(" pt >= 10 & quality('highPurity')") # num := den + quality('highPurity') [it is the same as the main selection, but just to be sure ...]
142 denCutString ['highPurityPt10'] = cms.string(" pt >= 10 ") # den := kinematics cuts
143 doGoodTracksPlots ['highPurityPt10'] = cms.bool(True)
144 doTrackerSpecific ['highPurityPt10'] = cms.bool(True)
145 doHitPropertiesPlots ['highPurityPt10'] = cms.bool(True)
146 doGeneralPropertiesPlots ['highPurityPt10'] = cms.bool(True)
147 doBeamSpotPlots ['highPurityPt10'] = cms.bool(True)
148 doSeedParameterHistos ['highPurityPt10'] = cms.bool(False)
149 doRecHitVsPhiVsEtaPerTrack ['highPurityPt10'] = cms.bool(True)
150 doRecHitVsPtVsEtaPerTrack ['highPurityPt10'] = cms.bool(True)
151 doGoodTrackRecHitVsPhiVsEtaPerTrack ['highPurityPt10'] = cms.bool(True)
152 doLayersVsPhiVsEtaPerTrack ['highPurityPt10'] = cms.bool(True)
153 doGoodTrackLayersVsPhiVsEtaPerTrack ['highPurityPt10'] = cms.bool(True)
154 doPUmonitoring ['highPurityPt10'] = cms.bool(False)
155 doPlotsVsBXlumi ['highPurityPt10'] = cms.bool(False)
156 doPlotsVsGoodPVtx ['highPurityPt10'] = cms.bool(True)
157 doEffFromHitPatternVsPU ['highPurityPt10'] = cms.bool(False)
158 doEffFromHitPatternVsBX ['highPurityPt10'] = cms.bool(False)
159 doEffFromHitPatternVsLumi ['highPurityPt10'] = cms.bool(False)
160 doStopSource ['highPurityPt10'] = cms.bool(True)
161 
162 ###### old monitored track collections
163 highPurityPt1 = trackSelector.clone()
164 highPurityPt1.cut = cms.string("quality('highPurity') & pt >= 1")
165 
166 sequenceName ['highPurityPt1'] = highPurityPt1
167 allTrackProducer['highPurityPt1'] = 'generalTracks'
168 mainfolderName ['highPurityPt1'] = 'Tracking/TrackParameters/highPurityTracks/pt_1'
169 vertexfolderName['highPurityPt1'] = 'Tracking/PrimaryVertices/highPurityTracks/pt_1'
170 trackPtN ['highPurityPt1'] = cms.int32(100)
171 trackPtMin ['highPurityPt1'] = cms.double(0.)
172 trackPtMax ['highPurityPt1'] = cms.double(100.)
173 doPlotsPCA ['highPurityPt1'] = cms.bool(True)
174 numCutString ['highPurityPt1'] = cms.string(" pt >= 1 & quality('highPurity')") # num := den + quality('highPurity') [it is the same as the main selection, but just to be sure ...]
175 denCutString ['highPurityPt1'] = cms.string(" pt >= 1 ") # den := kinematics cut
176 doGoodTracksPlots ['highPurityPt1'] = cms.bool(True)
177 doTrackerSpecific ['highPurityPt1'] = cms.bool(True)
178 doHitPropertiesPlots ['highPurityPt1'] = cms.bool(True)
179 doGeneralPropertiesPlots ['highPurityPt1'] = cms.bool(True)
180 doBeamSpotPlots ['highPurityPt1'] = cms.bool(True)
181 doSeedParameterHistos ['highPurityPt1'] = cms.bool(False)
182 doRecHitVsPhiVsEtaPerTrack ['highPurityPt1'] = cms.bool(True)
183 doRecHitVsPtVsEtaPerTrack ['highPurityPt1'] = cms.bool(True)
184 doGoodTrackRecHitVsPhiVsEtaPerTrack ['highPurityPt1'] = cms.bool(True)
185 doLayersVsPhiVsEtaPerTrack ['highPurityPt1'] = cms.bool(True)
186 doGoodTrackLayersVsPhiVsEtaPerTrack ['highPurityPt1'] = cms.bool(True)
187 doPUmonitoring ['highPurityPt1'] = cms.bool(False)
188 doPlotsVsBXlumi ['highPurityPt1'] = cms.bool(False)
189 doPlotsVsGoodPVtx ['highPurityPt1'] = cms.bool(True)
190 doEffFromHitPatternVsPU ['highPurityPt1'] = cms.bool(True)
191 doEffFromHitPatternVsBX ['highPurityPt1'] = cms.bool(True)
192 doEffFromHitPatternVsLumi ['highPurityPt1'] = cms.bool(True)
193 doStopSource ['highPurityPt1'] = cms.bool(True)
194 
195 ###### forward-only monitored track collections
196 highPurityPt1Eta2p5to3p0 = trackSelector.clone()
197 highPurityPt1Eta2p5to3p0.cut = cms.string("quality('highPurity') & pt >= 1 & abs(eta) > 2.5")
198 
199 sequenceName ['highPurityPt1Eta2p5to3p0'] = highPurityPt1Eta2p5to3p0
200 allTrackProducer['highPurityPt1Eta2p5to3p0'] = 'generalTracks'
201 mainfolderName ['highPurityPt1Eta2p5to3p0'] = 'Tracking/TrackParameters/highPurityTracks/pt_1_Eta_2p5'
202 vertexfolderName['highPurityPt1Eta2p5to3p0'] = 'Tracking/PrimaryVertices/highPurityTracks/pt_1_Eta_2p5'
203 trackPtN ['highPurityPt1Eta2p5to3p0'] = cms.int32(100)
204 trackPtMin ['highPurityPt1Eta2p5to3p0'] = cms.double(0.)
205 trackPtMax ['highPurityPt1Eta2p5to3p0'] = cms.double(100.)
206 doPlotsPCA ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
207 numCutString ['highPurityPt1Eta2p5to3p0'] = cms.string(" pt >= 1 & abs(eta) > 2.5 & quality('highPurity')") # num := den + quality('highPurity') [it is the same as the main selection, but just to be sure ...]
208 denCutString ['highPurityPt1Eta2p5to3p0'] = cms.string(" pt >= 1 & abs(eta) > 2.5") # den := kinematics cut
209 doGoodTracksPlots ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
210 doTrackerSpecific ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
211 doHitPropertiesPlots ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
212 doGeneralPropertiesPlots ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
213 doBeamSpotPlots ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
214 doSeedParameterHistos ['highPurityPt1Eta2p5to3p0'] = cms.bool(False)
215 doRecHitVsPhiVsEtaPerTrack ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
216 doRecHitVsPtVsEtaPerTrack ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
217 doGoodTrackRecHitVsPhiVsEtaPerTrack ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
218 doLayersVsPhiVsEtaPerTrack ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
219 doGoodTrackLayersVsPhiVsEtaPerTrack ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
220 doPUmonitoring ['highPurityPt1Eta2p5to3p0'] = cms.bool(False)
221 doPlotsVsBXlumi ['highPurityPt1Eta2p5to3p0'] = cms.bool(False)
222 doPlotsVsGoodPVtx ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
223 doEffFromHitPatternVsPU ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
224 doEffFromHitPatternVsBX ['highPurityPt1Eta2p5to3p0'] = cms.bool(False)
225 doEffFromHitPatternVsLumi ['highPurityPt1Eta2p5to3p0'] = cms.bool(False)
226 doStopSource ['highPurityPt1Eta2p5to3p0'] = cms.bool(True)
227 
228 
229 
230 
231 ###### all tracks (no pt cut) associated to the PV
232 ###### association is dz<1mm
234 
235 trackAssociated2pvSelector = trackWithVertexSelector.clone()
236 # the track collection
237 trackAssociated2pvSelector.src = cms.InputTag('generalTracks')
238 # kinematic cuts (pT in GeV)
239 trackAssociated2pvSelector.etaMin = cms.double(0.0)
240 trackAssociated2pvSelector.etaMax = cms.double(5.0)
241 trackAssociated2pvSelector.ptMin = cms.double(0.0)
242 trackAssociated2pvSelector.ptMax = cms.double(100000.0)
243 # impact parameter cut (in cm)
244 trackAssociated2pvSelector.d0Max = cms.double(999.)
245 trackAssociated2pvSelector.dzMax = cms.double(999.)
246 # quality cuts (valid hits, normalized chi2)
247 trackAssociated2pvSelector.normalizedChi2 = cms.double(999999.)
248 trackAssociated2pvSelector.numberOfValidHits = cms.uint32(0)
249 trackAssociated2pvSelector.numberOfLostHits = cms.uint32(999) ## at most 999 lost hits
250 trackAssociated2pvSelector.numberOfValidPixelHits = cms.uint32(0) ## at least <n> hits in the pixels
251 trackAssociated2pvSelector.ptErrorCut = cms.double(9999999.) ## [pTError/pT]*max(1,normChi2) <= ptErrorCut
252 trackAssociated2pvSelector.quality = cms.string("highPurity") # quality cut as defined in reco::TrackBase
253 # compatibility with a vertex ?
254 trackAssociated2pvSelector.useVtx = cms.bool(True)
255 trackAssociated2pvSelector.vertexTag = cms.InputTag('trackingDQMgoodOfflinePrimaryVertices')
256 trackAssociated2pvSelector.timesTag = cms.InputTag('')
257 trackAssociated2pvSelector.timeResosTag = cms.InputTag('')
258 trackAssociated2pvSelector.nVertices = cms.uint32(1) ## how many vertices to look at before dropping the track
259 trackAssociated2pvSelector.vtxFallback = cms.bool(True) ## falback to beam spot if there are no vertices
260 # uses vtx=(0,0,0) with deltaZeta=15.9, deltaRho = 0.2
261 trackAssociated2pvSelector.zetaVtx = cms.double(999.)
262 #trackAssociated2pvSelector.rhoVtx = cms.double(0.2) ## tags used by b-tagging folks
263 trackAssociated2pvSelector.rhoVtx = cms.double(999.) ## tags used by b-tagging folks
264 trackAssociated2pvSelector.nSigmaDtVertex = cms.double(0)
265 # should _not_ be used for the TrackWithVertexRefSelector
266 trackAssociated2pvSelector.copyExtras = cms.untracked.bool(False) ## copies also extras and rechits on RECO
267 trackAssociated2pvSelector.copyTrajectories = cms.untracked.bool(False) # don't set this to true on AOD!
268 
269 highPurityPV0p1 = trackAssociated2pvSelector.clone()
270 highPurityPV0p1.zetaVtx = cms.double(0.1) # wrt PV
271 #highPurityPV0p1.dzMax = cms.double(0.1) # wrt BS
272 
273 PV0p1 = highPurityPV0p1.clone()
274 PV0p1.quality = cms.string("") # quality cut as defined in reco::TrackBase
275 
276 #sequenceName ['highPurityPV0p1'] = highPurityPV0p1
277 sequenceName ['highPurityPV0p1'] = highPurityPV0p1+PV0p1
278 allTrackProducer['highPurityPV0p1'] = 'PV0p1'
279 mainfolderName ['highPurityPV0p1'] = 'Tracking/TrackParameters/highPurityTracks/dzPV0p1'
280 vertexfolderName['highPurityPV0p1'] = 'Tracking/PrimaryVertices/highPurityTracks/dzPV0p1'
281 trackPtN ['highPurityPV0p1'] = cms.int32(100)
282 trackPtMin ['highPurityPV0p1'] = cms.double(0.)
283 trackPtMax ['highPurityPV0p1'] = cms.double(100.)
284 doPlotsPCA ['highPurityPV0p1'] = cms.bool(True)
285 numCutString ['highPurityPV0p1'] = cms.string("quality('highPurity')") # num := den + quality('highPurity')
286 denCutString ['highPurityPV0p1'] = cms.string("") # den := kinematic cuts
287 doGoodTracksPlots ['highPurityPV0p1'] = cms.bool(True)
288 doTrackerSpecific ['highPurityPV0p1'] = cms.bool(True)
289 doHitPropertiesPlots ['highPurityPV0p1'] = cms.bool(True)
290 doGeneralPropertiesPlots ['highPurityPV0p1'] = cms.bool(True)
291 doBeamSpotPlots ['highPurityPV0p1'] = cms.bool(True)
292 doSeedParameterHistos ['highPurityPV0p1'] = cms.bool(False)
293 doRecHitVsPhiVsEtaPerTrack ['highPurityPV0p1'] = cms.bool(True)
294 doRecHitVsPtVsEtaPerTrack ['highPurityPV0p1'] = cms.bool(True)
295 doGoodTrackRecHitVsPhiVsEtaPerTrack ['highPurityPV0p1'] = cms.bool(True)
296 doLayersVsPhiVsEtaPerTrack ['highPurityPV0p1'] = cms.bool(True)
297 doGoodTrackLayersVsPhiVsEtaPerTrack ['highPurityPV0p1'] = cms.bool(True)
298 doPUmonitoring ['highPurityPV0p1'] = cms.bool(False)
299 doPlotsVsBXlumi ['highPurityPV0p1'] = cms.bool(False)
300 doPlotsVsGoodPVtx ['highPurityPV0p1'] = cms.bool(True)
301 doEffFromHitPatternVsPU ['highPurityPV0p1'] = cms.bool(True)
302 doEffFromHitPatternVsBX ['highPurityPV0p1'] = cms.bool(False)
303 doEffFromHitPatternVsLumi ['highPurityPV0p1'] = cms.bool(True)
304 doStopSource ['highPurityPV0p1'] = cms.bool(True)
305 
306 #pixel tracks
307 hiConformalPixelTracksQA = trackSelector.clone()
308 hiConformalPixelTracksQA.src = cms.InputTag('hiConformalPixelTracks')
309 hiConformalPixelTracksQA.cut = cms.string("chi2/ndof/hitPattern.trackerLayersWithMeasurement < 200")
310 
311 sequenceName ['hiConformalPixelTracksQA'] = hiConformalPixelTracksQA
312 allTrackProducer['hiConformalPixelTracksQA'] = 'generalTracks'
313 mainfolderName ['hiConformalPixelTracksQA'] = 'Tracking/TrackParameters/hiConformalPixelTracks'
314 vertexfolderName['hiConformalPixelTracksQA'] = 'Tracking/PrimaryVertices/hiConformalPixelTracks'
315 trackPtN ['hiConformalPixelTracksQA'] = cms.int32(100)
316 trackPtMin ['hiConformalPixelTracksQA'] = cms.double(0.)
317 trackPtMax ['hiConformalPixelTracksQA'] = cms.double(10.)
318 numCutString ['hiConformalPixelTracksQA'] = cms.string(" pt >= 0 ")
319 denCutString ['hiConformalPixelTracksQA'] = cms.string(" pt >= 0 ")
320 doPlotsPCA ['hiConformalPixelTracksQA'] = cms.bool(False)
321 doGoodTracksPlots ['hiConformalPixelTracksQA'] = cms.bool(False)
322 doTrackerSpecific ['hiConformalPixelTracksQA'] = cms.bool(False)
323 doHitPropertiesPlots ['hiConformalPixelTracksQA'] = cms.bool(True)
324 doGeneralPropertiesPlots ['hiConformalPixelTracksQA'] = cms.bool(True)
325 doBeamSpotPlots ['hiConformalPixelTracksQA'] = cms.bool(True)
326 doSeedParameterHistos ['hiConformalPixelTracksQA'] = cms.bool(False)
327 doRecHitVsPhiVsEtaPerTrack ['hiConformalPixelTracksQA'] = cms.bool(True)
328 doRecHitVsPtVsEtaPerTrack ['hiConformalPixelTracksQA'] = cms.bool(True)
329 doGoodTrackRecHitVsPhiVsEtaPerTrack ['hiConformalPixelTracksQA'] = cms.bool(False)
330 doLayersVsPhiVsEtaPerTrack ['hiConformalPixelTracksQA'] = cms.bool(True)
331 doGoodTrackLayersVsPhiVsEtaPerTrack ['hiConformalPixelTracksQA'] = cms.bool(False)
332 doPUmonitoring ['hiConformalPixelTracksQA'] = cms.bool(True)
333 doPlotsVsBXlumi ['hiConformalPixelTracksQA'] = cms.bool(False)
334 doPlotsVsGoodPVtx ['hiConformalPixelTracksQA'] = cms.bool(True)
335 doEffFromHitPatternVsPU ['hiConformalPixelTracksQA'] = cms.bool(False)
336 doEffFromHitPatternVsBX ['hiConformalPixelTracksQA'] = cms.bool(False)
337 doEffFromHitPatternVsLumi ['hiConformalPixelTracksQA'] = cms.bool(False)
338 doStopSource ['hiConformalPixelTracksQA'] = cms.bool(True)
339 
340 selectedTracks.extend( ['generalTracks'] )
341 #selectedTracks.extend( ['highPurityPtRange0to1'] )
342 #selectedTracks.extend( ['highPurityPtRange1to10'] )
343 #selectedTracks.extend( ['highPurityPt10'] )
344 
345 selectedTracks.extend( ['highPurityPt1'] )
346 selectedTracks.extend( ['highPurityPtRange0to1'] )
347 selectedTracks.extend( ['highPurityPV0p1'] )
348 
349 # not by default
350 #selectedTracks.extend( ['highPurityPt1Eta2p5to3p0'] )
351 
352 
353 #selectedTracks2runSequence=cms.Sequence()
354 #for tracks in selectedTracks :
355 # if tracks != 'generalTracks':
356 # selectedTracks2runSequence+=sequenceName[tracks]
357 
358 from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
359 pp_on_AA_2018.toModify(selectedTracks, func=lambda selectedTracks: selectedTracks.extend( ['hiConformalPixelTracksQA'] ))
highpurity definition: https://cmssdt.cern.ch/SDT/lxr/source/RecoTracker/FinalTrackSelectors/python/s...