]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIHBTQRESOLUTIONFCTNS_H | |
2 | #define ALIHBTQRESOLUTIONFCTNS_H | |
3 | //__________________________________________________________________ | |
4 | //////////////////////////////////////////////////////////////////// | |
5 | // // | |
6 | // General Remark: // | |
7 | // CMSLC means // | |
8 | // Center of Mass System Longitudially Co-moving // | |
9 | // // | |
10 | // // | |
11 | // This class creates resolution function of Qout // | |
12 | // (difference of simulated pair Qout and recontructed pair) // | |
13 | // in function of QInv // | |
14 | // it inherits from AliHBTTwoPairFctn2D // | |
15 | // it needs two pairs to compare // | |
16 | // and is two dimentional: numerator and denominator are TH2D // | |
17 | // // | |
18 | //////////////////////////////////////////////////////////////////// | |
19 | ||
20 | ||
21 | class AliHBTKtResolVsQInvFctn; //Kt Res Vs QInvCMSLC | |
22 | ||
23 | class AliHBTQOutResolVsQInvFctn; //QOutCMSLC Res Vs QInvCMSLC | |
24 | class AliHBTQSideResolVsQInvFctn; //QSideCMSLC Res Vs QInvCMSLC | |
25 | class AliHBTQLongResolVsQInvFctn; //QLongCMSLC Res Vs QInvCMSLC | |
26 | class AliHBTQInvResolVsQInvFctn; //QInvCMSLC Res Vs QInvCMSLC | |
27 | ||
28 | class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res Vs QInvCMSLC | |
29 | class AliHBTPairPhiResolVsQInvFctn; //PairPhi Res Vs QInvCMSLC | |
30 | ||
31 | class AliHBTQInvResolVsKtFctn; //QInvCMSLC Res Vs Kt | |
32 | class AliHBTQOutResolVsKtFctn; //QOutCMSLC Res Vs Kt | |
33 | class AliHBTQSideResolVsKtFctn; //QSideCMSLC Res Vs Kt | |
34 | class AliHBTQLongResolVsKtFctn; //QLongCMSLC Res Vs Kt | |
35 | ||
36 | class AliHBTPairThetaResolVsKtFctn; //PairTheta Res Vs Kt | |
37 | class AliHBTPairPhiResolVsKtFctn; //PairPhi Res Vs Kt | |
38 | ||
39 | ||
40 | class AliHBTQOutResolVsQOutFctn; //QOutCMSLC Res Vs QOut | |
41 | class AliHBTQSideResolVsQSideFctn;//QSideCMSLC Res Vs QSide | |
42 | class AliHBTQLongResolVsQLongFctn;//QLongCMSLC Res Vs QLong | |
43 | ||
44 | ||
45 | ||
46 | #include "AliHBTFunction.h" | |
47 | /***********************************************************************/ | |
48 | /***********************************************************************/ | |
49 | class AliHBTKtResolVsQInvFctn: public AliHBTTwoPairFctn2D | |
50 | { | |
51 | public: | |
52 | AliHBTKtResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, | |
53 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
54 | ||
55 | virtual ~AliHBTKtResolVsQInvFctn(){} | |
56 | ||
57 | TH1* GetResult(){return fNumerator;} | |
58 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) | |
59 | { | |
60 | y = partpair->GetKt() - trackpair->GetKt(); | |
61 | x = partpair->GetQInv(); | |
62 | } | |
63 | ClassDef(AliHBTKtResolVsQInvFctn,1) | |
64 | }; | |
65 | ||
66 | ||
67 | /***********************************************************************/ | |
68 | /***********************************************************************/ | |
69 | class AliHBTQInvResolVsQInvFctn: public AliHBTTwoPairFctn2D | |
70 | { | |
71 | public: | |
72 | AliHBTQInvResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, | |
73 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
74 | ||
75 | virtual ~AliHBTQInvResolVsQInvFctn(){} | |
76 | ||
77 | TH1* GetResult(){return fNumerator;} | |
78 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) | |
79 | { | |
80 | y = partpair->GetQInv() - trackpair->GetQInv(); | |
81 | x = partpair->GetQInv(); | |
82 | } | |
83 | ClassDef(AliHBTQInvResolVsQInvFctn,1) | |
84 | }; | |
85 | ||
86 | ||
87 | /***********************************************************************/ | |
88 | /***********************************************************************/ | |
89 | class AliHBTQOutResolVsQInvFctn: public AliHBTTwoPairFctn2D | |
90 | { | |
91 | public: | |
92 | AliHBTQOutResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, | |
93 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
94 | ||
95 | virtual ~AliHBTQOutResolVsQInvFctn(){} | |
96 | ||
97 | TH1* GetResult(){return fNumerator;} | |
98 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
99 | ClassDef(AliHBTQOutResolVsQInvFctn,1) | |
100 | }; | |
101 | ||
102 | /***********************************************************************/ | |
103 | /***********************************************************************/ | |
104 | class AliHBTQSideResolVsQInvFctn: public AliHBTTwoPairFctn2D | |
105 | { | |
106 | public: | |
107 | AliHBTQSideResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, | |
108 | Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); | |
109 | virtual ~AliHBTQSideResolVsQInvFctn(){} | |
110 | ||
111 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
112 | TH1* GetResult(){return fNumerator;} | |
113 | ClassDef(AliHBTQSideResolVsQInvFctn,1) | |
114 | }; | |
115 | ||
116 | /***********************************************************************/ | |
117 | /***********************************************************************/ | |
118 | class AliHBTQLongResolVsQInvFctn: public AliHBTTwoPairFctn2D | |
119 | { | |
120 | public: | |
121 | AliHBTQLongResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, | |
122 | Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); | |
123 | virtual ~AliHBTQLongResolVsQInvFctn(){} | |
124 | ||
125 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
126 | TH1* GetResult(){return fNumerator;} | |
127 | ClassDef(AliHBTQLongResolVsQInvFctn,1) | |
128 | }; | |
129 | ||
130 | /***********************************************************************/ | |
131 | /***********************************************************************/ | |
132 | class AliHBTQInvResolVsKtFctn: public AliHBTTwoPairFctn2D | |
133 | { | |
134 | public: | |
135 | AliHBTQInvResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, | |
136 | Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); | |
137 | virtual ~AliHBTQInvResolVsKtFctn(){}; | |
138 | ||
139 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) | |
140 | {y = partpair->GetQInv() - trackpair->GetQInv();x = partpair->GetKt();} | |
141 | TH1* GetResult(){return fNumerator;} | |
142 | ClassDef(AliHBTQInvResolVsKtFctn,1) | |
143 | }; | |
144 | /***********************************************************************/ | |
145 | /***********************************************************************/ | |
146 | class AliHBTQOutResolVsKtFctn: public AliHBTTwoPairFctn2D | |
147 | { | |
148 | public: | |
149 | AliHBTQOutResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, | |
150 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
151 | virtual ~AliHBTQOutResolVsKtFctn(){} | |
152 | TH1* GetResult(){return GetNumerator();} | |
153 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
154 | ClassDef(AliHBTQOutResolVsKtFctn,1) | |
155 | }; | |
156 | /***********************************************************************/ | |
157 | /***********************************************************************/ | |
158 | class AliHBTQSideResolVsKtFctn: public AliHBTTwoPairFctn2D | |
159 | { | |
160 | public: | |
161 | AliHBTQSideResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, | |
162 | Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); | |
163 | virtual ~AliHBTQSideResolVsKtFctn(){} | |
164 | TH1* GetResult(){return GetNumerator();} | |
165 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
166 | ClassDef(AliHBTQSideResolVsKtFctn,1) | |
167 | }; | |
168 | /***********************************************************************/ | |
169 | /***********************************************************************/ | |
170 | class AliHBTQLongResolVsKtFctn: public AliHBTTwoPairFctn2D | |
171 | { | |
172 | public: | |
173 | AliHBTQLongResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, | |
174 | Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); | |
175 | virtual ~AliHBTQLongResolVsKtFctn(){} | |
176 | ||
177 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
178 | TH1* GetResult(){return fNumerator;} | |
179 | ClassDef(AliHBTQLongResolVsKtFctn,1) | |
180 | }; | |
181 | /***********************************************************************/ | |
182 | /***********************************************************************/ | |
183 | class AliHBTQOutResolVsQOutFctn: public AliHBTTwoPairFctn2D | |
184 | { | |
185 | public: | |
186 | AliHBTQOutResolVsQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, | |
187 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
188 | virtual ~AliHBTQOutResolVsQOutFctn(){} | |
189 | ||
190 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) | |
191 | {x = partpair->GetQOutCMSLC();y = x - trackpair->GetQOutCMSLC();} | |
192 | ||
193 | TH1* GetResult(){return fNumerator;} | |
194 | ClassDef(AliHBTQOutResolVsQOutFctn,1) | |
195 | }; | |
196 | ||
197 | /***********************************************************************/ | |
198 | /***********************************************************************/ | |
199 | ||
200 | class AliHBTQSideResolVsQSideFctn: public AliHBTTwoPairFctn2D | |
201 | { | |
202 | public: | |
203 | AliHBTQSideResolVsQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, | |
204 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
205 | virtual ~AliHBTQSideResolVsQSideFctn(){} | |
206 | ||
207 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) | |
208 | {x = partpair->GetQSideCMSLC(); y = x - trackpair->GetQSideCMSLC();} | |
209 | ||
210 | TH1* GetResult(){return fNumerator;} | |
211 | ClassDef(AliHBTQSideResolVsQSideFctn,1) | |
212 | }; | |
213 | ||
214 | /***********************************************************************/ | |
215 | /***********************************************************************/ | |
216 | ||
217 | class AliHBTQLongResolVsQLongFctn: public AliHBTTwoPairFctn2D | |
218 | { | |
219 | public: | |
220 | AliHBTQLongResolVsQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, | |
221 | Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); | |
222 | virtual ~AliHBTQLongResolVsQLongFctn(){} | |
223 | ||
224 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) | |
225 | {x = partpair->GetQLongCMSLC(); y = x - trackpair->GetQLongCMSLC();} | |
226 | ||
227 | TH1* GetResult(){return fNumerator;} | |
228 | ClassDef(AliHBTQLongResolVsQLongFctn,1) | |
229 | }; | |
230 | /***********************************************************************/ | |
231 | /***********************************************************************/ | |
232 | ||
233 | class AliHBTPairThetaResolVsQInvFctn: public AliHBTTwoPairFctn2D | |
234 | { | |
235 | public: | |
236 | AliHBTPairThetaResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, | |
237 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
238 | ||
239 | virtual ~AliHBTPairThetaResolVsQInvFctn(){} | |
240 | ||
241 | TH1* GetResult(){return fNumerator;} | |
242 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
243 | ClassDef(AliHBTPairThetaResolVsQInvFctn,1) | |
244 | }; | |
245 | ||
246 | /***********************************************************************/ | |
247 | /***********************************************************************/ | |
248 | class AliHBTPairThetaResolVsPairThetaFctn: public AliHBTTwoPairFctn2D | |
249 | { | |
250 | public: | |
251 | AliHBTPairThetaResolVsPairThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(), | |
252 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
253 | ||
254 | virtual ~AliHBTPairThetaResolVsPairThetaFctn(){} | |
255 | ||
256 | TH1* GetResult(){return fNumerator;} | |
257 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
258 | ClassDef(AliHBTPairThetaResolVsPairThetaFctn,1) | |
259 | }; | |
260 | ||
261 | ||
262 | /***********************************************************************/ | |
263 | /***********************************************************************/ | |
264 | class AliHBTPairPhiResolVsQInvFctn: public AliHBTTwoPairFctn2D | |
265 | { | |
266 | public: | |
267 | AliHBTPairPhiResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, | |
268 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
269 | ||
270 | virtual ~AliHBTPairPhiResolVsQInvFctn(){} | |
271 | ||
272 | TH1* GetResult(){return fNumerator;} | |
273 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
274 | ClassDef(AliHBTPairPhiResolVsQInvFctn,1) | |
275 | }; | |
276 | ||
277 | /***********************************************************************/ | |
278 | /***********************************************************************/ | |
279 | class AliHBTPairThetaResolVsKtFctn: public AliHBTTwoPairFctn2D | |
280 | { | |
281 | public: | |
282 | AliHBTPairThetaResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, | |
283 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
284 | ||
285 | virtual ~AliHBTPairThetaResolVsKtFctn(){} | |
286 | ||
287 | TH1* GetResult(){return fNumerator;} | |
288 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
289 | ClassDef(AliHBTPairThetaResolVsKtFctn,1) | |
290 | }; | |
291 | ||
292 | /***********************************************************************/ | |
293 | /***********************************************************************/ | |
294 | class AliHBTPairPhiResolVsKtFctn: public AliHBTTwoPairFctn2D | |
295 | { | |
296 | public: | |
297 | AliHBTPairPhiResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, | |
298 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
299 | ||
300 | virtual ~AliHBTPairPhiResolVsKtFctn(){} | |
301 | ||
302 | TH1* GetResult(){return fNumerator;} | |
303 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
304 | ClassDef(AliHBTPairPhiResolVsKtFctn,1) | |
305 | }; | |
306 | ||
307 | /***********************************************************************/ | |
308 | /***********************************************************************/ | |
309 | class AliHBTPairPhiResolVsPairPhiFctn: public AliHBTTwoPairFctn2D | |
310 | { | |
311 | public: | |
312 | AliHBTPairPhiResolVsPairPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0, | |
313 | Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); | |
314 | ||
315 | virtual ~AliHBTPairPhiResolVsPairPhiFctn(){} | |
316 | ||
317 | TH1* GetResult(){return fNumerator;} | |
318 | void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y); | |
319 | ClassDef(AliHBTPairPhiResolVsPairPhiFctn,1) | |
320 | }; | |
321 | ||
322 | ||
323 | #endif |