1 #ifndef ALIHBTQOUTVsQINVRESOLFCTN_H
2 #define ALIHBTQOUTVsQINVRESOLFCTN_H
5 //Center of Mass System Longitudially Co-moving
8 //this class creates resolution function of Qout
9 //(difference of simulated pair Qout and recontructed pair)
11 //it inherits from AliHBTTwoPairFctn2D
12 // it needs two pairs to compare
13 // and is two dimentional: numerator and denominator are TH2D
15 class AliHBTQOutResolVsQInvFctn; //QOutCMSLC Res Vs QInvCMSLC
16 class AliHBTQSideResolVsQInvFctn; //QSideCMSLC Res Vs QInvCMSLC
17 class AliHBTQLongResolVsQInvFctn; //QLongCMSLC Res Vs QInvCMSLC
18 class AliHBTQInvResolVsQInvFctn; //QInvCMSLC Res Vs QInvCMSLC
20 class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res Vs QInvCMSLC
21 class AliHBTPairPhiResolVsQInvFctn; //PairPhi Res Vs QInvCMSLC
23 class AliHBTQInvResolVsKtFctn; //QInvCMSLC Res Vs Kt
24 class AliHBTQOutResolVsKtFctn; //QOutCMSLC Res Vs Kt
25 class AliHBTQSideResolVsKtFctn; //QSideCMSLC Res Vs Kt
26 class AliHBTQLongResolVsKtFctn; //QLongCMSLC Res Vs Kt
28 class AliHBTPairThetaResolVsKtFctn; //PairTheta Res Vs Kt
29 class AliHBTPairPhiResolVsKtFctn; //PairPhi Res Vs Kt
32 class AliHBTQOutResolVsQOutFctn; //QOutCMSLC Res Vs QOut
33 class AliHBTQSideResolVsQSideFctn;//QSideCMSLC Res Vs QSide
34 class AliHBTQLongResolVsQLongFctn;//QLongCMSLC Res Vs QLong
38 #include "AliHBTFunction.h"
39 /***********************************************************************/
40 /***********************************************************************/
41 class AliHBTQInvResolVsQInvFctn: public AliHBTTwoPairFctn2D
44 AliHBTQInvResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
45 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
47 virtual ~AliHBTQInvResolVsQInvFctn(){}
49 TH1* GetResult(){return fNumerator;}
50 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
52 y = partpair->GetQInv() - trackpair->GetQInv();
53 x = partpair->GetQInv();
58 ClassDef(AliHBTQInvResolVsQInvFctn,1)
62 /***********************************************************************/
63 /***********************************************************************/
64 class AliHBTQOutResolVsQInvFctn: public AliHBTTwoPairFctn2D
67 AliHBTQOutResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
68 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
70 virtual ~AliHBTQOutResolVsQInvFctn(){}
72 TH1* GetResult(){return fNumerator;}
73 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
75 y = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
76 x = partpair->GetQInv();
81 ClassDef(AliHBTQOutResolVsQInvFctn,1)
84 /***********************************************************************/
85 /***********************************************************************/
86 class AliHBTQSideResolVsQInvFctn: public AliHBTTwoPairFctn2D
89 AliHBTQSideResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
90 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
91 virtual ~AliHBTQSideResolVsQInvFctn(){}
93 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
95 y = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
96 x = partpair->GetQInv();
98 TH1* GetResult(){return fNumerator;}
102 ClassDef(AliHBTQSideResolVsQInvFctn,1)
105 /***********************************************************************/
106 /***********************************************************************/
107 class AliHBTQLongResolVsQInvFctn: public AliHBTTwoPairFctn2D
110 AliHBTQLongResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
111 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
112 virtual ~AliHBTQLongResolVsQInvFctn(){}
114 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
116 y = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
117 x = partpair->GetQInv();
119 TH1* GetResult(){return fNumerator;}
123 ClassDef(AliHBTQLongResolVsQInvFctn,1)
126 /***********************************************************************/
127 /***********************************************************************/
128 class AliHBTQInvResolVsKtFctn: public AliHBTTwoPairFctn2D
131 AliHBTQInvResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
132 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
133 virtual ~AliHBTQInvResolVsKtFctn(){};
135 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
137 y = partpair->GetQInv() - trackpair->GetQInv();
138 x = partpair->GetKt();
140 TH1* GetResult(){return fNumerator;}
144 ClassDef(AliHBTQInvResolVsKtFctn,1)
146 /***********************************************************************/
147 /***********************************************************************/
148 class AliHBTQOutResolVsKtFctn: public AliHBTTwoPairFctn2D
151 AliHBTQOutResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
152 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
153 virtual ~AliHBTQOutResolVsKtFctn(){}
154 TH1* GetResult(){return GetNumerator();}
155 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
157 y = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
158 x = partpair->GetKt();
163 ClassDef(AliHBTQOutResolVsKtFctn,1)
165 /***********************************************************************/
166 /***********************************************************************/
167 class AliHBTQSideResolVsKtFctn: public AliHBTTwoPairFctn2D
170 AliHBTQSideResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
171 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
172 virtual ~AliHBTQSideResolVsKtFctn(){}
173 TH1* GetResult(){return GetNumerator();}
174 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
176 y = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
177 x = partpair->GetKt();
182 ClassDef(AliHBTQSideResolVsKtFctn,1)
184 /***********************************************************************/
185 /***********************************************************************/
186 class AliHBTQLongResolVsKtFctn: public AliHBTTwoPairFctn2D
189 AliHBTQLongResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
190 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
191 virtual ~AliHBTQLongResolVsKtFctn(){}
193 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
195 y = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
196 x = partpair->GetKt();
198 TH1* GetResult(){return fNumerator;}
202 ClassDef(AliHBTQLongResolVsKtFctn,1)
204 /***********************************************************************/
205 /***********************************************************************/
206 class AliHBTQOutResolVsQOutFctn: public AliHBTTwoPairFctn2D
209 AliHBTQOutResolVsQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
210 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
211 virtual ~AliHBTQOutResolVsQOutFctn(){}
213 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
215 x = partpair->GetQOutCMSLC();
216 y = x - trackpair->GetQOutCMSLC();
218 TH1* GetResult(){return fNumerator;}
222 ClassDef(AliHBTQOutResolVsQOutFctn,1)
225 /***********************************************************************/
226 /***********************************************************************/
228 class AliHBTQSideResolVsQSideFctn: public AliHBTTwoPairFctn2D
231 AliHBTQSideResolVsQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
232 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
233 virtual ~AliHBTQSideResolVsQSideFctn(){}
235 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
237 x = partpair->GetQSideCMSLC();
238 y = x - trackpair->GetQSideCMSLC();
240 TH1* GetResult(){return fNumerator;}
244 ClassDef(AliHBTQSideResolVsQSideFctn,1)
248 /***********************************************************************/
249 /***********************************************************************/
251 class AliHBTQLongResolVsQLongFctn: public AliHBTTwoPairFctn2D
254 AliHBTQLongResolVsQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
255 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
256 virtual ~AliHBTQLongResolVsQLongFctn(){}
258 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
260 x = partpair->GetQLongCMSLC();
261 y = x - trackpair->GetQLongCMSLC();
263 TH1* GetResult(){return fNumerator;}
267 ClassDef(AliHBTQLongResolVsQLongFctn,1)
271 /***********************************************************************/
272 /***********************************************************************/
273 class AliHBTPairThetaResolVsQInvFctn: public AliHBTTwoPairFctn2D
276 AliHBTPairThetaResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
277 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
279 virtual ~AliHBTPairThetaResolVsQInvFctn(){}
281 TH1* GetResult(){return fNumerator;}
282 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
284 Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta();
285 Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta();
286 y = partTheta - trackTheta;
287 x = partpair->GetQInv();
292 ClassDef(AliHBTPairThetaResolVsQInvFctn,1)
295 /***********************************************************************/
296 /***********************************************************************/
297 class AliHBTPairPhiResolVsQInvFctn: public AliHBTTwoPairFctn2D
300 AliHBTPairPhiResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
301 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
303 virtual ~AliHBTPairPhiResolVsQInvFctn(){}
305 TH1* GetResult(){return fNumerator;}
306 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
308 Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi();
309 Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi();
310 y = partPhi - trackPhi;
311 x = partpair->GetQInv();
316 ClassDef(AliHBTPairPhiResolVsQInvFctn,1)
319 /***********************************************************************/
320 /***********************************************************************/
321 class AliHBTPairThetaResolVsKtFctn: public AliHBTTwoPairFctn2D
324 AliHBTPairThetaResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
325 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
327 virtual ~AliHBTPairThetaResolVsKtFctn(){}
329 TH1* GetResult(){return fNumerator;}
330 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
332 Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta();
333 Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta();
334 y = partTheta - trackTheta;
335 x = partpair->GetKt();
340 ClassDef(AliHBTPairThetaResolVsKtFctn,1)
343 /***********************************************************************/
344 /***********************************************************************/
345 class AliHBTPairPhiResolVsKtFctn: public AliHBTTwoPairFctn2D
348 AliHBTPairPhiResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
349 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
351 virtual ~AliHBTPairPhiResolVsKtFctn(){}
353 TH1* GetResult(){return fNumerator;}
354 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
356 Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi();
357 Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi();
358 y = partPhi - trackPhi;
359 x = partpair->GetKt();
364 ClassDef(AliHBTPairPhiResolVsKtFctn,1)