FairRoot/PandaRoot
PndTrackingQualityRecoInfo.cxx
Go to the documentation of this file.
1 //
2 // PndTrackingQualityRecoInfo.cxx
3 //
4 //
5 //
6 //
7 // authors: Lia Lavezzi - University of Torino (2015)
8 //
9 
11 #include <iostream>
12 
13 
14 using namespace std;
15 
17  fNofMvdPixelTrueHits(0), fNofMvdStripTrueHits(0), fNofSttTrueHits(0), fNofGemTrueHits(0), fNofFtsTrueHits(0), fNofMvdPixelFakeHits(0),
18  fNofMvdStripFakeHits(0), fNofSttFakeHits(0), fNofGemFakeHits(0), fNofFtsFakeHits(0), fNofMvdPixelMissingHits(0), fNofMvdStripMissingHits(0),
19  fNofSttMissingHits(0), fNofGemMissingHits(0), fNofFtsMissingHits(0), fRecoTrackID(-1), fPosFirst(TVector3(0., 0., 0.)),
20  fMomFirst(TVector3(0., 0., 0.)), fPosLast(TVector3(0., 0., 0.)), fMomLast(TVector3(0., 0., 0.)), fMCTrackInfo(PndTrackingQualityMCInfo()),
21  fFlag(-1), fNofMCTracks(0), fIdealTrackId(-1),
22  fMCMomFirst(TVector3(0.,0.,0.)), fMCMomLast(TVector3(0.,0.,0.)), fMCVertex(TVector3(0.,0.,0.)), fMCMomentum(TVector3(0.,0.,0.)),
23  fMCCharge(-100), fMCPdg(0), fIsPrimary(kFALSE), fQuality(-100), fMCQuality(-100), fCharge(-100), fMCTrackID(-1), fTrue(kFALSE)
24  {}
25 
27  fNofMvdPixelTrueHits(0), fNofMvdStripTrueHits(0), fNofSttTrueHits(0), fNofGemTrueHits(0), fNofFtsTrueHits(0), fNofMvdPixelFakeHits(0),
28  fNofMvdStripFakeHits(0), fNofSttFakeHits(0), fNofGemFakeHits(0), fNofFtsFakeHits(0), fNofMvdPixelMissingHits(0), fNofMvdStripMissingHits(0),
29  fNofSttMissingHits(0), fNofGemMissingHits(0), fNofFtsMissingHits(0), fRecoTrackID(recotrackid), fPosFirst(TVector3(0., 0., 0.)),
30  fMomFirst(TVector3(0., 0., 0.)), fPosLast(TVector3(0., 0., 0.)), fMomLast(TVector3(0., 0., 0.)), fMCTrackInfo(PndTrackingQualityMCInfo()),
31  fFlag(-1), fNofMCTracks(0), fIdealTrackId(-1), fMCMomLast(TVector3(0.,0.,0.)), fMCVertex(TVector3(0.,0.,0.)), fMCMomentum(TVector3(0.,0.,0.)),
32  fMCCharge(-100), fMCPdg(0), fIsPrimary(kFALSE), fQuality(-100), fMCQuality(-100), fCharge(-100), fMCTrackID(-1), fTrue(kFALSE)
33  {}
34 
36 
38  if(fMCTrackInfo.GetNofMCPoints() == 0) return -1; // CHECK
39  return (double) GetNofRecoTrueHits()/fMCTrackInfo.GetNofMCPoints();
40 }
41 
43  if(fMCTrackInfo.GetNofMvdPixelPoints() == 0) return -1; // CHECK
45 }
46 
48  if(fMCTrackInfo.GetNofMvdStripPoints() == 0) return -1; // CHECK
50 }
51 
53  if(fMCTrackInfo.GetNofMvdPoints() == 0) return -1; // CHECK
54  return (double) GetNofMvdTrueHits()/fMCTrackInfo.GetNofMvdPoints();
55 }
56 
57 // double PndTrackingQualityRecoInfo::GetSttParalEfficiency() {
58 // if(fMCTrackInfo.GetNofSttParalPoints() == 0) return -1; // CHECK
59 // return (double) GetNofSttParalTrueHits()/fMCTrackInfo.GetNofSttParalPoints();
60 // }
61 
62 // double PndTrackingQualityRecoInfo::GetSttSkewEfficiency() {
63 // if(fMCTrackInfo.GetNofSttSkewPoints() == 0) return -1; // CHECK
64 // return (double) GetNofSttSkewTrueHits()/fMCTrackInfo.GetNofSttSkewPoints();
65 // }
66 
68  if(fMCTrackInfo.GetNofSttPoints() == 0) return -1; // CHECK
69  return (double) GetNofSttTrueHits()/fMCTrackInfo.GetNofSttPoints();
70 }
71 
73  if(fMCTrackInfo.GetNofGemPoints() == 0) return -1; // CHECK
74  return (double) GetNofGemTrueHits()/fMCTrackInfo.GetNofGemPoints();
75 }
76 
78  if(fMCTrackInfo.GetNofFtsPoints() == 0) return -1; // CHECK
80 }
81 
82 // double PndTrackingQualityRecoInfo::GetSciTilEfficiency() {
83 // if(fMCTrackInfo.GetNofSciTilPoints() == 0) return -1; // CHECK
84 // return (double) GetNofSciTilTrueHits()/fMCTrackInfo.GetNofSciTilPoints();
85 // }
86 
87 
89  if(fMCTrackInfo.GetNofMCPoints() == 0) return -1; // CHECK
90  return (double) GetNofMissingHits()/fMCTrackInfo.GetNofMCPoints();
91 }
92 
94  if(fMCTrackInfo.GetNofMvdPixelPoints() == 0) return -1; // CHECK
96 }
97 
99  if(fMCTrackInfo.GetNofMvdStripPoints() == 0) return -1; // CHECK
101 }
102 
104  if(fMCTrackInfo.GetNofMvdPoints() == 0) return -1; // CHECK
106 }
107 
108 // double PndTrackingQualityRecoInfo::GetSttParalInefficiency() {
109 // if(fMCTrackInfo.GetNofSttParalPoints() == 0) return -1; // CHECK
110 // return (double) GetNofSttParalMissingHits()/fMCTrackInfo.GetNofSttParalPoints();
111 // }
112 
113 // double PndTrackingQualityRecoInfo::GetSttSkewInefficiency() {
114 // if(fMCTrackInfo.GetNofSttSkewPoints() == 0) return -1; // CHECK
115 // return (double) GetNofSttSkewMissingHits()/fMCTrackInfo.GetNofSttSkewPoints();
116 // }
117 
119  if(fMCTrackInfo.GetNofSttPoints() == 0) return -1; // CHECK
121 }
122 
124  if(fMCTrackInfo.GetNofGemPoints() == 0) return -1; // CHECK
126 }
127 
129  if(fMCTrackInfo.GetNofFtsPoints() == 0) return -1; // CHECK
131 }
132 
133 // double PndTrackingQualityRecoInfo::GetSciTilInefficiency() {
134 // if(fMCTrackInfo.GetNofSciTilPoints() == 0) return -1; // CHECK
135 // return (double) GetNofSciTilMissingHits()/fMCTrackInfo.GetNofSciTilPoints();
136 // }
137 
139  if(GetNofRecoHits() == 0) return -1; // CHECK
140  return (double) GetNofRecoTrueHits()/GetNofRecoHits();
141 }
142 // double PndTrackingQualityRecoInfo::GetSttParallelPurity() {
143 // if(GetNofSttParallelHits() == 0) return -1; // CHECK
144 // return (double) GetNofSttParallelTrueHits()/GetNofSttParallelHits();
145 // }
146 // double PndTrackingQualityRecoInfo::GetSttSkewPurity() {
147 // if(GetNofSttSkewHits() == 0) return -1; // CHECK
148 // return (double) GetNofSttSkewTrueHits()/GetNofSttSkewHits();
149 // }
151  if(GetNofSttHits() == 0) return -1; // CHECK
152  return (double) GetNofSttTrueHits()/GetNofSttHits();
153 }
155  if(GetNofMvdPixelHits() == 0) return -1; // CHECK
156  return (double) GetNofMvdPixelTrueHits()/GetNofMvdPixelHits();
157 }
159  if(GetNofMvdStripHits() == 0) return -1; // CHECK
160  return (double) GetNofMvdStripTrueHits()/GetNofMvdStripHits();
161 }
163  if(GetNofMvdHits() == 0) return -1; // CHECK
164  return (double) GetNofMvdTrueHits()/GetNofMvdHits();
165 }
167  if(GetNofGemHits() == 0) return -1; // CHECK
168  return (double) GetNofGemTrueHits()/GetNofGemHits();
169 }
170 
172  if(GetNofFtsHits() == 0) return -1; // CHECK
173  return (double) GetNofFtsTrueHits()/GetNofFtsHits();
174 }
175 // double PndTrackingQualityRecoInfo::GetSciTilPurity() {
176 // if(GetNofSciTilHits() == 0) return -1; // CHECK
177 // return (double) GetNofSciTilTrueHits()/GetNofSciTilHits();
178 // }
179 
181  if(GetNofRecoHits() == 0) return -1; // CHECK
182  return (double) GetNofRecoFakeHits()/GetNofRecoHits();
183 }
184 // double PndTrackingQualityRecoInfo::GetSttParallelContamination() {
185 // if(GetNofSttParallelHits() == 0) return -1; // CHECK
186 // return (double) GetNofSttParallelFakeHits()/GetNofSttParallelHits();
187 // }
188 // double PndTrackingQualityRecoInfo::GetSttSkewContamination() {
189 // if(GetNofSttSkewHits() == 0) return -1; // CHECK
190 // return (double) GetNofSttSkewFakeHits()/GetNofSttSkewHits();
191 // }
193  if(GetNofSttHits() == 0) return -1; // CHECK
194  return (double) GetNofSttFakeHits()/GetNofSttHits();
195 }
197  if(GetNofMvdPixelHits() == 0) return -1; // CHECK
198  return (double) GetNofMvdPixelFakeHits()/GetNofMvdPixelHits();
199 }
201  if(GetNofMvdStripHits() == 0) return -1; // CHECK
202  return (double) GetNofMvdStripFakeHits()/GetNofMvdStripHits();
203 }
205  if(GetNofMvdHits() == 0) return -1; // CHECK
206  return (double) GetNofMvdFakeHits()/GetNofMvdHits();
207 }
209  if(GetNofGemHits() == 0) return -1; // CHECK
210  return (double) GetNofGemFakeHits()/GetNofGemHits();
211 }
212 // double PndTrackingQualityRecoInfo::GetSciTilContamination() {
213 // if(GetNofSciTilHits() == 0) return -1; // CHECK
214 // return (double) GetNofSciTilFakeHits()/GetNofSciTilHits();
215 // }
217 
ClassImp(PndAnaContFact)
PndTrackingQualityMCInfo fMCTrackInfo