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 /******************************************************************/
36 void AliHBTKtResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
38 //returns values of the functiion
39 y = partpair->GetKt() - trackpair->GetKt();
40 x = partpair->GetQInv();
42 /******************************************************************/
43 /******************************************************************/
44 /******************************************************************/
45 ClassImp( AliHBTQInvResolVsQInvFctn )
46 AliHBTQInvResolVsQInvFctn::
47 AliHBTQInvResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
48 Int_t nYbins, Double_t maxYval, Double_t minYval):
49 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
52 Rename("QInvResolVsQInv","Q_{Inv} Resolution vs. Q_{Inv}");
54 /******************************************************************/
55 void AliHBTQInvResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
57 //returns values of the functiion
58 y = partpair->GetQInv() - trackpair->GetQInv();
59 x = partpair->GetQInv();
61 /******************************************************************/
62 /******************************************************************/
63 /******************************************************************/
65 ClassImp( AliHBTQOutResolVsQInvFctn )
66 AliHBTQOutResolVsQInvFctn::
67 AliHBTQOutResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
68 Int_t nYbins, Double_t maxYval, Double_t minYval):
69 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
72 Rename("QOutResolVsQInv","Q_{Out} Resolution vs. Q_{Inv}");
74 /******************************************************************/
76 void AliHBTQOutResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
78 //returns Qoutsim-Qoutrec for y
80 Double_t tqout = trackpair->GetQOutLCMS();
81 y = partpair->GetQOutLCMS() - tqout;
82 if (tqout < 0.0) y = -y;
83 x = partpair->GetQInv();
86 /******************************************************************/
87 /******************************************************************/
88 /******************************************************************/
90 ClassImp( AliHBTQSideResolVsQInvFctn )
92 AliHBTQSideResolVsQInvFctn::
93 AliHBTQSideResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
94 Int_t nYbins, Double_t maxYval, Double_t minYval):
95 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
98 Rename("QSideResolVsQInv","Q_{Side} Resolution vs. Q_{Inv}");
100 /******************************************************************/
102 void AliHBTQSideResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
104 //returns Qsidesim-Qsiderec for y
106 y = partpair->GetQSideLCMS() - trackpair->GetQSideLCMS();
107 if (trackpair->GetQSideLCMS() < 0.0) y = -y;
108 x = partpair->GetQInv();
111 /******************************************************************/
112 /******************************************************************/
113 /******************************************************************/
115 ClassImp( AliHBTQLongResolVsQInvFctn )
117 AliHBTQLongResolVsQInvFctn::
118 AliHBTQLongResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
119 Int_t nYbins, Double_t maxYval, Double_t minYval):
120 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
123 Rename("QLongResolVsQInv","Q_{Long} Resolution vs. Q_{Inv}");
125 /******************************************************************/
127 void AliHBTQLongResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
129 //returns Qlongsim-Qlongrec for y
131 y = partpair->GetQLongLCMS() - trackpair->GetQLongLCMS();
132 if (trackpair->GetQLongLCMS() < 0.0) y = -y;
133 x = partpair->GetQInv();
136 /******************************************************************/
137 /******************************************************************/
138 /******************************************************************/
140 ClassImp( AliHBTQInvResolVsKtFctn )
142 AliHBTQInvResolVsKtFctn::
143 AliHBTQInvResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
144 Int_t nYbins, Double_t maxYval, Double_t minYval):
145 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
148 Rename("QInvResolVsKt","Q_{Inv} Resolution vs. K_{t}");
150 /******************************************************************/
152 void AliHBTQInvResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
154 //returns values of the function
155 y = partpair->GetQInv() - trackpair->GetQInv();
156 x = partpair->GetKt();
159 /******************************************************************/
160 /******************************************************************/
161 /******************************************************************/
162 ClassImp( AliHBTQOutResolVsKtFctn )
164 AliHBTQOutResolVsKtFctn::
165 AliHBTQOutResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
166 Int_t nYbins, Double_t maxYval, Double_t minYval):
167 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
170 Rename("QOutResolVsKt","Q_{Out} Resolution vs. K_{t} ");
172 /******************************************************************/
174 void AliHBTQOutResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
176 //returns Qoutsim-Qoutrec for y
178 y = partpair->GetQOutLCMS() - trackpair->GetQOutLCMS();
179 if (trackpair->GetQOutLCMS() < 0.0) y = -y;
180 x = partpair->GetKt();
183 /******************************************************************/
184 /******************************************************************/
185 /******************************************************************/
186 ClassImp( AliHBTQSideResolVsKtFctn )
188 AliHBTQSideResolVsKtFctn::
189 AliHBTQSideResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
190 Int_t nYbins, Double_t maxYval, Double_t minYval):
191 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
194 Rename("QSideResolVsKt","Q_{Side} Resolution vs. K_{t} ");
196 /******************************************************************/
198 void AliHBTQSideResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
200 //returns Qsidesim-Qsiderec for y
202 y = partpair->GetQSideLCMS() - trackpair->GetQSideLCMS();
203 if (trackpair->GetQSideLCMS() < 0.0) y = -y;
204 x = partpair->GetKt();
207 /******************************************************************/
208 /******************************************************************/
209 /******************************************************************/
210 ClassImp( AliHBTQLongResolVsKtFctn )
212 AliHBTQLongResolVsKtFctn::
213 AliHBTQLongResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
214 Int_t nYbins, Double_t maxYval, Double_t minYval):
215 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
218 Rename("QLongResolVsKt","Q_{Long} Resolution vs. K_{t} ");
220 /******************************************************************/
222 void AliHBTQLongResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
224 //returns Qlongsim-Qlongrec for y
226 y = partpair->GetQLongLCMS() - trackpair->GetQLongLCMS();
227 if (trackpair->GetQLongLCMS() < 0.0) y = -y;
228 x = partpair->GetKt();
230 /******************************************************************/
231 /******************************************************************/
232 /******************************************************************/
234 ClassImp( AliHBTQOutResolVsQOutFctn)
236 AliHBTQOutResolVsQOutFctn::
237 AliHBTQOutResolVsQOutFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
238 Int_t nYbins, Double_t maxYval, Double_t minYval):
239 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
242 Rename("QOutResolVsQOut","Q_{Out} Resolution vs. Q_{Out} ");
244 /******************************************************************/
246 void AliHBTQOutResolVsQOutFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
248 //returns values of the function
249 x = partpair->GetQOutLCMS();
250 y = x - trackpair->GetQOutLCMS();
253 /******************************************************************/
254 /******************************************************************/
255 /******************************************************************/
256 ClassImp( AliHBTQSideResolVsQSideFctn )
258 AliHBTQSideResolVsQSideFctn::
259 AliHBTQSideResolVsQSideFctn(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("QSideResolVsQSide","Q_{Side} Resolution vs. Q_{Side} ");
266 /******************************************************************/
268 void AliHBTQSideResolVsQSideFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
270 //returns values of the function
271 x = partpair->GetQSideLCMS();
272 y = x - trackpair->GetQSideLCMS();
275 /******************************************************************/
276 /******************************************************************/
277 /******************************************************************/
278 ClassImp( AliHBTQLongResolVsQLongFctn )
280 AliHBTQLongResolVsQLongFctn::
281 AliHBTQLongResolVsQLongFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
282 Int_t nYbins, Double_t maxYval, Double_t minYval):
283 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
286 Rename("QLongResolVsQLong","Q_{Long} Resolution vs. Q_{Long} ");
288 /******************************************************************/
290 void AliHBTQLongResolVsQLongFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
292 //returns values of the function
293 x = partpair->GetQLongLCMS();
294 y = x - trackpair->GetQLongLCMS();
297 /******************************************************************/
298 /******************************************************************/
299 /******************************************************************/
301 ClassImp( AliHBTPairThetaResolVsQInvFctn )
303 AliHBTPairThetaResolVsQInvFctn::
304 AliHBTPairThetaResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
305 Int_t nYbins, Double_t maxYval, Double_t minYval):
306 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
309 Rename("PairThetaResolVsQInv","Pair Theta Angle Resolution vs. Q_{Inv} ");
311 /******************************************************************/
313 void AliHBTPairThetaResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
315 //returns Pair Theta sim - Pair Theta rec for y
317 Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta();
318 Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta();
319 y = partTheta - trackTheta;
320 x = partpair->GetQInv();
322 /******************************************************************/
323 /******************************************************************/
324 /******************************************************************/
326 ClassImp( AliHBTPairThetaResolVsPairThetaFctn )
328 AliHBTPairThetaResolVsPairThetaFctn::
329 AliHBTPairThetaResolVsPairThetaFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
330 Int_t nYbins, Double_t maxYval, Double_t minYval):
331 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
334 Rename("PairThetaResolVsPairTheta","Pair Theta Angle Resolution vs. Pair Theta ");
336 /******************************************************************/
337 void AliHBTPairThetaResolVsPairThetaFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
339 //returns Pair Theta sim - Pair Theta rec for y
340 //returns Pair Theta sim for x
341 Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta();
342 Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta();
343 y = partTheta - trackTheta;
344 if (trackTheta < 0.0) y = -y;
347 /******************************************************************/
348 /******************************************************************/
349 /******************************************************************/
351 ClassImp( AliHBTPairPhiResolVsQInvFctn )
353 AliHBTPairPhiResolVsQInvFctn::
354 AliHBTPairPhiResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
355 Int_t nYbins, Double_t maxYval, Double_t minYval):
356 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
359 Rename("PairPhiResolVsQInv","Pair Phi Angle Resolution vs. Q_{Inv} ");
361 /******************************************************************/
363 void AliHBTPairPhiResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
365 //returns Pair Phi sim - Pair Phi rec for y
366 //returns QInv sim for x
367 Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi();
368 Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi();
369 y = partPhi - trackPhi;
370 x = partpair->GetQInv();
373 /******************************************************************/
374 /******************************************************************/
375 /******************************************************************/
378 ClassImp( AliHBTPairThetaResolVsKtFctn )
380 AliHBTPairThetaResolVsKtFctn::
381 AliHBTPairThetaResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
382 Int_t nYbins, Double_t maxYval, Double_t minYval):
383 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
386 Rename("PairThetaResolVsKt","Pair Theta Angle Resolution vs. K_{t} ");
388 /******************************************************************/
390 void AliHBTPairThetaResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
392 //returns Pair Theta sim - Pair Theta rec for y
393 //returns Kt sim for x
394 Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta();
395 Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta();
396 y = partTheta - trackTheta;
397 x = partpair->GetKt();
399 /******************************************************************/
400 /******************************************************************/
401 /******************************************************************/
403 ClassImp( AliHBTPairPhiResolVsKtFctn )
405 AliHBTPairPhiResolVsKtFctn::
406 AliHBTPairPhiResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
407 Int_t nYbins, Double_t maxYval, Double_t minYval):
408 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
411 Rename("PairPhiResolVsKt","Pair Phi Angle Resolution vs. K_{t} ");
413 /******************************************************************/
415 void AliHBTPairPhiResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
417 //returns Pair Phi sim - Pair Phi rec for y
418 //returns Kt sim for x
419 Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi();
420 Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi();
421 y = partPhi - trackPhi;
422 x = partpair->GetKt();
425 /******************************************************************/
426 /******************************************************************/
427 /******************************************************************/
430 ClassImp( AliHBTPairPhiResolVsPairPhiFctn )
432 AliHBTPairPhiResolVsPairPhiFctn::
433 AliHBTPairPhiResolVsPairPhiFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
434 Int_t nYbins, Double_t maxYval, Double_t minYval):
435 AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
438 Rename("PairPhiResolVsPairPhi","Pair Phi Angle Resolution vs. Pair Phi ");
440 /******************************************************************/
442 void AliHBTPairPhiResolVsPairPhiFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const
444 //returns Pair Phi sim - Pair Phi rec for y
445 //returns Pair Phi sim for x
446 Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi();
447 Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi();
448 y = partPhi - trackPhi;
452 /******************************************************************/
453 /******************************************************************/
454 /******************************************************************/