ATLAS Offline Software
Loading...
Searching...
No Matches
createTrkProp.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4// $:$Id: createTrkProp.cxx, v 1.0 04/17/2006 12:07:07
5// Author: Miguel Angel Olivo Gomez 04/17/06
6
7/*************************************************************************
8 * *
9 * All rights reserved. *
10 * *
11 *************************************************************************/
12
13
14#include <iostream>
15#include <math.h>
16#include "TCanvas.h"
17#include "TH1.h"
18#include "TH2.h"
19#include "TMath.h"
20#include "TH1TrkProp.h"
21#include "TH2TrkProp.h"
22
23
25
26
27 // which plots do you want?
28 bool doNumberOfTrk = true;
29 bool doDceroPerigee = true;
30 bool doZceroPerigee = true;
31 bool doPhiPerigee = true;
32 bool doThetaPerigee = true;
33 bool doEtaPerigee = true;
34 bool doQOverPPerigee = true;
35 bool doTrkChiSquarePerigee = true;
36 bool doNumberOfHits = true;
37 bool doXVertex = false;
38 bool doYVertex = false;
39 bool doZVertex = false;
40
41
42 const char* format = "gif";
43 const char* rootfile = "trkValNtupSingleMuons.root";
44 const char* dir = "TrkValNewTracking";
45 const char* ntupleTrkVal = "TrkValNewTrkProp";
46 const char* ntupleFitter = "FitterValNewTrkProp";
47 const char* noUnit = "";
48 const char* mm = "[mm]";
49 const char* rad = "[rad]";
50 const char* mev = "[MeV]";
51 const char* gev = "[GeV]";
52 const char* reciMev = "[1/MeV]";
53
54
55 //const char* cut = "";
56 //const char* cutName = "noCut";
57 const char* cut = "trk_Rec_nTracks==1";
58 const char* cutName = "trkEq1";
59 //const char* cut = "abs(1/trk_Rec_qOverP)>10000.0";
60 //const char* cutName = "momGt2GeV";
61
62
63
64 //_________________________________________________________________________________
65
66
67 //--- number of tracks per event ---
68
69 const char* noTrkEvt = "trk_Rec_nTracks";
70 const int noTrkNbin = 40; //<binwidth=1
71 const double noTrkLow = -0.75;
72 const double noTrkUp = 19.25;
73
74
75 //--- d0 (perigee) ---
76
77 const char* d0Rec = "trk_Rec_d0";
78 const int d0Nbin = 100; //<binwidth=
79 const double d0Low = -0.1;
80 const double d0Up = 0.1;
81 const char* d0TruthAssoc = "trk_Mc_d0";
82 const int d0TruthAssocNbin = 100; //<binwidth=
83 const double d0TruthAssocLow = -0.1;
84 const double d0TruthAssocUp = 0.1;
85 const char* d0Error = "trk_Rec_error_d0";
86 const int d0ErrNbin = 100; //<binwidth=
87 const double d0ErrLow = 0.005;
88 const double d0ErrUp = 0.016;
89 const char* d0Resol = "trk_Rec_d0-trk_Mc_d0";
90 const int d0ResolNbin = 100; //<binwidth=
91 const double d0ResolLow = -0.04;
92 const double d0ResolUp = 0.04;
93 const char* d0Pull = "(trk_Rec_d0-trk_Mc_d0)/trk_Rec_error_d0";
94 const int d0PullNbin = 100; //<binwidth=
95 const double d0PullLow = -5.0;
96 const double d0PullUp = 5.0;
97
98
99 //--- z0 (perigee) ---
100
101 const char* z0Rec = "trk_Rec_z0";
102 const int z0Nbin = 100; //<binwidth=
103 const double z0Low = -200.0;
104 const double z0Up = 200.0;
105 const char* z0TruthAssoc = "trk_Mc_z0";
106 const int z0TruthAssocNbin = 100; //<binwidth=
107 const double z0TruthAssocLow = -200.0;
108 const double z0TruthAssocUp = 200.0;
109 const char* z0Error = "trk_Rec_error_z0";
110 const int z0ErrNbin = 60; //<binwidth=
111 const double z0ErrLow = 0.03;
112 const double z0ErrUp = 0.23;
113 const char* z0Resol = "trk_Rec_z0-trk_Mc_z0";
114 const int z0ResolNbin = 100; //<binwidth=
115 const double z0ResolLow = -0.7;
116 const double z0ResolUp = 0.7;
117 const char* z0Pull = "(trk_Rec_z0-trk_Mc_z0)/trk_Rec_error_z0";
118 const int z0PullNbin = 100; //<binwidth=
119 const double z0PullLow = -5.0;
120 const double z0PullUp = 5.0;
121
122
123 //--- phi (perigee) ---
124
125 const char* phiRec = "trk_Rec_phi0";
126 const int phiNbin = 72; //<binwidth=5grad
127 const double phiLow = -(TMath::Pi()); // -M_PI(cxx)
128 const double phiUp = TMath::Pi(); // M_PI
129 const char* phiTruthAssoc = "trk_Mc_phi0";
130 const int phiTruthAssocNbin = 72; //<binwidth=
131 const double phiTruthAssocLow = -(TMath::Pi()); // -M_PI(cxx)
132 const double phiTruthAssocUp = TMath::Pi(); // M_PI
133 const char* phiError = "trk_Rec_error_phi0";
134 const int phiErrNbin = 75; //<binwidth=
135 const double phiErrLow = 0.00007;
136 const double phiErrUp = 0.00022;
137 const char* phiResol = "trk_Rec_phi0-trk_Mc_phi0";
138 const int phiResolNbin = 100; //<binwidth=
139 const double phiResolLow = -0.0006;
140 const double phiResolUp = 0.0006;
141 const char* phiPull = "(trk_Rec_phi0-trk_Mc_phi0)/trk_Rec_error_phi0";
142 const int phiPullNbin = 100; //<binwidth=
143 const double phiPullLow = -5.0;
144 const double phiPullUp = 5.0;
145
146
147 //--- theta (perigee) ---
148
149 const char* thetaRec = "trk_Rec_theta";
150 const int thetaNbin = 90; //<binwidth=2grad
151 const double thetaLow = 0.0;
152 const double thetaUp = TMath::Pi(); //M_PI
153 const char* thetaTruthAssoc = "trk_Mc_theta";
154 const int thetaTruthAssocNbin = 90; //<binwidth=
155 const double thetaTruthAssocLow = 0.0;
156 const double thetaTruthAssocUp = TMath::Pi(); //M_PI
157 const char* thetaError = "trk_Rec_error_theta";
158 const int thetaErrNbin = 100; //<binwidth=
159 const double thetaErrLow = 0.00005;
160 const double thetaErrUp = 0.0008;
161 const char* thetaResol = "trk_Rec_theta-trk_Mc_theta";
162 const int thetaResolNbin = 100; //<binwidth=
163 const double thetaResolLow = -0.0015;
164 const double thetaResolUp = 0.0015;
165 const char* thetaPull = "(trk_Rec_theta-trk_Mc_theta)/trk_Rec_error_theta";
166 const int thetaPullNbin = 100; //<binwidth=
167 const double thetaPullLow = -5.0;
168 const double thetaPullUp = 5.0;
169
170
171 //--- eta (perigee) ---
172
173 const char* etaRec = "trk_Rec_eta";
174 const int etaNbin = 60; //<binwidth=0.1
175 const double etaLow = -3.0;
176 const double etaUp = 3.0;
177 const char* etaTruthAssoc = "trk_Mc_eta";
178 const int etaTruthAssocNbin = 60; //<binwidth=
179 const double etaTruthAssocLow = -3.0;
180 const double etaTruthAssocUp = 3.0;
181 const char* etaError = "trk_Rec_error_theta/sin(trk_Rec_theta)";
182 const int etaErrNbin = 100; //<binwidth=
183 const double etaErrLow = 0.0001;
184 const double etaErrUp = 0.0011;
185 const char* etaResol = "trk_Rec_eta-trk_Mc_eta";
186 const int etaResolNbin = 100; //<binwidth=
187 const double etaResolLow = -0.003;
188 const double etaResolUp = 0.003;
189 const char* etaPull = "(trk_Rec_eta-trk_Mc_eta)/(trk_Rec_error_theta/sin(trk_Rec_theta))";
190 const int etaPullNbin = 100; //<binwidth=
191 const double etaPullLow = -5.0;
192 const double etaPullUp = 5.0;
193
194
195 //--- q over p (perigee) ---
196
197 const char* momRec = "abs(1/trk_Rec_qOverP)/1000.0"; // c++ fabs(double)
198 const int momNbin = 100; //<binwidth=
199 const double momLow = 48.0;
200 const double momUp = 110.0;
201 const char* momTruthAssoc = "abs(1/trk_Mc_qOverP)/1000.0";
202 const int momTruthAssocNbin = 100; //<binwidth=
203 const double momTruthAssocLow = 48.0;
204 const double momTruthAssocUp = 110.0;
205 const char* momError = "(trk_Rec_error_qOverP/pow(trk_Rec_qOverP,2.0))/1000.0";
206 const int momErrNbin = 100; //<binwidth=
207 const double momErrLow = 0.8;
208 const double momErrUp = 5.0;
209 const char* momResol = "(abs(1/trk_Rec_qOverP)-abs(1/trk_Mc_qOverP))/1000.0";
210 const int momResolNbin = 100; //<binwidth=
211 const double momResolLow = -15.0;
212 const double momResolUp = 15.0;
213 const char* momPull = "(abs(1/trk_Rec_qOverP)-abs(1/trk_Mc_qOverP))/(trk_Rec_error_qOverP/pow(trk_Rec_qOverP,2.0))";
214 const int momPullNbin = 100; //<binwidth=
215 const double momPullLow = -5.0;
216 const double momPullUp = 5.0;
217
218
219 const char* pzRec = "(cos(trk_Rec_theta)/abs(trk_Rec_qOverP))/1000.0";
220 const int pzNbin = 50; //<binwidth=
221 const double pzLow = -300.0;
222 const double pzUp = 300.0;
223 const char* pzTruthAssoc = "(cos(trk_Mc_theta)/abs(trk_Mc_qOverP))/1000.0";
224 const int pzTruthAssocNbin = 50; //<binwidth=
225 const double pzTruthAssocLow = -300.0;
226 const double pzTruthAssocUp = 300.0;
227 const char* pzError = "(abs(cos(trk_Rec_theta)/trk_Rec_qOverP)*sqrt(pow(trk_Rec_error_qOverP/trk_Rec_qOverP,2.0)+pow(tan(trk_Rec_theta)*trk_Rec_error_theta,2.0)))/1000.0";
228 const int pzErrNbin = 50; //<binwidth=
229 const double pzErrLow = 0.0;
230 const double pzErrUp = 5.0;
231 const char* pzResol = "((cos(trk_Rec_theta)/abs(trk_Rec_qOverP))-(cos(trk_Mc_theta)/abs(trk_Mc_qOverP)))/1000.0";
232 const int pzResolNbin = 100; //<binwidth=
233 const double pzResolLow = -5.0;
234 const double pzResolUp = 5.0;
235 const char* pzPull = "((cos(trk_Rec_theta)/abs(trk_Rec_qOverP))-(cos(trk_Mc_theta)/abs(trk_Mc_qOverP)))/(abs(cos(trk_Rec_theta)/trk_Rec_qOverP)*sqrt(pow(trk_Rec_error_qOverP/trk_Rec_qOverP,2.0)+pow(tan(trk_Rec_theta)*trk_Rec_error_theta,2.0)))";
236 const int pzPullNbin = 100; //<binwidth=
237 const double pzPullLow = -5.0;
238 const double pzPullUp = 5.0;
239
240
241 const char* ptRec = "abs(1/trk_Rec_qOverPt)/1000.0";
242 const int ptNbin = 100; //<binwidth=
243 const double ptLow = 40.0;
244 const double ptUp = 60.0;
245 const char* ptTruthAssoc = "abs(1/trk_Mc_qOverPt)/1000.0";
246 const int ptTruthAssocNbin = 40; //<binwidth=
247 const double ptTruthAssocLow = 48.0;
248 const double ptTruthAssocUp = 52.0;
249 const char* ptError = "(abs(1/trk_Rec_qOverPt)*sqrt(pow(trk_Rec_error_qOverP/trk_Rec_qOverP,2.0)+pow(trk_Rec_error_theta/tan(trk_Rec_theta),2.0)))/1000.0";
250 const int ptErrNbin = 100; //<binwidth=
251 const double ptErrLow = 0.8;
252 const double ptErrUp = 3.0;
253 const char* ptResol = "(abs(1/trk_Rec_qOverPt)-abs(1/trk_Mc_qOverPt))/1000.0";
254 const int ptResolNbin = 100; //<binwidth=
255 const double ptResolLow = -10.0;
256 const double ptResolUp = 10.0;
257 const char* ptPull = "(abs(1/trk_Rec_qOverPt)-abs(1/trk_Mc_qOverPt))/(abs(1/trk_Rec_qOverPt)*sqrt(pow(trk_Rec_error_qOverP/trk_Rec_qOverP,2.0)+pow(trk_Rec_error_theta/tan(trk_Rec_theta),2.0)))";
258 const int ptPullNbin = 100; //<binwidth=
259 const double ptPullLow = -5.0;
260 const double ptPullUp = 5.0;
261 const char* ptErrorOverPt = "(abs(1/trk_Rec_qOverPt)*sqrt(pow(trk_Rec_error_qOverP/trk_Rec_qOverP,2.0)+pow(trk_Rec_error_theta/tan(trk_Rec_theta),2.0)))*abs(trk_Rec_qOverPt)";
262 const int ptErrOverPtNbin = 100; //<binwidth=
263 const double ptErrOverPtLow = 0.015;
264 const double ptErrOverPtUp = 0.05;
265
266
267 //--- track chi2 (perigee) ---
268
269 const char* trkChi2 = "trk_Rec_chi2";
270 const int trkChi2Nbin = 100; //<binwidth=
271 const double trkChi2Low = 0.0;
272 const double trkChi2Up = 100.0;
273 const char* trkNdf = "trk_Rec_nDoF";
274 const int trkNdfNbin = 140; //<binwidth=
275 const double trkNdfLow = -0.75;
276 const double trkNdfUp = 69.25;
277 const char* trkChi2DoF = "trk_Rec_chi2PerDoF";
278 const int trkChi2DoFNbin = 72; //<binwidth=
279 const double trkChi2DoFLow = 0.2;
280 const double trkChi2DoFUp = 2.0;
281 const char* trkChi2Prob = "1-trk_Rec_chi2Prob"; //"TMath::Prob(trk_Rec_chi2,trk_Rec_nDoF))"
282 const int trkChi2ProbNbin = 80; //<binwidth=
283 const double trkChi2ProbLow = 0.0;
284 const double trkChi2ProbUp = 1.0;
285
286
287 //--- Number of hits ---
288
289 const char* pixelHit = "trk_Rec_nPixelHits";
290 const int pixelHitNbin = 20; //<binwidth=1
291 const double pixelHitLow = -0.75;
292 const double pixelHitUp = 9.25;
293 const char* sctHit = "trk_Rec_nSctHits";
294 const int sctHitNbin = 36; //<binwidth=1
295 const double sctHitLow = -0.75;
296 const double sctHitUp = 17.25;
297 const char* trtHit = "trk_Rec_nTrtHits";
298 const int trtHitNbin = 100; //<binwidth=1
299 const double trtHitLow = -0.75;
300 const double trtHitUp = 49.25;
301
302
303 //--- x of vertex ---
304
305 const int xVtxNbin = 60;//<binwidth=0.001
306 const int xVtxErrNbin = 100;//<binwidth=
307 const double xVtxLow = -0.03;
308 const double xVtxUp = 0.03;
309
310
311 //--- y of vertex ---
312
313 const int yVtxNbin = 60;//<binwidth=0.001
314 const int yVtxErrNbin = 100;//<binwidth=
315 const double yVtxLow = -0.03;
316 const double yVtxUp = 0.03;
317 const double yVtxErrLow = 0.007;
318 const double yVtxErrUp = 0.016;
319
320
321 //--- z of vertex ---
322
323 const int zVtxNbin = 60; //<binwidth=5
324 const double zVtxLow = -150.0;
325 const double zVtxUp = 150.0;
326
327
328
329 //___________________________________________________________________________________
330
331 if (doNumberOfTrk) {
332
333 TH1TrkProp(format,rootfile,dir,ntupleFitter,noTrkEvt,"numberTracksEvent",noUnit,cut,cutName,
334 "numberTracksEvent",noTrkNbin,noTrkLow,noTrkUp,true,false);
335 }
336
337
338
339 if (doDceroPerigee) {
340
341 TH1TrkProp(format,rootfile,dir,ntupleFitter,d0Rec,"d0",mm,cut,cutName,"d0",
342 d0Nbin,d0Low,d0Up,false,false);
343 TH1TrkProp(format,rootfile,dir,ntupleFitter,d0TruthAssoc,"d0TruthAssoc",mm,cut,cutName,
344 "d0TruthAssoc",d0TruthAssocNbin,d0TruthAssocLow,d0TruthAssocUp,false,false);
345 TH1TrkProp(format,rootfile,dir,ntupleFitter,d0Error,"d0Error",mm,cut,cutName,
346 "d0Error",d0ErrNbin,d0ErrLow,d0ErrUp,false,false);
347 TH1TrkProp(format,rootfile,dir,ntupleFitter,d0Resol,"d0-d0TruthAssoc",mm,cut,cutName,
348 "d0Resolution",d0ResolNbin,d0ResolLow,d0ResolUp,false,false);
349 TH1TrkProp(format,rootfile,dir,ntupleFitter,d0Pull,"(d0-d0TruthAssoc)/d0Error",noUnit,
350 cut,cutName,"d0Pull",d0PullNbin,d0PullLow,d0PullUp,false,true);
351 TH2TrkProp(format,rootfile,dir,ntupleFitter,d0TruthAssoc,"d0TruthAssoc",mm,d0Rec,"d0",mm,cut,
352 cutName,"d0:d0TruthAssoc",d0Nbin,d0Low,d0Up,d0TruthAssocNbin,d0TruthAssocLow,
353 d0TruthAssocUp,false,false);
354 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,d0Error,"d0Error",mm,cut,cutName,
355 "d0Error:phi",phiNbin,phiLow,phiUp,d0ErrNbin,d0ErrLow,d0ErrUp,false,false);
356 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,d0Error,"d0Error",mm,cut,cutName,
357 "d0Error:eta",etaNbin,etaLow,etaUp,d0ErrNbin,d0ErrLow,d0ErrUp,false,false);
358 TH2TrkProp(format,rootfile,dir,ntupleFitter,ptRec,"pt",gev,d0Error,"d0Error",mm,cut,cutName,
359 "d0Error:pt",ptNbin,ptLow,ptUp,d0ErrNbin,d0ErrLow,d0ErrUp,false,false);
360 TH2TrkProp(format,rootfile,dir,ntupleFitter,pixelHit,"No. hits",noUnit,d0Error,"d0Error",mm,cut,
361 cutName,"d0Error:numberPixelHits",pixelHitNbin,pixelHitLow,pixelHitUp,d0ErrNbin,
362 d0ErrLow,d0ErrUp,false,false);
363 TH2TrkProp(format,rootfile,dir,ntupleFitter,sctHit,"No. hits",noUnit,d0Error,"d0Error",mm,cut,
364 cutName,"d0Error:numberSCTHits",sctHitNbin,sctHitLow,sctHitUp,d0ErrNbin,d0ErrLow,
365 d0ErrUp,false,false);
366 TH2TrkProp(format,rootfile,dir,ntupleFitter,trtHit,"No. hits",noUnit,d0Error,"d0Error",mm,cut,
367 cutName,"d0Error:numberTRTHits",trtHitNbin,trtHitLow,trtHitUp,d0ErrNbin,d0ErrLow,
368 d0ErrUp,false,false);
369 }
370
371
372
373 if (doZceroPerigee) {
374
375 TH1TrkProp(format,rootfile,dir,ntupleFitter,z0Rec,"z0",mm,cut,cutName,"z0",
376 z0Nbin,z0Low,z0Up,false,false);
377 TH1TrkProp(format,rootfile,dir,ntupleFitter,z0TruthAssoc,"z0TruthAssoc",mm,cut,cutName,
378 "z0TruthAssoc",z0TruthAssocNbin,z0TruthAssocLow,z0TruthAssocUp,false,false);
379 TH1TrkProp(format,rootfile,dir,ntupleFitter,z0Error,"z0Error",mm,cut,cutName,
380 "z0Error",z0ErrNbin,z0ErrLow,z0ErrUp,false,false);
381 TH1TrkProp(format,rootfile,dir,ntupleFitter,z0Resol,"z0-z0TruthAssoc",mm,cut,cutName,
382 "z0Resolution",z0ResolNbin,z0ResolLow,z0ResolUp,false,false);
383 TH1TrkProp(format,rootfile,dir,ntupleFitter,z0Pull,"(z0-z0TruthAssoc)/z0Error",noUnit,
384 cut,cutName,"z0Pull",z0PullNbin,z0PullLow,z0PullUp,false,true);
385 TH2TrkProp(format,rootfile,dir,ntupleFitter,z0TruthAssoc,"z0TruthAssoc",mm,z0Rec,"z0",mm,cut,
386 cutName,"z0:z0TruthAssoc",z0Nbin,z0Low,z0Up,z0TruthAssocNbin,z0TruthAssocLow,
387 z0TruthAssocUp,false,false);
388 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,z0Error,"z0Error",mm,cut,cutName,
389 "z0Error:phi",phiNbin,phiLow,phiUp,z0ErrNbin,z0ErrLow,z0ErrUp,false,false);
390 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,z0Error,"z0Error",mm,cut,cutName,
391 "z0Error:eta",etaNbin,etaLow,etaUp,z0ErrNbin,z0ErrLow,z0ErrUp,false,false);
392 TH2TrkProp(format,rootfile,dir,ntupleFitter,ptRec,"pt",gev,z0Error,"z0Error",mm,cut,cutName,
393 "z0Error:pt",ptNbin,ptLow,ptUp,z0ErrNbin,z0ErrLow,z0ErrUp,false,false);
394 TH2TrkProp(format,rootfile,dir,ntupleFitter,pixelHit,"No. hits",noUnit,z0Error,"z0Error",mm,cut,
395 cutName,"z0Error:numberPixelHits",pixelHitNbin,pixelHitLow,pixelHitUp,z0ErrNbin,
396 z0ErrLow,z0ErrUp,false,false);
397 TH2TrkProp(format,rootfile,dir,ntupleFitter,sctHit,"No. hits",noUnit,z0Error,"z0Error",mm,cut,
398 cutName,"z0Error:numberSCTHits",sctHitNbin,sctHitLow,sctHitUp,z0ErrNbin,z0ErrLow,
399 z0ErrUp,false,false);
400 TH2TrkProp(format,rootfile,dir,ntupleFitter,trtHit,"No. hits",noUnit,z0Error,"z0Error",mm,cut,
401 cutName,"z0Error:numberTRTHits",trtHitNbin,trtHitLow,trtHitUp,z0ErrNbin,z0ErrLow,
402 z0ErrUp,false,false);
403 }
404
405
406
407 if (doPhiPerigee) {
408
409 TH1TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,cut,cutName,"phi",
410 phiNbin,phiLow,phiUp,false,false);
411 TH1TrkProp(format,rootfile,dir,ntupleFitter,phiTruthAssoc,"phiTruthAssoc",rad,cut,cutName,
412 "phiTruthAssoc",phiTruthAssocNbin,phiTruthAssocLow,phiTruthAssocUp,false,false);
413 TH1TrkProp(format,rootfile,dir,ntupleFitter,phiError,"phiError",rad,cut,cutName,
414 "phiError",phiErrNbin,phiErrLow,phiErrUp,false,false);
415 TH1TrkProp(format,rootfile,dir,ntupleFitter,phiResol,"phi-phiTruthAssoc",rad,cut,cutName,
416 "phiResolution",phiResolNbin,phiResolLow,phiResolUp,false,false);
417 TH1TrkProp(format,rootfile,dir,ntupleFitter,phiPull,"(phi-phiTruthAssoc)/phiError",noUnit,
418 cut,cutName,"phiPull",phiPullNbin,phiPullLow,phiPullUp,false,true);
419 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiTruthAssoc,"phiTruthAssoc",rad,phiRec,"phi",
420 rad,cut,cutName,"phi:phiTruthAssoc",phiNbin,phiLow,phiUp,phiTruthAssocNbin,
421 phiLow,phiUp,false,false);
422 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,phiError,"phiError",rad,cut,cutName,
423 "phiError:phi",phiNbin,phiLow,phiUp,phiErrNbin,phiErrLow,phiErrUp,false,false);
424 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,phiError,"phiError",rad,cut,
425 cutName,"phiError:eta",etaNbin,etaLow,etaUp,phiErrNbin,phiErrLow,phiErrUp,
426 false,false);
427 TH2TrkProp(format,rootfile,dir,ntupleFitter,ptRec,"pt",gev,phiError,"phiError",rad,cut,cutName,
428 "phiError:pt",ptNbin,ptLow,ptUp,phiErrNbin,phiErrLow,phiErrUp,false,false);
429 TH2TrkProp(format,rootfile,dir,ntupleFitter,pixelHit,"No. hits",noUnit,phiError,"phiError",rad,
430 cut,cutName,"phiError:numberPixelHits",pixelHitNbin,pixelHitLow,pixelHitUp,
431 phiErrNbin,phiErrLow,phiErrUp,false,false);
432 TH2TrkProp(format,rootfile,dir,ntupleFitter,sctHit,"No. hits",noUnit,phiError,"phiError",rad,cut,
433 cutName,"phiError:numberSCTHits",sctHitNbin,sctHitLow,sctHitUp,phiErrNbin,phiErrLow,
434 phiErrUp,false,false);
435 TH2TrkProp(format,rootfile,dir,ntupleFitter,trtHit,"No. hits",noUnit,phiError,"phiError",rad,cut,
436 cutName,"phiError:numberTRTHits",trtHitNbin,trtHitLow,trtHitUp,phiErrNbin,phiErrLow,
437 phiErrUp,false,false);
438 }
439
440
441
442 if (doThetaPerigee) {
443
444 TH1TrkProp(format,rootfile,dir,ntupleFitter,thetaRec,"theta",rad,cut,cutName,"theta",thetaNbin,
445 thetaLow,thetaUp,false,false);
446 TH1TrkProp(format,rootfile,dir,ntupleFitter,thetaTruthAssoc,"thetaTruthAssoc",rad,cut,cutName,
447 "thetaTruthAssoc",thetaNbin,thetaTruthAssocLow,thetaTruthAssocUp,false,false);
448 TH1TrkProp(format,rootfile,dir,ntupleFitter,thetaError,"thetaError",rad,cut,cutName,
449 "thetaError",thetaErrNbin,thetaErrLow,thetaErrUp,false,false);
450 TH1TrkProp(format,rootfile,dir,ntupleFitter,thetaResol,"theta-thetaTruthAssoc",rad,cut,cutName,
451 "thetaResolution",thetaResolNbin,thetaResolLow,thetaResolUp,false,false);
452 TH1TrkProp(format,rootfile,dir,ntupleFitter,thetaPull,"(theta-thetaTruthAssoc)/thetaError",noUnit,
453 cut,cutName,"thetaPull",thetaPullNbin,thetaPullLow,thetaPullUp,false,true);
454 TH2TrkProp(format,rootfile,dir,ntupleFitter,thetaTruthAssoc,"thetaTruthAssoc",rad,thetaRec,
455 "theta",rad,cut,cutName,"theta:thetaTruthAssoc",thetaNbin,thetaLow,thetaUp,
456 thetaTruthAssocNbin,thetaLow,thetaUp,false,false);
457 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,thetaError,"thetaError",rad,cut,
458 cutName,"thetaError:phi",phiNbin,phiLow,phiUp,thetaErrNbin,thetaErrLow,
459 thetaErrUp,false,false);
460 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,thetaError,"thetaError",
461 rad,cut,cutName,"thetaError:eta",etaNbin,etaLow,etaUp,thetaErrNbin,
462 thetaErrLow,thetaErrUp,false,false);
463 TH2TrkProp(format,rootfile,dir,ntupleFitter,ptRec,"pt",gev,thetaError,"thetaError",rad,cut,cutName,
464 "thetaError:pt",ptNbin,ptLow,ptUp,thetaErrNbin,thetaErrLow,thetaErrUp,false,false);
465 TH2TrkProp(format,rootfile,dir,ntupleFitter,pixelHit,"No. hits",noUnit,thetaError,"thetaError",rad,
466 cut,cutName,"thetaError:numberPixelHits",pixelHitNbin,pixelHitLow,pixelHitUp,
467 thetaErrNbin,thetaErrLow,thetaErrUp,false,false);
468 TH2TrkProp(format,rootfile,dir,ntupleFitter,sctHit,"No. hits",noUnit,thetaError,"thetaError",
469 rad,cut,cutName,"thetaError:numberSCTHits",sctHitNbin,sctHitLow,sctHitUp,
470 thetaErrNbin,thetaErrLow,thetaErrUp,false,false);
471 TH2TrkProp(format,rootfile,dir,ntupleFitter,trtHit,"No. hits",noUnit,thetaError,"thetaError",
472 rad,cut,cutName,"thetaError:numberTRTHits",trtHitNbin,trtHitLow,trtHitUp,
473 thetaErrNbin,thetaErrLow,thetaErrUp,false,false);
474 }
475
476
477
478 if (doEtaPerigee) {
479
480 TH1TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,cut,cutName,
481 "eta",etaNbin,etaLow,etaUp,false,false);
482 TH1TrkProp(format,rootfile,dir,ntupleFitter,etaTruthAssoc,"etaTruthAssoc",noUnit,cut,cutName,
483 "etaTruthAssoc",etaTruthAssocNbin,etaTruthAssocLow,etaTruthAssocUp,false,false);
484 TH1TrkProp(format,rootfile,dir,ntupleFitter,etaError,"etaError",noUnit,cut,cutName,
485 "etaError",etaErrNbin,etaErrLow,etaErrUp,false,false);
486 TH1TrkProp(format,rootfile,dir,ntupleFitter,etaResol,"eta-etaTruthAssoc",noUnit,cut,cutName,
487 "etaResolution",etaResolNbin,etaResolLow,etaResolUp,false,false);
488 TH1TrkProp(format,rootfile,dir,ntupleFitter,etaPull,"(eta-etaTruthAssoc)/etaError",noUnit,
489 cut,cutName,"etaPull",etaPullNbin,etaPullLow,etaPullUp,false,true);
490 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaTruthAssoc,"etaTruthAssoc",noUnit,etaRec,
491 "eta",noUnit,cut,cutName,"eta:etaTruthAssoc",etaNbin,etaLow,etaUp,
492 etaTruthAssocNbin,etaLow,etaUp,false,false);
493 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,etaError,"etaError",noUnit,cut,
494 cutName,"etaError:phi",phiNbin,phiLow,phiUp,etaErrNbin,etaErrLow,
495 etaErrUp,false,false);
496 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,etaError,"etaError",
497 noUnit,cut,cutName,"etaError:eta",etaNbin,etaLow,etaUp,etaErrNbin,
498 etaErrLow,etaErrUp,false,false);
499 TH2TrkProp(format,rootfile,dir,ntupleFitter,ptRec,"pt",gev,etaError,"etaError",noUnit,cut,cutName,
500 "etaError:pt",ptNbin,ptLow,ptUp,etaErrNbin,etaErrLow,etaErrUp,false,false);
501 TH2TrkProp(format,rootfile,dir,ntupleFitter,pixelHit,"No. hits",noUnit,etaError,"etaError",noUnit,
502 cut,cutName,"etaError:numberPixelHits",pixelHitNbin,pixelHitLow,pixelHitUp,
503 etaErrNbin,etaErrLow,etaErrUp,false,false);
504 TH2TrkProp(format,rootfile,dir,ntupleFitter,sctHit,"No. hits",noUnit,etaError,"etaError",
505 noUnit,cut,cutName,"etaError:numberSCTHits",sctHitNbin,sctHitLow,sctHitUp,
506 etaErrNbin,etaErrLow,etaErrUp,false,false);
507 TH2TrkProp(format,rootfile,dir,ntupleFitter,trtHit,"No. hits",noUnit,etaError,"etaError",
508 noUnit,cut,cutName,"etaError:numberTRTHits",trtHitNbin,trtHitLow,trtHitUp,
509 etaErrNbin,etaErrLow,etaErrUp,false,false);
510 }
511
512
513
514
515 if (doQOverPPerigee) {
516
517 TH1TrkProp(format,rootfile,dir,ntupleFitter,momRec,"mom",gev,cut,cutName,
518 "mom",momNbin,momLow,momUp,false,false);
519 TH1TrkProp(format,rootfile,dir,ntupleFitter,momTruthAssoc,"momTruthAssoc",gev,cut,cutName,
520 "momTruthAssoc",momTruthAssocNbin,momTruthAssocLow,momTruthAssocUp,false,false);
521 TH1TrkProp(format,rootfile,dir,ntupleFitter,momError,"momError",gev,cut,cutName,
522 "momError",momErrNbin,momErrLow,momErrUp,false,false);
523 TH1TrkProp(format,rootfile,dir,ntupleFitter,momResol,"mom-momTruthAssoc",gev,cut,cutName,
524 "momResolution",momResolNbin,momResolLow,momResolUp,false,false);
525 TH1TrkProp(format,rootfile,dir,ntupleFitter,momPull,"(mom-momTruthAssoc)/momError",noUnit,
526 cut,cutName,"momPull",momPullNbin,momPullLow,momPullUp,false,true);
527 TH2TrkProp(format,rootfile,dir,ntupleFitter,momTruthAssoc,"momTruthAssoc",gev,momRec,
528 "mom",gev,cut,cutName,"mom:momTruthAssoc",momNbin,momLow,momUp,
529 momTruthAssocNbin,momLow,momUp,false,false);
530 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,momError,"momError",gev,cut,
531 cutName,"momError:phi",phiNbin,phiLow,phiUp,momErrNbin,momErrLow,momErrUp,
532 false,false);
533 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,momError,"momError",
534 gev,cut,cutName,"momError:eta",etaNbin,etaLow,etaUp,momErrNbin,
535 momErrLow,momErrUp,false,false);
536 TH2TrkProp(format,rootfile,dir,ntupleFitter,ptRec,"pt",gev,momError,"momError",gev,cut,cutName,
537 "momError:pt",ptNbin,ptLow,ptUp,momErrNbin,momErrLow,momErrUp,false,false);
538 TH2TrkProp(format,rootfile,dir,ntupleFitter,pixelHit,"No. hits",noUnit,momError,"momError",gev,
539 cut,cutName,"momError:numberPixelHits",pixelHitNbin,pixelHitLow,pixelHitUp,
540 momErrNbin,momErrLow,momErrUp,false,false);
541 TH2TrkProp(format,rootfile,dir,ntupleFitter,sctHit,"No. hits",noUnit,momError,"momError",
542 gev,cut,cutName,"momError:numberSCTHits",sctHitNbin,sctHitLow,sctHitUp,
543 momErrNbin,momErrLow,momErrUp,false,false);
544 TH2TrkProp(format,rootfile,dir,ntupleFitter,trtHit,"No. hits",noUnit,momError,"momError",
545 gev,cut,cutName,"momError:numberTRTHits",trtHitNbin,trtHitLow,trtHitUp,
546 momErrNbin,momErrLow,momErrUp,false,false);
547
548
549 TH1TrkProp(format,rootfile,dir,ntupleFitter,pzRec,"pz",gev,cut,cutName,
550 "pz",pzNbin,pzLow,pzUp,false,false);
551 TH1TrkProp(format,rootfile,dir,ntupleFitter,pzTruthAssoc,"pzTruthAssoc",gev,cut,cutName,
552 "pzTruthAssoc",pzTruthAssocNbin,pzTruthAssocLow,pzTruthAssocUp,false,false);
553 TH1TrkProp(format,rootfile,dir,ntupleFitter,pzError,"pzError",gev,cut,cutName,
554 "pzError",pzErrNbin,pzErrLow,pzErrUp,false,false);
555 TH1TrkProp(format,rootfile,dir,ntupleFitter,pzResol,"pz-pzTruthAssoc",gev,cut,cutName,
556 "pzResolution",pzResolNbin,pzResolLow,pzResolUp,false,false);
557 //TH1TrkProp(format,rootfile,dir,ntupleFitter,pzPull,"(pz-pzTruthAssoc)/pzError",noUnit,
558 // cut,cutName,"pzPull",pzPullNbin,pzPullLow,pzPullUp,false,true);
559 TH2TrkProp(format,rootfile,dir,ntupleFitter,pzTruthAssoc,"pzTruthAssoc",gev,pzRec,"pz",
560 gev,cut,cutName,"pz:pzTruthAssoc",pzNbin,pzLow,pzUp,pzTruthAssocNbin,pzLow,
561 pzUp,false,false);
562 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,pzError,"pzError",gev,cut,
563 cutName,"pzError:phi",phiNbin,phiLow,phiUp,pzErrNbin,pzErrLow,pzErrUp,
564 false,false);
565 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,pzError,"pzError",
566 gev,cut,cutName,"pzError:eta",etaNbin,etaLow,etaUp,pzErrNbin,
567 pzErrLow,pzErrUp,false,false);
568 TH2TrkProp(format,rootfile,dir,ntupleFitter,ptRec,"pt",gev,pzError,"pzError",gev,cut,cutName,
569 "pzError:pt",ptNbin,ptLow,ptUp,pzErrNbin,pzErrLow,pzErrUp,false,false);
570 TH2TrkProp(format,rootfile,dir,ntupleFitter,pixelHit,"No. hits",noUnit,pzError,"pzError",gev,
571 cut,cutName,"pzError:numberPixelHits",pixelHitNbin,pixelHitLow,pixelHitUp,
572 pzErrNbin,pzErrLow,pzErrUp,false,false);
573 TH2TrkProp(format,rootfile,dir,ntupleFitter,sctHit,"No. hits",noUnit,pzError,"pzError",
574 gev,cut,cutName,"pzError:numberSCTHits",sctHitNbin,sctHitLow,sctHitUp,
575 pzErrNbin,pzErrLow,pzErrUp,false,false);
576 TH2TrkProp(format,rootfile,dir,ntupleFitter,trtHit,"No. hits",noUnit,pzError,"pzError",
577 gev,cut,cutName,"pzError:numberTRTHits",trtHitNbin,trtHitLow,trtHitUp,
578 pzErrNbin,pzErrLow,pzErrUp,false,false);
579
580
581 TH1TrkProp(format,rootfile,dir,ntupleFitter,ptRec,"pt",gev,cut,cutName,
582 "pt",ptNbin,ptLow,ptUp,false,false);
583 TH1TrkProp(format,rootfile,dir,ntupleFitter,ptTruthAssoc,"ptTruthAssoc",gev,cut,cutName,
584 "ptTruthAssoc",ptTruthAssocNbin,ptTruthAssocLow,ptTruthAssocUp,false,false);
585 TH1TrkProp(format,rootfile,dir,ntupleFitter,ptError,"ptError",gev,cut,cutName,
586 "ptError",ptErrNbin,ptErrLow,ptErrUp,false,false);
587 TH1TrkProp(format,rootfile,dir,ntupleFitter,ptResol,"pt-ptTruthAssoc",gev,cut,cutName,
588 "ptResolution",ptResolNbin,ptResolLow,ptResolUp,false,false);
589 TH1TrkProp(format,rootfile,dir,ntupleFitter,ptPull,"(pt-ptTruthAssoc)/ptError",noUnit,
590 cut,cutName,"ptPull",ptPullNbin,ptPullLow,ptPullUp,false,true);
591 TH1TrkProp(format,rootfile,dir,ntupleFitter,ptErrorOverPt,"ptErrorOverPt",noUnit,cut,
592 cutName,"ptErrorOverPt",ptErrOverPtNbin,ptErrOverPtLow,ptErrOverPtUp,false,false);
593 TH2TrkProp(format,rootfile,dir,ntupleFitter,ptTruthAssoc,"ptTruthAssoc",gev,ptRec,"pt",
594 gev,cut,cutName,"pt:ptTruthAssoc",ptNbin,ptLow,ptUp,ptTruthAssocNbin,ptLow,
595 ptUp,false,false);
596 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,ptError,"ptError",gev,cut,
597 cutName,"ptError:phi",phiNbin,phiLow,phiUp,ptErrNbin,ptErrLow,ptErrUp,
598 false,false);
599 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,ptError,"ptError",
600 gev,cut,cutName,"ptError:eta",etaNbin,etaLow,etaUp,ptErrNbin,
601 ptErrLow,ptErrUp,false,false);
602 TH2TrkProp(format,rootfile,dir,ntupleFitter,ptRec,"pt",gev,ptError,"ptError",gev,cut,cutName,
603 "ptError:pt",ptNbin,ptLow,ptUp,ptErrNbin,ptErrLow,ptErrUp,false,false);
604 TH2TrkProp(format,rootfile,dir,ntupleFitter,pixelHit,"No. hits",noUnit,ptError,"ptError",gev,
605 cut,cutName,"ptError:numberPixelHits",pixelHitNbin,pixelHitLow,pixelHitUp,
606 ptErrNbin,ptErrLow,ptErrUp,false,false);
607 TH2TrkProp(format,rootfile,dir,ntupleFitter,sctHit,"No. hits",noUnit,ptError,"ptError",
608 gev,cut,cutName,"ptError:numberSCTHits",sctHitNbin,sctHitLow,sctHitUp,
609 ptErrNbin,ptErrLow,ptErrUp,false,false);
610 TH2TrkProp(format,rootfile,dir,ntupleFitter,trtHit,"No. hits",noUnit,ptError,"ptError",
611 gev,cut,cutName,"ptError:numberTRTHits",trtHitNbin,trtHitLow,trtHitUp,
612 ptErrNbin,ptErrLow,ptErrUp,false,false);
613 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,ptErrorOverPt,"ptErrorOverPt",noUnit,
614 cut,cutName,"ptErrorOverPt:phi",phiNbin,phiLow,phiUp,ptErrOverPtNbin,ptErrOverPtLow,
615 ptErrOverPtUp,false,false);
616 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,ptErrorOverPt,"ptErrorOverPt",
617 noUnit,cut,cutName,"ptErrorOverPt:eta",etaNbin,etaLow,etaUp,ptErrOverPtNbin,
618 ptErrOverPtLow,ptErrOverPtUp,false,false);
619 TH2TrkProp(format,rootfile,dir,ntupleFitter,ptRec,"pt",gev,ptErrorOverPt,"ptErrorOverPt",noUnit,
620 cut,cutName,"ptErrorOverPt:pt",ptNbin,ptLow,ptUp,ptErrOverPtNbin,ptErrOverPtLow,
621 ptErrOverPtUp,false,false);
622 TH2TrkProp(format,rootfile,dir,ntupleFitter,pixelHit,"No. hits",noUnit,ptErrorOverPt,"ptErrorOverPt",
623 noUnit,cut,cutName,"ptErrorOverPt:numberPixelHits",pixelHitNbin,pixelHitLow,pixelHitUp,
624 ptErrOverPtNbin,ptErrOverPtLow,ptErrOverPtUp,false,false);
625 TH2TrkProp(format,rootfile,dir,ntupleFitter,sctHit,"No. hits",noUnit,ptErrorOverPt,"ptErrorOverPt",
626 noUnit,cut,cutName,"ptErrorOverPt:numberSCTHits",sctHitNbin,sctHitLow,sctHitUp,
627 ptErrOverPtNbin,ptErrOverPtLow,ptErrOverPtUp,false,false);
628 TH2TrkProp(format,rootfile,dir,ntupleFitter,trtHit,"No. hits",noUnit,ptErrorOverPt,"ptErrorOverPt",
629 noUnit,cut,cutName,"ptErrorOverPt:numberTRTHits",trtHitNbin,trtHitLow,trtHitUp,
630 ptErrOverPtNbin,ptErrOverPtLow,ptErrOverPtUp,false,false);
631 }
632
633
634
635
636 if (doTrkChiSquarePerigee) {
637
638 TH1TrkProp(format,rootfile,dir,ntupleFitter,trkChi2,"chi2",noUnit,cut,cutName,"trkChi2",
639 trkChi2Nbin,trkChi2Low,trkChi2Up,false,false);
640 TH1TrkProp(format,rootfile,dir,ntupleFitter,trkNdf,"Ndf",noUnit,cut,cutName,"trkNdf",
641 trkNdfNbin,trkNdfLow,trkNdfUp,false,false);
642 TH1TrkProp(format,rootfile,dir,ntupleFitter,trkChi2DoF,"TrkChi2/Ndf",noUnit,cut,cutName,
643 "trkChi2overNdf",trkChi2DoFNbin,trkChi2DoFLow,trkChi2DoFUp,false,false);
644 TH1TrkProp(format,rootfile,dir,ntupleFitter,trkChi2Prob,"Chi2Prob",noUnit,cut,cutName,
645 "trkChi2Prob",trkChi2ProbNbin,trkChi2ProbLow,trkChi2ProbUp,false,false);
646 }
647
648
649
650
651 if (doNumberOfHits) {
652
653 // Pixel
654 TH1TrkProp(format,rootfile,dir,ntupleFitter,pixelHit,"No. hits",noUnit,cut,cutName,
655 "numberPixelHits",pixelHitNbin,pixelHitLow,pixelHitUp,true,false);
656 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,pixelHit,"No. hits",
657 noUnit,cut,cutName,"numberPixelHits:phi",phiNbin,phiLow,phiUp,
658 pixelHitNbin,pixelHitLow,pixelHitUp,false,false);
659 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,pixelHit,"No. hits",
660 noUnit,cut,cutName,"numberPixelHits:eta",etaNbin,etaLow,etaUp,
661 pixelHitNbin,pixelHitLow,pixelHitUp,false,false);
662
663
664 // Sct
665 TH1TrkProp(format,rootfile,dir,ntupleFitter,sctHit,"No. hits",noUnit,cut,cutName,
666 "numberSCTHits",sctHitNbin,sctHitLow,sctHitUp,true,false);
667 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,sctHit,"No. hits",
668 noUnit,cut,cutName,"numberSCTHits:phi",phiNbin,phiLow,phiUp,
669 sctHitNbin,sctHitLow,sctHitUp,false,false);
670 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,sctHit,"No. hits",
671 noUnit,cut,cutName,"numberSCTHits:eta",etaNbin,etaLow,etaUp,
672 sctHitNbin,sctHitLow,sctHitUp,false,false);
673
674 // Trt
675 TH1TrkProp(format,rootfile,dir,ntupleFitter,trtHit,"No. hits",noUnit,cut,cutName,
676 "numberTRTHits",trtHitNbin,trtHitLow,trtHitUp,true,false);
677 TH2TrkProp(format,rootfile,dir,ntupleFitter,phiRec,"phi",rad,trtHit,"No. hits",
678 noUnit,cut,cutName,"numberTRTHits:phi",phiNbin,phiLow,phiUp,
679 trtHitNbin,trtHitLow,trtHitUp,false,false);
680 TH2TrkProp(format,rootfile,dir,ntupleFitter,etaRec,"eta",noUnit,trtHit,"No. hits",
681 noUnit,cut,cutName,"numberTRTHits:eta",etaNbin,etaLow,etaUp,
682 trtHitNbin,trtHitLow,trtHitUp,false,false);
683 }
684
685
686
687 if (doXVertex) {
688 TH1TrkProp(format,rootfile,dir,ntupleFitter,"vxp_vtx_x","x",mm,cut,cutName,"xPrmVtx",
689 xVtxNbin,xVtxLow,xVtxUp,false,false);
690 TH1TrkProp(format,rootfile,dir,ntupleFitter,"vxp_vtx_x_truth","x",mm,cut,cutName,"xPrimVtxTruth",
691 xVtxNbin,xVtxLow,xVtxUp,false,false);
692 TH1TrkProp(format,rootfile,dir,ntupleFitter,"RVGen*cos(PhiVGen)","x",mm,cut,cutName,
693 "xOriginVtxTruth",xVtxNbin,xVtxLow,xVtxUp,false,false);
694 TH1TrkProp(format,rootfile,dir,ntupleFitter,"RV*cos(PhiV)","x",mm,cut,cutName,"xVtxTruth",
695 xVtxNbin,xVtxLow,xVtxUp,false,false);
696 TH1TrkProp(format,rootfile,dir,ntupleFitter,"vxp_sigvtx_x","xError",mm,cut,cutName,"xPrmVtxError",
697 100,0.007,0.016,false,false);
698 TH1TrkProp(format,rootfile,dir,ntupleFitter,"(vxp_vtx_x-vxp_vtx_x_truth)","x-xTruth",mm,cut,cutName,
699 "xPrmVtxRes",100,-0.1,0.1,false,false);
700 TH1TrkProp(format,rootfile,dir,ntupleFitter,"(vxp_vtx_x-vxp_vtx_x_truth)/vxp_sigvtx_x",
701 "(x-xTruth)/xError",mm,cut,cutName,"xPrmVtxPull",100,-5.0,5.0,
702 false,true);
703 }
704
705
706
707 if (doYVertex) {
708 TH1TrkProp(format,rootfile,dir,ntupleFitter,"vxp_vtx_y","y",mm,cut,cutName,"yPrmVtx",
709 yVtxNbin,yVtxLow,yVtxUp,false,false);
710 TH1TrkProp(format,rootfile,dir,ntupleFitter,"vxp_vtx_y_truth","y",mm,cut,cutName,"yPrimVtxTruth",
711 yVtxNbin,yVtxLow,yVtxUp,false,false);
712 TH1TrkProp(format,rootfile,dir,ntupleFitter,"RVGen*sin(PhiVGen)","y",mm,cut,cutName,
713 "yOriginVtxTruth",yVtxNbin,yVtxLow,yVtxUp,false,false);
714 TH1TrkProp(format,rootfile,dir,ntupleFitter,"RV*sin(PhiV)","y",mm,cut,cutName,"yVtxTruth",
715 yVtxNbin,yVtxLow,yVtxUp,false,false);
716 TH1TrkProp(format,rootfile,dir,ntupleFitter,"vxp_sigvtx_y","yError",mm,cut,cutName,"yPrmVtxError",
717 100,0.007,0.016,false,false);
718 TH1TrkProp(format,rootfile,dir,ntupleFitter,"(vxp_vtx_y-vxp_vtx_y_truth)","y-yTruth",mm,cut,cutName,
719 "yPrmVtxRes",100,-0.1,0.1,false,false);
720 TH1TrkProp(format,rootfile,dir,ntupleFitter,"(vxp_vtx_y-vxp_vtx_y_truth)/vxp_sigvtx_y",
721 "(y-yTruth)/yError",mm,cut,cutName,"yPrmVtxPull",100,-5.0,5.0,
722 false,true);
723 }
724
725
726
727 if (doZVertex) {
728 TH1TrkProp(format,rootfile,dir,ntupleFitter,"vxp_vtx_z","z",mm,cut,cutName,"zPrmVtx",
729 zVtxNbin,zVtxLow,zVtxUp,false,false);
730 TH1TrkProp(format,rootfile,dir,ntupleFitter,"vxp_vtx_z_truth","z",mm,cut,cutName,"zPrimVtxTruth",
731 zVtxNbin,zVtxLow,zVtxUp,false,false);
732 TH1TrkProp(format,rootfile,dir,ntupleFitter,"ZVGen","z",mm,cut,cutName,"zOriginVtxTruth",
733 zVtxNbin,zVtxLow,zVtxUp,false,false);
734 TH1TrkProp(format,rootfile,dir,ntupleFitter,"ZV","z",mm,cut,cutName,"zVtxTruth",
735 zVtxNbin,zVtxLow,zVtxUp,false,false);
736 TH1TrkProp(format,rootfile,dir,ntupleFitter,"vxp_sigvtx_z","zError",mm,cut,cutName,"zPrmVtxError",
737 100,0.08,0.13,false,false);
738 TH1TrkProp(format,rootfile,dir,ntupleFitter,"(vxp_vtx_z-vxp_vtx_z_truth)","z-zTruth",mm,cut,cutName,
739 "zPrmVtxRes",100,-1.0,1.0,false,false);
740 TH1TrkProp(format,rootfile,dir,ntupleFitter,"(vxp_vtx_z-vxp_vtx_z_truth)/vxp_sigvtx_z",
741 "(z-zTruth)/zError",mm,cut,cutName,"zPrmVtxPull",100,-5.0,5.0,
742 false,true);
743 }
744
745
746
747}
void createTrkProp()
static std::vector< std::string > rootfile
Definition iLumiCalc.h:30