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