CMS 3D CMS Logo

TrackingMonitor_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from DQM.TrackingMonitor.BXlumiParameters_cfi import BXlumiSetup
4 
5 TrackMon = cms.EDAnalyzer("TrackingMonitor",
6 
7  # input tags
8  numCut = cms.string(" pt >= 1 & quality('highPurity') "),
9  denCut = cms.string(" pt >= 1 "),
10  allTrackProducer = cms.InputTag("generalTracks"),
11  TrackProducer = cms.InputTag("generalTracks"),
12  SeedProducer = cms.InputTag("initialStepSeeds"),
13  TCProducer = cms.InputTag("initialStepTrackCandidates"),
14  ClusterLabels = cms.vstring('Tot'), # to decide which Seeds-Clusters correlation plots to have default is Total other options 'Strip', 'Pix'
15  beamSpot = cms.InputTag("offlineBeamSpot"),
16  primaryVertex = cms.InputTag('offlinePrimaryVertices'),
17  stripCluster = cms.InputTag('siStripClusters'),
18  pixelCluster = cms.InputTag('siPixelClusters'),
19  BXlumiSetup = BXlumiSetup.clone(),
20  genericTriggerEventPSet = cms.PSet(),
21 # lumi = cms.InputTag('lumiProducer'),
22 # # taken from
23 # # DPGAnalysis/SiStripTools/src/DigiLumiCorrHistogramMaker.cc
24 # # the scale factor 6.37 should follow the lumi prescriptions
25 # # AS SOON AS THE CORRECTED LUMI WILL BE AVAILABLE IT HAS TO BE SET TO 1.
26 # lumiScale = cms.double(6.37),
27 
28  # PU monitoring
29  primaryVertexInputTags = cms.VInputTag(),
30  selPrimaryVertexInputTags = cms.VInputTag(),
31  pvLabels = cms.vstring(),
32 
33  # output parameters
34  OutputMEsInRootFile = cms.bool(False),
35  AlgoName = cms.string('GenTk'),
36  Quality = cms.string(''),
37  OutputFileName = cms.string('MonitorTrack.root'),
38  FolderName = cms.string('Tracking/GlobalParameters'),
39  BSFolderName = cms.string('Tracking/ParametersVsBeamSpot'),
40  PVFolderName = cms.string('Tracking/PrimaryVertices'),
41 
42  # determines where to evaluate track parameters
43  # options: 'default' --> straight up track parametes
44  # 'ImpactPoint' --> evalutate at impact point
45  # 'InnerSurface' --> evalutate at innermost measurement state
46  # 'OuterSurface' --> evalutate at outermost measurement state
47 
48  MeasurementState = cms.string('ImpactPoint'),
49 
50  # which plots to do
51  doTestPlots = cms.bool(False),
52  doAllPlots = cms.bool(True),
53  doTrackerSpecific = cms.bool(False),
54  doBeamSpotPlots = cms.bool(False),
55  doPrimaryVertexPlots = cms.bool(False),
56  doSeedParameterHistos = cms.bool(False),
57  doTrackCandHistos = cms.bool(False),
58  doAllTrackCandHistos = cms.bool(False),
59  doDCAPlots = cms.bool(False),
60  doDCAwrtPVPlots = cms.bool(False),
61  doDCAwrt000Plots = cms.bool(False),
62  doSIPPlots = cms.bool(False),
63  doEffFromHitPatternVsPU = cms.bool(False),
64  doEffFromHitPatternVsBX = cms.bool(False),
65  doEffFromHitPatternVsLUMI = cms.bool(False),
66  pvNDOF = cms.int32(4),
67  pixelCluster4lumi = cms.InputTag('siPixelClustersPreSplitting'),
68  scal = cms.InputTag('scalersRawToDigi'),
69  useBPixLayer1 = cms.bool(False),
70  minNumberOfPixelsPerCluster = cms.int32(2), # from DQM/PixelLumi/python/PixelLumiDQM_cfi.py
71  minPixelClusterCharge = cms.double(15000.),
72  doGeneralPropertiesPlots = cms.bool(False),
73  doHitPropertiesPlots = cms.bool(False),
74 # doGoodTrackPlots = cms.bool(False),
75  doMeasurementStatePlots = cms.bool(True),
76  doProfilesVsLS = cms.bool(False),
77  doRecHitsPerTrackProfile = cms.bool(True),
78  doRecHitVsPhiVsEtaPerTrack = cms.bool(False),
79  doRecHitVsPtVsEtaPerTrack = cms.bool(False),
80 # doGoodTrackRecHitVsPhiVsEtaPerTrack = cms.bool(False),
81  doLayersVsPhiVsEtaPerTrack = cms.bool(False),
82 # doGoodTrackLayersVsPhiVsEtaPerTrack = cms.bool(False),
83 # doGoodTrack2DChi2Plots = cms.bool(False),
84  doThetaPlots = cms.bool(False),
85  doTrackPxPyPlots = cms.bool(False),
86  doPUmonitoring = cms.bool(False),
87  doPlotsVsBXlumi = cms.bool(False),
88  doPlotsVsGoodPVtx = cms.bool(True),
89  doPlotsVsLUMI = cms.bool(False),
90  doPlotsVsBX = cms.bool(False),
91  doHIPlots = cms.bool(False),
92  qualityString = cms.string("highPurity"),
93  #which seed plots to do
94  doSeedNumberHisto = cms.bool(False),
95  doSeedLumiAnalysis = cms.bool(False),
96  doSeedVsClusterHisto = cms.bool(False),
97  doSeedPTHisto = cms.bool(False),
98  doSeedETAHisto = cms.bool(False),
99  doSeedPHIHisto = cms.bool(False),
100  doSeedPHIVsETAHisto = cms.bool(False),
101  doSeedThetaHisto = cms.bool(False),
102  doSeedQHisto = cms.bool(False),
103  doSeedDxyHisto= cms.bool(False),
104  doSeedDzHisto= cms.bool(False),
105  doSeedNRecHitsHisto= cms.bool(False),
106  doSeedNVsPhiProf= cms.bool(False),
107  doSeedNVsEtaProf= cms.bool(False),
108  doStopSource = cms.bool(False),
109 
110  TTRHBuilder = cms.string('WithTrackAngle'),
111 
112  # Luminosity based analysis
113  doLumiAnalysis = cms.bool(False),
114  # For plots vs LS
115  LSBin = cms.int32(2000),
116  LSMin = cms.double(0),
117  LSMax = cms.double(2000.),
118 
119  # paramters of the Track
120  # ============================================================
121 
122  # chi2
123  Chi2Bin = cms.int32(50),
124  Chi2Max = cms.double(199.5),
125  Chi2Min = cms.double(-0.5),
126 
127  # chi2 dof
128  Chi2NDFBin = cms.int32(50),
129  Chi2NDFMax = cms.double(19.5),
130  Chi2NDFMin = cms.double(-0.5),
131 
132  # chi^2 probability
133  Chi2ProbBin = cms.int32(100),
134  Chi2ProbMax = cms.double(1.0),
135  Chi2ProbMin = cms.double(0.0),
136 
137  # Number of Tracks per Event
138  TkSizeBin = cms.int32(100),
139  TkSizeMax = cms.double(99.5),
140  TkSizeMin = cms.double(-0.5),
141 
142  # Number of seeds per Event
143  TkSeedSizeBin = cms.int32(150),
144  TkSeedSizeMax = cms.double(149.5),
145  TkSeedSizeMin = cms.double(-0.5),
146 
147  # Number of Track Cadidates per Event
148  TCSizeBin = cms.int32(150),
149  TCSizeMax = cms.double(149.5),
150  TCSizeMin = cms.double(-0.5),
151 
152  # num rec hits
153  TrackQBin = cms.int32(8),
154  TrackQMax = cms.double(2.5),
155  TrackQMin = cms.double(-2.5),
156 
157  # num rec hits in seed
158  SeedHitBin = cms.int32(6),
159  SeedHitMax = cms.double(5.5),
160  SeedHitMin = cms.double(-0.5),
161 
162  # num rec hits per track candidate
163  TCHitBin = cms.int32(40),
164  TCHitMax = cms.double(39.5),
165  TCHitMin = cms.double(-0.5),
166 
167  # num rec hits
168  RecHitBin = cms.int32(40),
169  RecHitMax = cms.double(39.5),
170  RecHitMin = cms.double(-0.5),
171 
172  # mean rec hits
173  MeanHitBin = cms.int32(30),
174  MeanHitMax = cms.double(29.5),
175  MeanHitMin = cms.double(-0.5),
176 
177  subdetectors = cms.vstring( "TIB", "TOB", "TID", "TEC", "PixBarrel", "PixEndcap", "Pixel", "Strip" ),
178  subdetectorBin = cms.int32(25),
179 
180  # num rec hits lost
181  RecLostBin = cms.int32(10),
182  RecLostMax = cms.double(9.5),
183  RecLostMin = cms.double(-0.5),
184 
185  # num layers
186  RecLayBin = cms.int32(25),
187  RecLayMax = cms.double(24.5),
188  RecLayMin = cms.double(-0.5),
189 
190  # mean layers
191  MeanLayBin = cms.int32(25),
192  MeanLayMax = cms.double(24.5),
193  MeanLayMin = cms.double(-0.5),
194 
195  # num TOB Layers
196  TOBLayBin = cms.int32(10),
197  TOBLayMax = cms.double(9.5),
198  TOBLayMin = cms.double(-0.5),
199 
200  # num TIB Layers
201  TIBLayBin = cms.int32(6),
202  TIBLayMax = cms.double(5.5),
203  TIBLayMin = cms.double(-0.5),
204 
205  # num TID Layers
206  TIDLayBin = cms.int32(6),
207  TIDLayMax = cms.double(5.5),
208  TIDLayMin = cms.double(-0.5),
209 
210  # num TEC Layers
211  TECLayBin = cms.int32(15),
212  TECLayMax = cms.double(14.5),
213  TECLayMin = cms.double(-0.5),
214 
215  # num PXB Layers
216  PXBLayBin = cms.int32(6),
217  PXBLayMax = cms.double(5.5),
218  PXBLayMin = cms.double(-0.5),
219 
220  # num PXF Layers
221  PXFLayBin = cms.int32(6),
222  PXFLayMax = cms.double(5.5),
223  PXFLayMin = cms.double(-0.5),
224 
225  # Track |p|
226  TrackPBin = cms.int32(100),
227  TrackPMax = cms.double(100),
228  TrackPMin = cms.double(0),
229 
230  # Track pT
231  TrackPtBin = cms.int32(100),
232  TrackPtMax = cms.double(100),
233  TrackPtMin = cms.double(0.1),
234 
235  # Track px
236  TrackPxBin = cms.int32(50),
237  TrackPxMax = cms.double(50.0),
238  TrackPxMin = cms.double(-50.0),
239 
240  # Track py
241  TrackPyBin = cms.int32(50),
242  TrackPyMax = cms.double(50.0),
243  TrackPyMin = cms.double(-50.0),
244 
245  # Track pz
246  TrackPzBin = cms.int32(50),
247  TrackPzMax = cms.double(50.0),
248  TrackPzMin = cms.double(-50.0),
249 
250  # track theta
251  ThetaBin = cms.int32(32),
252  ThetaMax = cms.double(3.2),
253  ThetaMin = cms.double(0.0),
254 
255  # track eta
256  EtaBin = cms.int32(26),
257  EtaMax = cms.double(2.5),
258  EtaMin = cms.double(-2.5),
259 
260  # track phi
261  PhiBin = cms.int32(32),
262  PhiMax = cms.double(3.141592654),
263  PhiMin = cms.double(-3.141592654),
264 
265  # Track |p| error
266  pErrBin = cms.int32(50),
267  pErrMax = cms.double(1.0),
268  pErrMin = cms.double(0.0),
269 
270  # Track pT error
271  ptErrBin = cms.int32(50),
272  ptErrMax = cms.double(1.0),
273  ptErrMin = cms.double(0.0),
274 
275  # Track px error
276  pxErrBin = cms.int32(50),
277  pxErrMax = cms.double(1.0),
278  pxErrMin = cms.double(0.0),
279 
280  # Track py error
281  pyErrBin = cms.int32(50),
282  pyErrMax = cms.double(1.0),
283  pyErrMin = cms.double(0.0),
284 
285  # Track pz error
286  pzErrBin = cms.int32(50),
287  pzErrMax = cms.double(1.0),
288  pzErrMin = cms.double(0.0),
289 
290  # track eta error
291  etaErrBin = cms.int32(50),
292  etaErrMax = cms.double(0.1),
293  etaErrMin = cms.double(0.0),
294 
295  # track phi Error
296  phiErrBin = cms.int32(50),
297  phiErrMax = cms.double(0.1),
298  phiErrMin = cms.double(0.0),
299 
300  # PCA x position
301  VXBin = cms.int32(100),
302  VXMax = cms.double(0.5),
303  VXMin = cms.double(-0.5),
304 
305  # PCA y position
306  VYBin = cms.int32(100),
307  VYMax = cms.double(0.5),
308  VYMin = cms.double(-0.5),
309 
310  # PCA z position
311  VZBin = cms.int32(100),
312  VZMax = cms.double(30.0),
313  VZMin = cms.double(-30.0),
314 
315  # PCA z position for profile
316  VZBinProf = cms.int32(100),
317  VZMaxProf = cms.double(0.2),
318  VZMinProf = cms.double(-0.2),
319 
320  # PCA x position for 2D plot
321  X0Bin = cms.int32(100),
322  X0Max = cms.double(0.5),
323  X0Min = cms.double(-0.5),
324 
325  # PCA y position for 2D plot
326  Y0Bin = cms.int32(100),
327  Y0Max = cms.double(0.5),
328  Y0Min = cms.double(-0.5),
329 
330  # PCA z position for 2D plot
331  Z0Bin = cms.int32(120),
332  Z0Max = cms.double(60.0),
333  Z0Min = cms.double(-60.0),
334 
335  # Track dxy (transverse impact parameter)
336  DxyBin = cms.int32(100),
337  DxyMax = cms.double(0.5),
338  DxyMin = cms.double(-0.5),
339 
340  AbsDxyBin = cms.int32(120),
341  AbsDxyMin = cms.double(0.),
342  AbsDxyMax = cms.double(60.),
343 
344  # Seed dxy (transverse impact parameter)
345  SeedDxyBin = cms.int32(100),
346  SeedDxyMax = cms.double(0.5),
347  SeedDxyMin = cms.double(-0.5),
348 
349  # Seed dz (longitudinal impact parameter)
350  SeedDzBin = cms.int32(120),
351  SeedDzMax = cms.double(30.0),
352  SeedDzMin = cms.double(-30.0),
353 
354  # Track Candidate dxy (transverse impact parameter)
355  TCDxyBin = cms.int32(100),
356  TCDxyMax = cms.double(100.0),
357  TCDxyMin = cms.double(-100.0),
358 
359  # Track Candidate dz (transverse impact parameter)
360  TCDzBin = cms.int32(100),
361  TCDzMax = cms.double(400.0),
362  TCDzMin = cms.double(-400.0),
363 
364 #######################################
365 ## needed for tracksVScluster and seedVScluster
366 
367  # NCluster Pixel
368  NClusPxBin = cms.int32(200),
369  NClusPxMax = cms.double(19999.5),
370  NClusPxMin = cms.double(-0.5),
371 
372  # NCluster Strip
373  NClusStrBin = cms.int32(500),
374  NClusStrMax = cms.double(99999.5),
375  NClusStrMin = cms.double(-0.5),
376 
377  # NCluster Vs Tracks
378  NTrk2DBin = cms.int32(50),
379  NTrk2DMax = cms.double(1999.5),
380  NTrk2DMin = cms.double(-0.5),
381 
382  # PU monitoring
383  # Nunmber of Good Primary Vertices
384  GoodPVtxBin = cms.int32(200),
385  GoodPVtxMin = cms.double( 0.),
386  GoodPVtxMax = cms.double(200.),
387 
388  LUMIBin = cms.int32 ( 4000 ),
389  LUMIMin = cms.double( 0.),
390  LUMIMax = cms.double(20000.),
391 
392 # # BXlumi
393 # BXlumiBin = cms.int32(400),
394 # BXlumiMin = cms.double(2000),
395 # BXlumiMax = cms.double(6000),
396  ###############################
397 ################## FOR HI PLOTS#####################
398 #######
399 TransDCABins = cms.int32(100),
400 TransDCAMin = cms.double(-8.0),
401 TransDCAMax = cms.double(8.0),
402 
403 LongDCABins = cms.int32(100),
404 LongDCAMin = cms.double(-8.0),
405 LongDCAMax = cms.double(8.0),
406 )
407 
408 from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
409 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
410 phase1Pixel.toModify(TrackMon, EtaBin=30, EtaMin=-3, EtaMax=3)
411 phase2_tracker.toModify(TrackMon, EtaBin=46, EtaMin=-4.5, EtaMax=4.5)