]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HBTAN/AliHBTQResolutionFctns.h
Bug corrections
[u/mrichter/AliRoot.git] / HBTAN / AliHBTQResolutionFctns.h
... / ...
CommitLineData
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
21class AliHBTKtResolVsQInvFctn; //Kt Res Vs QInvCMSLC
22
23class AliHBTQOutResolVsQInvFctn; //QOutCMSLC Res Vs QInvCMSLC
24class AliHBTQSideResolVsQInvFctn; //QSideCMSLC Res Vs QInvCMSLC
25class AliHBTQLongResolVsQInvFctn; //QLongCMSLC Res Vs QInvCMSLC
26class AliHBTQInvResolVsQInvFctn; //QInvCMSLC Res Vs QInvCMSLC
27
28class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res Vs QInvCMSLC
29class AliHBTPairPhiResolVsQInvFctn; //PairPhi Res Vs QInvCMSLC
30
31class AliHBTQInvResolVsKtFctn; //QInvCMSLC Res Vs Kt
32class AliHBTQOutResolVsKtFctn; //QOutCMSLC Res Vs Kt
33class AliHBTQSideResolVsKtFctn; //QSideCMSLC Res Vs Kt
34class AliHBTQLongResolVsKtFctn; //QLongCMSLC Res Vs Kt
35
36class AliHBTPairThetaResolVsKtFctn; //PairTheta Res Vs Kt
37class AliHBTPairPhiResolVsKtFctn; //PairPhi Res Vs Kt
38
39
40class AliHBTQOutResolVsQOutFctn; //QOutCMSLC Res Vs QOut
41class AliHBTQSideResolVsQSideFctn;//QSideCMSLC Res Vs QSide
42class AliHBTQLongResolVsQLongFctn;//QLongCMSLC Res Vs QLong
43
44
45
46#include "AliHBTFunction.h"
47/***********************************************************************/
48/***********************************************************************/
49class 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/***********************************************************************/
69class 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/***********************************************************************/
89class 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/***********************************************************************/
104class 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/***********************************************************************/
118class 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/***********************************************************************/
132class 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/***********************************************************************/
146class 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/***********************************************************************/
158class 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/***********************************************************************/
170class 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/***********************************************************************/
183class 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
200class 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
217class 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
233class 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/***********************************************************************/
248class 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/***********************************************************************/
264class 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/***********************************************************************/
279class 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/***********************************************************************/
294class 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/***********************************************************************/
309class 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