ATLAS Offline Software
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 
24 void createTrkProp() {
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 }
vtune_athena.format
format
Definition: vtune_athena.py:14
createTrkProp
void createTrkProp()
Definition: createTrkProp.cxx:24
TH2TrkProp.h
LArCalib_HVScale2NtupleConfig.rootfile
string rootfile
Definition: LArCalib_HVScale2NtupleConfig.py:74
TH1TrkProp
Definition: TH1TrkProp.h:15
LArCellBinning.phiNbin
phiNbin
Definition: LArCellBinning.py:36
BindingsTest.cut
cut
This script demonstrates how to call a C++ class from Python Also how to use PyROOT is shown.
Definition: BindingsTest.py:13
TH1TrkProp.h
beamspotman.dir
string dir
Definition: beamspotman.py:623
IDTPM::etaError
float etaError(const U &p)
Definition: TrackParametersHelper.h:222
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
TH2TrkProp
Definition: TH2TrkProp.h:15
LArCellBinning.etaNbin
etaNbin
Definition: LArCellBinning.py:83
python.SystemOfUnits.rad
int rad
Definition: SystemOfUnits.py:111