CMS 3D CMS Logo

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