1 #include "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 /******************************************************************/
23 /******************************************************************/
24 /******************************************************************/
25 ClassImp( AliHBTKtResolVsQInvFctn )
26 AliHBTKtResolVsQInvFctn::
27 AliHBTKtResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
28 Int_t nYbins, Double_t maxYval, Double_t minYval):
29 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
32 Rename("KtResolVsQInv","K_{t} Resolution vs. Q_{Inv}");
34 /******************************************************************/
35 /******************************************************************/
36 /******************************************************************/
37 ClassImp( AliHBTQInvResolVsQInvFctn )
38 AliHBTQInvResolVsQInvFctn::
39 AliHBTQInvResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
40 Int_t nYbins, Double_t maxYval, Double_t minYval):
41 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
44 Rename("QInvResolVsQInv","Q_{Inv} Resolution vs. Q_{Inv}");
46 /******************************************************************/
47 /******************************************************************/
48 /******************************************************************/
50 ClassImp( AliHBTQOutResolVsQInvFctn )
51 AliHBTQOutResolVsQInvFctn::
52 AliHBTQOutResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
53 Int_t nYbins, Double_t maxYval, Double_t minYval):
54 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
57 Rename("QOutResolVsQInv","Q_{Out} Resolution vs. Q_{Inv}");
59 /******************************************************************/
61 void AliHBTQOutResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
63 //returns Qoutsim-Qoutrec for y
65 Double_t tqout = trackpair->GetQOutCMSLC();
66 y = partpair->GetQOutCMSLC() - tqout;
67 if (tqout < 0.0) y = -y;
68 x = partpair->GetQInv();
71 /******************************************************************/
72 /******************************************************************/
73 /******************************************************************/
75 ClassImp( AliHBTQSideResolVsQInvFctn )
77 AliHBTQSideResolVsQInvFctn::
78 AliHBTQSideResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
79 Int_t nYbins, Double_t maxYval, Double_t minYval):
80 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
83 Rename("QSideResolVsQInv","Q_{Side} Resolution vs. Q_{Inv}");
85 /******************************************************************/
87 void AliHBTQSideResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
89 //returns Qsidesim-Qsiderec for y
91 y = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
92 if (trackpair->GetQSideCMSLC() < 0.0) y = -y;
93 x = partpair->GetQInv();
96 /******************************************************************/
97 /******************************************************************/
98 /******************************************************************/
100 ClassImp( AliHBTQLongResolVsQInvFctn )
102 AliHBTQLongResolVsQInvFctn::
103 AliHBTQLongResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
104 Int_t nYbins, Double_t maxYval, Double_t minYval):
105 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
108 Rename("QLongResolVsQInv","Q_{Long} Resolution vs. Q_{Inv}");
110 /******************************************************************/
112 void AliHBTQLongResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
114 //returns Qlongsim-Qlongrec for y
116 y = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
117 if (trackpair->GetQLongCMSLC() < 0.0) y = -y;
118 x = partpair->GetQInv();
121 /******************************************************************/
122 /******************************************************************/
123 /******************************************************************/
125 ClassImp( AliHBTQInvResolVsKtFctn )
127 AliHBTQInvResolVsKtFctn::
128 AliHBTQInvResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
129 Int_t nYbins, Double_t maxYval, Double_t minYval):
130 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
133 Rename("QInvResolVsKt","Q_{Inv} Resolution vs. K_{t}");
136 /******************************************************************/
137 /******************************************************************/
138 /******************************************************************/
139 ClassImp( AliHBTQOutResolVsKtFctn )
141 AliHBTQOutResolVsKtFctn::
142 AliHBTQOutResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
143 Int_t nYbins, Double_t maxYval, Double_t minYval):
144 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
147 Rename("QOutResolVsKt","Q_{Out} Resolution vs. K_{t} ");
149 /******************************************************************/
151 void AliHBTQOutResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
153 //returns Qoutsim-Qoutrec for y
155 y = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
156 if (trackpair->GetQOutCMSLC() < 0.0) y = -y;
157 x = partpair->GetKt();
160 /******************************************************************/
161 /******************************************************************/
162 /******************************************************************/
163 ClassImp( AliHBTQSideResolVsKtFctn )
165 AliHBTQSideResolVsKtFctn::
166 AliHBTQSideResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
167 Int_t nYbins, Double_t maxYval, Double_t minYval):
168 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
171 Rename("QSideResolVsKt","Q_{Side} Resolution vs. K_{t} ");
173 /******************************************************************/
175 void AliHBTQSideResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
177 //returns Qsidesim-Qsiderec for y
179 y = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
180 if (trackpair->GetQSideCMSLC() < 0.0) y = -y;
181 x = partpair->GetKt();
184 /******************************************************************/
185 /******************************************************************/
186 /******************************************************************/
187 ClassImp( AliHBTQLongResolVsKtFctn )
189 AliHBTQLongResolVsKtFctn::
190 AliHBTQLongResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
191 Int_t nYbins, Double_t maxYval, Double_t minYval):
192 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
195 Rename("QLongResolVsKt","Q_{Long} Resolution vs. K_{t} ");
197 /******************************************************************/
199 void AliHBTQLongResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
201 //returns Qlongsim-Qlongrec for y
203 y = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
204 if (trackpair->GetQLongCMSLC() < 0.0) y = -y;
205 x = partpair->GetKt();
207 /******************************************************************/
208 /******************************************************************/
209 /******************************************************************/
211 ClassImp( AliHBTQOutResolVsQOutFctn)
213 AliHBTQOutResolVsQOutFctn::
214 AliHBTQOutResolVsQOutFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
215 Int_t nYbins, Double_t maxYval, Double_t minYval):
216 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
219 Rename("QOutResolVsQOut","Q_{Out} Resolution vs. Q_{Out} ");
222 /******************************************************************/
223 /******************************************************************/
224 /******************************************************************/
225 ClassImp( AliHBTQSideResolVsQSideFctn )
227 AliHBTQSideResolVsQSideFctn::
228 AliHBTQSideResolVsQSideFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
229 Int_t nYbins, Double_t maxYval, Double_t minYval):
230 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
233 Rename("QSideResolVsQSide","Q_{Side} Resolution vs. Q_{Side} ");
236 /******************************************************************/
237 /******************************************************************/
238 /******************************************************************/
239 ClassImp( AliHBTQLongResolVsQLongFctn )
241 AliHBTQLongResolVsQLongFctn::
242 AliHBTQLongResolVsQLongFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
243 Int_t nYbins, Double_t maxYval, Double_t minYval):
244 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
247 Rename("QLongResolVsQLong","Q_{Long} Resolution vs. Q_{Long} ");
252 /******************************************************************/
253 /******************************************************************/
254 /******************************************************************/
256 ClassImp( AliHBTPairThetaResolVsQInvFctn )
258 AliHBTPairThetaResolVsQInvFctn::
259 AliHBTPairThetaResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
260 Int_t nYbins, Double_t maxYval, Double_t minYval):
261 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
264 Rename("PairThetaResolVsQInv","Pair Theta Angle Resolution vs. Q_{Inv} ");
266 /******************************************************************/
268 void AliHBTPairThetaResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
270 //returns Pair Theta sim - Pair Theta rec for y
272 Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta();
273 Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta();
274 y = partTheta - trackTheta;
275 x = partpair->GetQInv();
277 /******************************************************************/
278 /******************************************************************/
279 /******************************************************************/
281 ClassImp( AliHBTPairThetaResolVsPairThetaFctn )
283 AliHBTPairThetaResolVsPairThetaFctn::
284 AliHBTPairThetaResolVsPairThetaFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
285 Int_t nYbins, Double_t maxYval, Double_t minYval):
286 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
289 Rename("PairThetaResolVsPairTheta","Pair Theta Angle Resolution vs. Pair Theta ");
291 /******************************************************************/
292 void AliHBTPairThetaResolVsPairThetaFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
294 //returns Pair Theta sim - Pair Theta rec for y
295 //returns Pair Theta sim for x
296 Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta();
297 Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta();
298 y = partTheta - trackTheta;
299 if (trackTheta < 0.0) y = -y;
302 /******************************************************************/
303 /******************************************************************/
304 /******************************************************************/
306 ClassImp( AliHBTPairPhiResolVsQInvFctn )
308 AliHBTPairPhiResolVsQInvFctn::
309 AliHBTPairPhiResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
310 Int_t nYbins, Double_t maxYval, Double_t minYval):
311 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
314 Rename("PairPhiResolVsQInv","Pair Phi Angle Resolution vs. Q_{Inv} ");
316 /******************************************************************/
318 void AliHBTPairPhiResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
320 //returns Pair Phi sim - Pair Phi rec for y
321 //returns QInv sim for x
322 Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi();
323 Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi();
324 y = partPhi - trackPhi;
325 x = partpair->GetQInv();
328 /******************************************************************/
329 /******************************************************************/
330 /******************************************************************/
333 ClassImp( AliHBTPairThetaResolVsKtFctn )
335 AliHBTPairThetaResolVsKtFctn::
336 AliHBTPairThetaResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
337 Int_t nYbins, Double_t maxYval, Double_t minYval):
338 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
341 Rename("PairThetaResolVsKt","Pair Theta Angle Resolution vs. K_{t} ");
343 /******************************************************************/
345 void AliHBTPairThetaResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
347 //returns Pair Theta sim - Pair Theta rec for y
348 //returns Kt sim for x
349 Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta();
350 Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta();
351 y = partTheta - trackTheta;
352 x = partpair->GetKt();
354 /******************************************************************/
355 /******************************************************************/
356 /******************************************************************/
358 ClassImp( AliHBTPairPhiResolVsKtFctn )
360 AliHBTPairPhiResolVsKtFctn::
361 AliHBTPairPhiResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
362 Int_t nYbins, Double_t maxYval, Double_t minYval):
363 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
366 Rename("PairPhiResolVsKt","Pair Phi Angle Resolution vs. K_{t} ");
368 /******************************************************************/
370 void AliHBTPairPhiResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
372 //returns Pair Phi sim - Pair Phi rec for y
373 //returns Kt sim for x
374 Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi();
375 Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi();
376 y = partPhi - trackPhi;
377 x = partpair->GetKt();
380 /******************************************************************/
381 /******************************************************************/
382 /******************************************************************/
385 ClassImp( AliHBTPairPhiResolVsPairPhiFctn )
387 AliHBTPairPhiResolVsPairPhiFctn::
388 AliHBTPairPhiResolVsPairPhiFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
389 Int_t nYbins, Double_t maxYval, Double_t minYval):
390 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
393 Rename("PairPhiResolVsPairPhi","Pair Phi Angle Resolution vs. Pair Phi ");
395 /******************************************************************/
397 void AliHBTPairPhiResolVsPairPhiFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
399 //returns Pair Phi sim - Pair Phi rec for y
400 //returns Pair Phi sim for x
401 Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi();
402 Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi();
403 y = partPhi - trackPhi;
407 /******************************************************************/
408 /******************************************************************/
409 /******************************************************************/