]>
Commit | Line | Data |
---|---|---|
becde6ce | 1 | #ifndef ALIHBTPIDPURITYFCTNS_H |
2 | #define ALIHBTPIDPURITYFCTNS_H | |
3 | //_______________________________________________________________________________ | |
4 | ///////////////////////////////////////////////////////////////////////////////// | |
5 | // | |
6 | // class AliHBTMonPIDPurityVsPtFctn; | |
7 | // class AliHBTMonThetaResolutionVsPtFctn; | |
8 | // | |
9 | // file: AliHBTPIDPurityFctns.cxx AliHBTPIDPurityFctns.h | |
10 | // | |
2b31c209 | 11 | // Classes for calculating PID purity, efficiency and other things connected with PID |
12 | // xxxxxxxxxx | |
13 | // xxxxxxxxxx | |
14 | // xxxxxxxxxx | |
15 | // xxxxxxxxxx | |
16 | // xxxxxxxxxx | |
becde6ce | 17 | // |
18 | // added by Piotr.Skowronski@cern.ch | |
becde6ce | 19 | // |
20 | ////////////////////////////////////////////////////////////////////////////////// | |
21 | ||
22 | #include "AliHBTFunction.h" | |
23 | #include "AliHBTMonitorFunction.h" | |
24 | ||
c93e6c76 | 25 | class AliHBTMonPIDPurityVsPtFctn: public AliHBTMonTwoParticleFctn1D, public AliHBTCorrelFunction |
becde6ce | 26 | { |
27 | public: | |
28 | AliHBTMonPIDPurityVsPtFctn(Int_t nbins = 20, Double_t maxXval = 2.0, Double_t minXval = 0.0); | |
2b31c209 | 29 | AliHBTMonPIDPurityVsPtFctn(const AliHBTMonPIDPurityVsPtFctn& /*in*/); |
becde6ce | 30 | virtual ~AliHBTMonPIDPurityVsPtFctn(); |
2b31c209 | 31 | |
32 | AliHBTMonPIDPurityVsPtFctn& operator=(const AliHBTMonPIDPurityVsPtFctn& /*in*/); | |
33 | ||
becde6ce | 34 | void Init(); |
35 | void Write(); | |
36 | void Rename(const Char_t * name); | |
37 | void Rename(const Char_t * name, const Char_t * title); | |
38 | TH1* GetResult(); | |
78d7c6d3 | 39 | Double_t GetValue(AliVAODParticle * /*track*/,AliVAODParticle * /*part*/) const { return 0.0; } |
40 | void Process(AliVAODParticle * track,AliVAODParticle * part); | |
becde6ce | 41 | protected: |
2b31c209 | 42 | TH1D* fGood;//histogram filled with correctly identified particles |
43 | TH1D* fAll;//histogram filled with all particles | |
becde6ce | 44 | ClassDef(AliHBTMonPIDPurityVsPtFctn,1) |
45 | }; | |
46 | /***********************************************************************/ | |
47 | ||
48 | class AliHBTMonPIDContaminationVsPtFctn: public AliHBTMonTwoParticleFctn1D, public AliHBTCorrelFunction | |
49 | { | |
50 | public: | |
51 | AliHBTMonPIDContaminationVsPtFctn(Int_t nbins = 20, Double_t maxXval = 2.0, Double_t minXval = 0.0); | |
2b31c209 | 52 | AliHBTMonPIDContaminationVsPtFctn(const AliHBTMonPIDContaminationVsPtFctn& /*in*/); |
53 | virtual ~AliHBTMonPIDContaminationVsPtFctn(); | |
54 | ||
55 | AliHBTMonPIDContaminationVsPtFctn& operator=(const AliHBTMonPIDContaminationVsPtFctn& /*in*/); | |
56 | ||
becde6ce | 57 | void Init(); |
58 | void Write(); | |
59 | void Rename(const Char_t * name); | |
60 | void Rename(const Char_t * name, const Char_t * title); | |
61 | TH1* GetResult(); | |
78d7c6d3 | 62 | Double_t GetValue(AliVAODParticle * /*track*/,AliVAODParticle * /*part*/) const { return 0.0; } |
63 | void Process(AliVAODParticle * track,AliVAODParticle * part); | |
becde6ce | 64 | protected: |
2b31c209 | 65 | TH1D* fWrong;//histogram filled with wrongly identified particles |
66 | TH1D* fAll;//histogram filled with all particles | |
becde6ce | 67 | ClassDef(AliHBTMonPIDContaminationVsPtFctn,1) |
68 | }; | |
69 | /*************************************************************************************/ | |
70 | ||
61763057 | 71 | class AliHBTQInvCorrelFctnPerfectPID: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction |
72 | { | |
73 | //Q Invaraint Correlation Function | |
74 | //1D two particle function | |
75 | //Fills the function only for correctly reconstructed PID | |
76 | //Together with | |
77 | public: | |
78 | AliHBTQInvCorrelFctnPerfectPID(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); | |
79 | virtual ~AliHBTQInvCorrelFctnPerfectPID(){}; | |
80 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
81 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
82 | TH1* GetResult(); | |
83 | protected: | |
84 | Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* /*partpair*/) const {return trackpair->GetQInv();} | |
85 | private: | |
86 | ClassDef(AliHBTQInvCorrelFctnPerfectPID,1) | |
87 | }; | |
88 | ||
89 | /*************************************************************************************/ | |
90 | ||
91 | class AliHBTWeightQInvCorrelFctnPerfectPID: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction | |
92 | { | |
93 | //Weight Q Invaraint Correlation Function | |
94 | //1D two particle function | |
95 | //Fills the function only for correctly reconstructed PID | |
96 | //Together with regular | |
97 | public: | |
98 | AliHBTWeightQInvCorrelFctnPerfectPID(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); | |
99 | virtual ~AliHBTWeightQInvCorrelFctnPerfectPID(){}; | |
100 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
101 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
102 | TH1* GetResult(); | |
103 | protected: | |
104 | Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* /*partpair*/) const {return trackpair->GetQInv();} | |
105 | private: | |
106 | ClassDef(AliHBTWeightQInvCorrelFctnPerfectPID,1) | |
107 | }; | |
108 | /*************************************************************************************/ | |
109 | class AliHBTWeightQOutSQideQLongFctnPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction | |
110 | { | |
111 | ||
112 | public: | |
113 | AliHBTWeightQOutSQideQLongFctnPerfectPID(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, | |
114 | Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0, | |
115 | Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0); | |
116 | virtual ~AliHBTWeightQOutSQideQLongFctnPerfectPID(){} | |
117 | ||
118 | TH1* GetResult(); | |
119 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
120 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
121 | ||
122 | protected: | |
123 | void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {} | |
124 | ||
125 | ClassDef(AliHBTWeightQOutSQideQLongFctnPerfectPID,1) | |
126 | }; | |
127 | ||
128 | /*************************************************************************************/ | |
129 | class AliHBTQOutSQideQLongFctnPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction | |
130 | { | |
131 | ||
132 | public: | |
133 | AliHBTQOutSQideQLongFctnPerfectPID(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, | |
134 | Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0, | |
135 | Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0); | |
136 | virtual ~AliHBTQOutSQideQLongFctnPerfectPID(){} | |
137 | ||
138 | TH1* GetResult(); | |
139 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
140 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
141 | ||
142 | protected: | |
143 | void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {} | |
144 | ||
145 | ClassDef(AliHBTQOutSQideQLongFctnPerfectPID,1) | |
146 | }; | |
147 | ||
148 | ||
149 | /*************************************************************************************/ | |
150 | ||
becde6ce | 151 | class AliHBTPairPIDProbVsQInvFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction |
152 | { | |
153 | //Q Invaraint Correlation Function | |
154 | //1D two particle function | |
155 | public: | |
156 | AliHBTPairPIDProbVsQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); | |
157 | virtual ~AliHBTPairPIDProbVsQInvFctn(){}; | |
158 | void ProcessSameEventParticles(AliHBTPair* pair); | |
159 | void ProcessDiffEventParticles(AliHBTPair* pair); | |
160 | TH1* GetResult(); | |
161 | protected: | |
a22a56ec | 162 | Double_t GetValue(AliHBTPair * pair) const {return pair->GetQInv();} |
becde6ce | 163 | private: |
164 | ClassDef(AliHBTPairPIDProbVsQInvFctn,1) | |
165 | }; | |
166 | /*************************************************************************************/ | |
1f4ef2d2 | 167 | |
becde6ce | 168 | class AliHBTPairPIDProbVsQOutSQideQLongFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction |
169 | { | |
170 | ||
171 | public: | |
172 | AliHBTPairPIDProbVsQOutSQideQLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, | |
d277b11c | 173 | Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0, |
174 | Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0); | |
becde6ce | 175 | virtual ~AliHBTPairPIDProbVsQOutSQideQLongFctn(){} |
176 | ||
177 | TH1* GetResult(); | |
178 | void ProcessSameEventParticles(AliHBTPair* part); | |
179 | void ProcessDiffEventParticles(AliHBTPair* pair); | |
180 | ||
181 | protected: | |
a22a56ec | 182 | void GetValues(AliHBTPair* /*pair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {} |
becde6ce | 183 | |
184 | ClassDef(AliHBTPairPIDProbVsQOutSQideQLongFctn,1) | |
185 | }; | |
1f4ef2d2 | 186 | /******************************************************************/ |
187 | ||
188 | class AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction | |
189 | { | |
190 | public: | |
d277b11c | 191 | AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID(Int_t nXbins = 50, Double_t maxXval = 0.3, Double_t minXval = 0.0, |
192 | Int_t nYbins = 50, Double_t maxYval = 0.3, Double_t minYval = 0.0, | |
193 | Int_t nZbins = 50, Double_t maxZval = 0.3, Double_t minZval = 0.0); | |
1f4ef2d2 | 194 | virtual ~AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID(){} |
195 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
196 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
197 | ||
198 | TH1* GetResult(); | |
199 | protected: | |
200 | void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {} | |
201 | private: | |
202 | ClassDef(AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID,1) | |
203 | }; | |
204 | /*************************************************************************************/ | |
205 | ||
206 | class AliHBTPairPIDProbVsPtThetaPhiFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction | |
207 | { | |
208 | ||
209 | public: | |
d277b11c | 210 | AliHBTPairPIDProbVsPtThetaPhiFctn(Int_t nXbins = 50, Double_t maxXval = 0.3, Double_t minXval = 0.0, |
211 | Int_t nYbins = 50, Double_t maxYval = 0.3, Double_t minYval = 0.0, | |
212 | Int_t nZbins = 50, Double_t maxZval = 0.3, Double_t minZval = 0.0); | |
1f4ef2d2 | 213 | virtual ~AliHBTPairPIDProbVsPtThetaPhiFctn(){} |
214 | ||
215 | TH1* GetResult(); | |
216 | void ProcessSameEventParticles(AliHBTPair* part); | |
217 | void ProcessDiffEventParticles(AliHBTPair* pair); | |
218 | ||
219 | protected: | |
220 | void GetValues(AliHBTPair* /*pair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {} | |
221 | ||
222 | ClassDef(AliHBTPairPIDProbVsPtThetaPhiFctn,1) | |
223 | }; | |
224 | ||
becde6ce | 225 | |
226 | ||
227 | #endif |