1 #ifndef ALIHBTQRESOLUTIONFCTNS_H
2 #define ALIHBTQRESOLUTIONFCTNS_H
3 //__________________________________________________________________
4 ////////////////////////////////////////////////////////////////////
8 // Center of Mass System Longitudially Co-moving //
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 //
18 ////////////////////////////////////////////////////////////////////
22 class AliHBTKtResolVsQInvFctn; //Kt Res Vs QInvLCMS
24 class AliHBTQOutResolVsQInvFctn; //QOutLCMS Res Vs QInvLCMS
25 class AliHBTQSideResolVsQInvFctn; //QSideLCMS Res Vs QInvLCMS
26 class AliHBTQLongResolVsQInvFctn; //QLongLCMS Res Vs QInvLCMS
27 class AliHBTQInvResolVsQInvFctn; //QInvLCMS Res Vs QInvLCMS
29 class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res Vs QInvLCMS
30 class AliHBTPairPhiResolVsQInvFctn; //PairPhi Res Vs QInvLCMS
32 class AliHBTQInvResolVsKtFctn; //QInvLCMS Res Vs Kt
33 class AliHBTQOutResolVsKtFctn; //QOutLCMS Res Vs Kt
34 class AliHBTQSideResolVsKtFctn; //QSideLCMS Res Vs Kt
35 class AliHBTQLongResolVsKtFctn; //QLongLCMS Res Vs Kt
37 class AliHBTPairThetaResolVsKtFctn; //PairTheta Res Vs Kt
38 class AliHBTPairPhiResolVsKtFctn; //PairPhi Res Vs Kt
41 class AliHBTQOutResolVsQOutFctn; //QOutLCMS Res Vs QOut
42 class AliHBTQSideResolVsQSideFctn;//QSideLCMS Res Vs QSide
43 class AliHBTQLongResolVsQLongFctn;//QLongLCMS Res Vs QLong
47 #include "AliHBTFunction.h"
48 /***********************************************************************/
49 /***********************************************************************/
50 class AliHBTKtResolVsQInvFctn: public AliHBTTwoPairFctn2D
53 AliHBTKtResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
54 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
56 virtual ~AliHBTKtResolVsQInvFctn(){}
58 TH1* GetResult(){return this->fNumerator;}
59 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
60 ClassDef(AliHBTKtResolVsQInvFctn,1)
64 /***********************************************************************/
65 /***********************************************************************/
66 class AliHBTQInvResolVsQInvFctn: public AliHBTTwoPairFctn2D
69 AliHBTQInvResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
70 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
72 virtual ~AliHBTQInvResolVsQInvFctn(){}
74 TH1* GetResult(){return this->fNumerator;}
75 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
76 ClassDef(AliHBTQInvResolVsQInvFctn,1)
80 /***********************************************************************/
81 /***********************************************************************/
82 class AliHBTQOutResolVsQInvFctn: public AliHBTTwoPairFctn2D
85 AliHBTQOutResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
86 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
88 virtual ~AliHBTQOutResolVsQInvFctn(){}
90 TH1* GetResult(){return this->fNumerator;}
91 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
92 ClassDef(AliHBTQOutResolVsQInvFctn,1)
95 /***********************************************************************/
96 /***********************************************************************/
97 class AliHBTQSideResolVsQInvFctn: public AliHBTTwoPairFctn2D
100 AliHBTQSideResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
101 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
102 virtual ~AliHBTQSideResolVsQInvFctn(){}
104 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
105 TH1* GetResult(){return this->fNumerator;}
106 ClassDef(AliHBTQSideResolVsQInvFctn,1)
109 /***********************************************************************/
110 /***********************************************************************/
111 class AliHBTQLongResolVsQInvFctn: public AliHBTTwoPairFctn2D
114 AliHBTQLongResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
115 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
116 virtual ~AliHBTQLongResolVsQInvFctn(){}
118 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
119 TH1* GetResult(){return this->fNumerator;}
120 ClassDef(AliHBTQLongResolVsQInvFctn,1)
123 /***********************************************************************/
124 /***********************************************************************/
125 class AliHBTQInvResolVsKtFctn: public AliHBTTwoPairFctn2D
128 AliHBTQInvResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
129 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
130 virtual ~AliHBTQInvResolVsKtFctn(){};
132 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
133 TH1* GetResult(){return this->fNumerator;}
134 ClassDef(AliHBTQInvResolVsKtFctn,1)
136 /***********************************************************************/
137 /***********************************************************************/
138 class AliHBTQOutResolVsKtFctn: public AliHBTTwoPairFctn2D
141 AliHBTQOutResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
142 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
143 virtual ~AliHBTQOutResolVsKtFctn(){}
144 TH1* GetResult(){return this->GetNumerator();}
145 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
146 ClassDef(AliHBTQOutResolVsKtFctn,1)
148 /***********************************************************************/
149 /***********************************************************************/
150 class AliHBTQSideResolVsKtFctn: public AliHBTTwoPairFctn2D
153 AliHBTQSideResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
154 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
155 virtual ~AliHBTQSideResolVsKtFctn(){}
156 TH1* GetResult(){return this->GetNumerator();}
157 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
158 ClassDef(AliHBTQSideResolVsKtFctn,1)
160 /***********************************************************************/
161 /***********************************************************************/
162 class AliHBTQLongResolVsKtFctn: public AliHBTTwoPairFctn2D
165 AliHBTQLongResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
166 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
167 virtual ~AliHBTQLongResolVsKtFctn(){}
169 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
170 TH1* GetResult(){return this->GetNumerator();}
171 ClassDef(AliHBTQLongResolVsKtFctn,1)
173 /***********************************************************************/
174 /***********************************************************************/
175 class AliHBTQOutResolVsQOutFctn: public AliHBTTwoPairFctn2D
178 AliHBTQOutResolVsQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
179 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
180 virtual ~AliHBTQOutResolVsQOutFctn(){}
182 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
183 TH1* GetResult(){return this->fNumerator;}
184 ClassDef(AliHBTQOutResolVsQOutFctn,1)
187 /***********************************************************************/
188 /***********************************************************************/
190 class AliHBTQSideResolVsQSideFctn: public AliHBTTwoPairFctn2D
193 AliHBTQSideResolVsQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
194 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
195 virtual ~AliHBTQSideResolVsQSideFctn(){}
197 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
198 TH1* GetResult(){return this->fNumerator;}
199 ClassDef(AliHBTQSideResolVsQSideFctn,1)
202 /***********************************************************************/
203 /***********************************************************************/
205 class AliHBTQLongResolVsQLongFctn: public AliHBTTwoPairFctn2D
208 AliHBTQLongResolVsQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
209 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
210 virtual ~AliHBTQLongResolVsQLongFctn(){}
212 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
213 TH1* GetResult(){return this->fNumerator;}
214 ClassDef(AliHBTQLongResolVsQLongFctn,1)
216 /***********************************************************************/
217 /***********************************************************************/
219 class AliHBTPairThetaResolVsQInvFctn: public AliHBTTwoPairFctn2D
222 AliHBTPairThetaResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
223 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
225 virtual ~AliHBTPairThetaResolVsQInvFctn(){}
227 TH1* GetResult(){return this->fNumerator;}
228 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
229 ClassDef(AliHBTPairThetaResolVsQInvFctn,1)
232 /***********************************************************************/
233 /***********************************************************************/
234 class AliHBTPairThetaResolVsPairThetaFctn: public AliHBTTwoPairFctn2D
237 AliHBTPairThetaResolVsPairThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(),
238 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
240 virtual ~AliHBTPairThetaResolVsPairThetaFctn(){}
242 TH1* GetResult(){return this->fNumerator;}
243 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
244 ClassDef(AliHBTPairThetaResolVsPairThetaFctn,1)
248 /***********************************************************************/
249 /***********************************************************************/
250 class AliHBTPairPhiResolVsQInvFctn: public AliHBTTwoPairFctn2D
253 AliHBTPairPhiResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
254 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
256 virtual ~AliHBTPairPhiResolVsQInvFctn(){}
258 TH1* GetResult(){return this->fNumerator;}
259 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
260 ClassDef(AliHBTPairPhiResolVsQInvFctn,1)
263 /***********************************************************************/
264 /***********************************************************************/
265 class AliHBTPairThetaResolVsKtFctn: public AliHBTTwoPairFctn2D
268 AliHBTPairThetaResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
269 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
271 virtual ~AliHBTPairThetaResolVsKtFctn(){}
273 TH1* GetResult(){return this->fNumerator;}
274 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
275 ClassDef(AliHBTPairThetaResolVsKtFctn,1)
278 /***********************************************************************/
279 /***********************************************************************/
280 class AliHBTPairPhiResolVsKtFctn: public AliHBTTwoPairFctn2D
283 AliHBTPairPhiResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
284 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
286 virtual ~AliHBTPairPhiResolVsKtFctn(){}
288 TH1* GetResult(){return this->fNumerator;}
289 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
290 ClassDef(AliHBTPairPhiResolVsKtFctn,1)
293 /***********************************************************************/
294 /***********************************************************************/
295 class AliHBTPairPhiResolVsPairPhiFctn: public AliHBTTwoPairFctn2D
298 AliHBTPairPhiResolVsPairPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0,
299 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
301 virtual ~AliHBTPairPhiResolVsPairPhiFctn(){}
303 TH1* GetResult(){return this->fNumerator;}
304 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
305 ClassDef(AliHBTPairPhiResolVsPairPhiFctn,1)