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 ////////////////////////////////////////////////////////////////////
21 class AliHBTKtResolVsQInvFctn; //Kt Res Vs QInvLCMS
23 class AliHBTQOutResolVsQInvFctn; //QOutLCMS Res Vs QInvLCMS
24 class AliHBTQSideResolVsQInvFctn; //QSideLCMS Res Vs QInvLCMS
25 class AliHBTQLongResolVsQInvFctn; //QLongLCMS Res Vs QInvLCMS
26 class AliHBTQInvResolVsQInvFctn; //QInvLCMS Res Vs QInvLCMS
28 class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res Vs QInvLCMS
29 class AliHBTPairPhiResolVsQInvFctn; //PairPhi Res Vs QInvLCMS
31 class AliHBTQInvResolVsKtFctn; //QInvLCMS Res Vs Kt
32 class AliHBTQOutResolVsKtFctn; //QOutLCMS Res Vs Kt
33 class AliHBTQSideResolVsKtFctn; //QSideLCMS Res Vs Kt
34 class AliHBTQLongResolVsKtFctn; //QLongLCMS Res Vs Kt
36 class AliHBTPairThetaResolVsKtFctn; //PairTheta Res Vs Kt
37 class AliHBTPairPhiResolVsKtFctn; //PairPhi Res Vs Kt
40 class AliHBTQOutResolVsQOutFctn; //QOutLCMS Res Vs QOut
41 class AliHBTQSideResolVsQSideFctn;//QSideLCMS Res Vs QSide
42 class AliHBTQLongResolVsQLongFctn;//QLongLCMS Res Vs QLong
46 #include "AliHBTFunction.h"
47 /***********************************************************************/
48 /***********************************************************************/
49 class AliHBTKtResolVsQInvFctn: public AliHBTTwoPairFctn2D
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);
55 virtual ~AliHBTKtResolVsQInvFctn(){}
57 TH1* GetResult(){return this->fNumerator;}
58 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
59 ClassDef(AliHBTKtResolVsQInvFctn,1)
63 /***********************************************************************/
64 /***********************************************************************/
65 class AliHBTQInvResolVsQInvFctn: public AliHBTTwoPairFctn2D
68 AliHBTQInvResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
69 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
71 virtual ~AliHBTQInvResolVsQInvFctn(){}
73 TH1* GetResult(){return this->fNumerator;}
74 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
75 ClassDef(AliHBTQInvResolVsQInvFctn,1)
79 /***********************************************************************/
80 /***********************************************************************/
81 class AliHBTQOutResolVsQInvFctn: public AliHBTTwoPairFctn2D
84 AliHBTQOutResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
85 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
87 virtual ~AliHBTQOutResolVsQInvFctn(){}
89 TH1* GetResult(){return this->fNumerator;}
90 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
91 ClassDef(AliHBTQOutResolVsQInvFctn,1)
94 /***********************************************************************/
95 /***********************************************************************/
96 class AliHBTQSideResolVsQInvFctn: public AliHBTTwoPairFctn2D
99 AliHBTQSideResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
100 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
101 virtual ~AliHBTQSideResolVsQInvFctn(){}
103 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
104 TH1* GetResult(){return this->fNumerator;}
105 ClassDef(AliHBTQSideResolVsQInvFctn,1)
108 /***********************************************************************/
109 /***********************************************************************/
110 class AliHBTQLongResolVsQInvFctn: public AliHBTTwoPairFctn2D
113 AliHBTQLongResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
114 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
115 virtual ~AliHBTQLongResolVsQInvFctn(){}
117 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
118 TH1* GetResult(){return this->fNumerator;}
119 ClassDef(AliHBTQLongResolVsQInvFctn,1)
122 /***********************************************************************/
123 /***********************************************************************/
124 class AliHBTQInvResolVsKtFctn: public AliHBTTwoPairFctn2D
127 AliHBTQInvResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
128 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
129 virtual ~AliHBTQInvResolVsKtFctn(){};
131 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
132 TH1* GetResult(){return this->fNumerator;}
133 ClassDef(AliHBTQInvResolVsKtFctn,1)
135 /***********************************************************************/
136 /***********************************************************************/
137 class AliHBTQOutResolVsKtFctn: public AliHBTTwoPairFctn2D
140 AliHBTQOutResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
141 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
142 virtual ~AliHBTQOutResolVsKtFctn(){}
143 TH1* GetResult(){return this->GetNumerator();}
144 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
145 ClassDef(AliHBTQOutResolVsKtFctn,1)
147 /***********************************************************************/
148 /***********************************************************************/
149 class AliHBTQSideResolVsKtFctn: public AliHBTTwoPairFctn2D
152 AliHBTQSideResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
153 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
154 virtual ~AliHBTQSideResolVsKtFctn(){}
155 TH1* GetResult(){return this->GetNumerator();}
156 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
157 ClassDef(AliHBTQSideResolVsKtFctn,1)
159 /***********************************************************************/
160 /***********************************************************************/
161 class AliHBTQLongResolVsKtFctn: public AliHBTTwoPairFctn2D
164 AliHBTQLongResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
165 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
166 virtual ~AliHBTQLongResolVsKtFctn(){}
168 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
169 TH1* GetResult(){return this->GetNumerator();}
170 ClassDef(AliHBTQLongResolVsKtFctn,1)
172 /***********************************************************************/
173 /***********************************************************************/
174 class AliHBTQOutResolVsQOutFctn: public AliHBTTwoPairFctn2D
177 AliHBTQOutResolVsQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
178 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
179 virtual ~AliHBTQOutResolVsQOutFctn(){}
181 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
182 TH1* GetResult(){return this->fNumerator;}
183 ClassDef(AliHBTQOutResolVsQOutFctn,1)
186 /***********************************************************************/
187 /***********************************************************************/
189 class AliHBTQSideResolVsQSideFctn: public AliHBTTwoPairFctn2D
192 AliHBTQSideResolVsQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
193 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
194 virtual ~AliHBTQSideResolVsQSideFctn(){}
196 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
197 TH1* GetResult(){return this->fNumerator;}
198 ClassDef(AliHBTQSideResolVsQSideFctn,1)
201 /***********************************************************************/
202 /***********************************************************************/
204 class AliHBTQLongResolVsQLongFctn: public AliHBTTwoPairFctn2D
207 AliHBTQLongResolVsQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
208 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
209 virtual ~AliHBTQLongResolVsQLongFctn(){}
211 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
212 TH1* GetResult(){return this->fNumerator;}
213 ClassDef(AliHBTQLongResolVsQLongFctn,1)
215 /***********************************************************************/
216 /***********************************************************************/
218 class AliHBTPairThetaResolVsQInvFctn: public AliHBTTwoPairFctn2D
221 AliHBTPairThetaResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
222 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
224 virtual ~AliHBTPairThetaResolVsQInvFctn(){}
226 TH1* GetResult(){return this->fNumerator;}
227 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
228 ClassDef(AliHBTPairThetaResolVsQInvFctn,1)
231 /***********************************************************************/
232 /***********************************************************************/
233 class AliHBTPairThetaResolVsPairThetaFctn: public AliHBTTwoPairFctn2D
236 AliHBTPairThetaResolVsPairThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(),
237 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
239 virtual ~AliHBTPairThetaResolVsPairThetaFctn(){}
241 TH1* GetResult(){return this->fNumerator;}
242 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
243 ClassDef(AliHBTPairThetaResolVsPairThetaFctn,1)
247 /***********************************************************************/
248 /***********************************************************************/
249 class AliHBTPairPhiResolVsQInvFctn: public AliHBTTwoPairFctn2D
252 AliHBTPairPhiResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
253 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
255 virtual ~AliHBTPairPhiResolVsQInvFctn(){}
257 TH1* GetResult(){return this->fNumerator;}
258 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
259 ClassDef(AliHBTPairPhiResolVsQInvFctn,1)
262 /***********************************************************************/
263 /***********************************************************************/
264 class AliHBTPairThetaResolVsKtFctn: public AliHBTTwoPairFctn2D
267 AliHBTPairThetaResolVsKtFctn(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);
270 virtual ~AliHBTPairThetaResolVsKtFctn(){}
272 TH1* GetResult(){return this->fNumerator;}
273 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
274 ClassDef(AliHBTPairThetaResolVsKtFctn,1)
277 /***********************************************************************/
278 /***********************************************************************/
279 class AliHBTPairPhiResolVsKtFctn: public AliHBTTwoPairFctn2D
282 AliHBTPairPhiResolVsKtFctn(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);
285 virtual ~AliHBTPairPhiResolVsKtFctn(){}
287 TH1* GetResult(){return this->fNumerator;}
288 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
289 ClassDef(AliHBTPairPhiResolVsKtFctn,1)
292 /***********************************************************************/
293 /***********************************************************************/
294 class AliHBTPairPhiResolVsPairPhiFctn: public AliHBTTwoPairFctn2D
297 AliHBTPairPhiResolVsPairPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0,
298 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
300 virtual ~AliHBTPairPhiResolVsPairPhiFctn(){}
302 TH1* GetResult(){return this->fNumerator;}
303 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
304 ClassDef(AliHBTPairPhiResolVsPairPhiFctn,1)