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