]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HBTAN/AliHBTQResolutionFctns.h
Commit of new FMD3 geometry and other geometry related issues.
[u/mrichter/AliRoot.git] / HBTAN / AliHBTQResolutionFctns.h
CommitLineData
87a97b84 1#ifndef ALIHBTQRESOLUTIONFCTNS_H
2#define ALIHBTQRESOLUTIONFCTNS_H
89c60e9f 3//__________________________________________________________________
4////////////////////////////////////////////////////////////////////
5// //
6// General Remark: //
78d7c6d3 7// LCMS means //
89c60e9f 8// Center of Mass System Longitudially Co-moving //
9// //
10// //
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 //
17// //
18////////////////////////////////////////////////////////////////////
1b446896 19
3010c308 20#include <TMath.h>
1b446896 21
78d7c6d3 22class AliHBTKtResolVsQInvFctn; //Kt Res Vs QInvLCMS
475caf1c 23
78d7c6d3 24class AliHBTQOutResolVsQInvFctn; //QOutLCMS Res Vs QInvLCMS
25class AliHBTQSideResolVsQInvFctn; //QSideLCMS Res Vs QInvLCMS
26class AliHBTQLongResolVsQInvFctn; //QLongLCMS Res Vs QInvLCMS
27class AliHBTQInvResolVsQInvFctn; //QInvLCMS Res Vs QInvLCMS
1b446896 28
78d7c6d3 29class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res Vs QInvLCMS
30class AliHBTPairPhiResolVsQInvFctn; //PairPhi Res Vs QInvLCMS
1b446896 31
78d7c6d3 32class AliHBTQInvResolVsKtFctn; //QInvLCMS Res Vs Kt
33class AliHBTQOutResolVsKtFctn; //QOutLCMS Res Vs Kt
34class AliHBTQSideResolVsKtFctn; //QSideLCMS Res Vs Kt
35class AliHBTQLongResolVsKtFctn; //QLongLCMS Res Vs Kt
1b446896 36
89ef84e1 37class AliHBTPairThetaResolVsKtFctn; //PairTheta Res Vs Kt
38class AliHBTPairPhiResolVsKtFctn; //PairPhi Res Vs Kt
1b446896 39
89ef84e1 40
78d7c6d3 41class AliHBTQOutResolVsQOutFctn; //QOutLCMS Res Vs QOut
42class AliHBTQSideResolVsQSideFctn;//QSideLCMS Res Vs QSide
43class AliHBTQLongResolVsQLongFctn;//QLongLCMS Res Vs QLong
89ef84e1 44
45
46
1b446896 47#include "AliHBTFunction.h"
48/***********************************************************************/
475caf1c 49/***********************************************************************/
50class AliHBTKtResolVsQInvFctn: public AliHBTTwoPairFctn2D
51 {
52 public:
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);
55
56 virtual ~AliHBTKtResolVsQInvFctn(){}
57
37975bc9 58 TH1* GetResult(){return this->fNumerator;}
a22a56ec 59 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 60 ClassDef(AliHBTKtResolVsQInvFctn,1)
475caf1c 61 };
62
63
64/***********************************************************************/
1b446896 65/***********************************************************************/
89ef84e1 66class AliHBTQInvResolVsQInvFctn: public AliHBTTwoPairFctn2D
1b446896 67 {
68 public:
89ef84e1 69 AliHBTQInvResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
1b446896 70 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
71
89ef84e1 72 virtual ~AliHBTQInvResolVsQInvFctn(){}
73
37975bc9 74 TH1* GetResult(){return this->fNumerator;}
a22a56ec 75 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 76 ClassDef(AliHBTQInvResolVsQInvFctn,1)
89ef84e1 77 };
78
79
80/***********************************************************************/
81/***********************************************************************/
82class AliHBTQOutResolVsQInvFctn: public AliHBTTwoPairFctn2D
83 {
84 public:
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);
87
88 virtual ~AliHBTQOutResolVsQInvFctn(){}
1b446896 89
37975bc9 90 TH1* GetResult(){return this->fNumerator;}
a22a56ec 91 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 92 ClassDef(AliHBTQOutResolVsQInvFctn,1)
1b446896 93 };
94
95/***********************************************************************/
96/***********************************************************************/
89ef84e1 97class AliHBTQSideResolVsQInvFctn: public AliHBTTwoPairFctn2D
1b446896 98 {
99 public:
89ef84e1 100 AliHBTQSideResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
1b446896 101 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
89ef84e1 102 virtual ~AliHBTQSideResolVsQInvFctn(){}
1b446896 103
a22a56ec 104 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
37975bc9 105 TH1* GetResult(){return this->fNumerator;}
58ee8590 106 ClassDef(AliHBTQSideResolVsQInvFctn,1)
1b446896 107 };
108
109/***********************************************************************/
110/***********************************************************************/
89ef84e1 111class AliHBTQLongResolVsQInvFctn: public AliHBTTwoPairFctn2D
1b446896 112 {
113 public:
89ef84e1 114 AliHBTQLongResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
1b446896 115 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
89ef84e1 116 virtual ~AliHBTQLongResolVsQInvFctn(){}
1b446896 117
a22a56ec 118 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
37975bc9 119 TH1* GetResult(){return this->fNumerator;}
58ee8590 120 ClassDef(AliHBTQLongResolVsQInvFctn,1)
1b446896 121 };
122
123/***********************************************************************/
124/***********************************************************************/
89ef84e1 125class AliHBTQInvResolVsKtFctn: public AliHBTTwoPairFctn2D
1b446896 126 {
127 public:
89ef84e1 128 AliHBTQInvResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
1b446896 129 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
89ef84e1 130 virtual ~AliHBTQInvResolVsKtFctn(){};
1b446896 131
a22a56ec 132 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
37975bc9 133 TH1* GetResult(){return this->fNumerator;}
58ee8590 134 ClassDef(AliHBTQInvResolVsKtFctn,1)
1b446896 135 };
136/***********************************************************************/
137/***********************************************************************/
89ef84e1 138class AliHBTQOutResolVsKtFctn: public AliHBTTwoPairFctn2D
1b446896 139 {
140 public:
89ef84e1 141 AliHBTQOutResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
1b446896 142 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
89ef84e1 143 virtual ~AliHBTQOutResolVsKtFctn(){}
37975bc9 144 TH1* GetResult(){return this->GetNumerator();}
a22a56ec 145 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 146 ClassDef(AliHBTQOutResolVsKtFctn,1)
1b446896 147 };
148/***********************************************************************/
149/***********************************************************************/
89ef84e1 150class AliHBTQSideResolVsKtFctn: public AliHBTTwoPairFctn2D
1b446896 151 {
152 public:
89ef84e1 153 AliHBTQSideResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
1b446896 154 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
89ef84e1 155 virtual ~AliHBTQSideResolVsKtFctn(){}
37975bc9 156 TH1* GetResult(){return this->GetNumerator();}
a22a56ec 157 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 158 ClassDef(AliHBTQSideResolVsKtFctn,1)
1b446896 159 };
160/***********************************************************************/
161/***********************************************************************/
89ef84e1 162class AliHBTQLongResolVsKtFctn: public AliHBTTwoPairFctn2D
1b446896 163 {
164 public:
89ef84e1 165 AliHBTQLongResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
1b446896 166 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
89ef84e1 167 virtual ~AliHBTQLongResolVsKtFctn(){}
1b446896 168
a22a56ec 169 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
37975bc9 170 TH1* GetResult(){return this->GetNumerator();}
58ee8590 171 ClassDef(AliHBTQLongResolVsKtFctn,1)
1b446896 172 };
173/***********************************************************************/
174/***********************************************************************/
89ef84e1 175class AliHBTQOutResolVsQOutFctn: public AliHBTTwoPairFctn2D
1b446896 176 {
177 public:
89ef84e1 178 AliHBTQOutResolVsQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
1b446896 179 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
89ef84e1 180 virtual ~AliHBTQOutResolVsQOutFctn(){}
1b446896 181
a22a56ec 182 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
37975bc9 183 TH1* GetResult(){return this->fNumerator;}
58ee8590 184 ClassDef(AliHBTQOutResolVsQOutFctn,1)
1b446896 185 };
186
187/***********************************************************************/
188/***********************************************************************/
189
89ef84e1 190class AliHBTQSideResolVsQSideFctn: public AliHBTTwoPairFctn2D
1b446896 191 {
192 public:
89ef84e1 193 AliHBTQSideResolVsQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
1b446896 194 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
89ef84e1 195 virtual ~AliHBTQSideResolVsQSideFctn(){}
1b446896 196
a22a56ec 197 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
37975bc9 198 TH1* GetResult(){return this->fNumerator;}
58ee8590 199 ClassDef(AliHBTQSideResolVsQSideFctn,1)
1b446896 200 };
201
1b446896 202/***********************************************************************/
203/***********************************************************************/
204
89ef84e1 205class AliHBTQLongResolVsQLongFctn: public AliHBTTwoPairFctn2D
1b446896 206 {
207 public:
89ef84e1 208 AliHBTQLongResolVsQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
1b446896 209 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
89ef84e1 210 virtual ~AliHBTQLongResolVsQLongFctn(){}
1b446896 211
a22a56ec 212 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
37975bc9 213 TH1* GetResult(){return this->fNumerator;}
58ee8590 214 ClassDef(AliHBTQLongResolVsQLongFctn,1)
89ef84e1 215 };
89ef84e1 216/***********************************************************************/
217/***********************************************************************/
87a97b84 218
89ef84e1 219class AliHBTPairThetaResolVsQInvFctn: public AliHBTTwoPairFctn2D
220 {
221 public:
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);
224
225 virtual ~AliHBTPairThetaResolVsQInvFctn(){}
226
37975bc9 227 TH1* GetResult(){return this->fNumerator;}
a22a56ec 228 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 229 ClassDef(AliHBTPairThetaResolVsQInvFctn,1)
89ef84e1 230 };
231
22a9bbf4 232/***********************************************************************/
233/***********************************************************************/
234class AliHBTPairThetaResolVsPairThetaFctn: public AliHBTTwoPairFctn2D
235 {
236 public:
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);
239
240 virtual ~AliHBTPairThetaResolVsPairThetaFctn(){}
241
37975bc9 242 TH1* GetResult(){return this->fNumerator;}
a22a56ec 243 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 244 ClassDef(AliHBTPairThetaResolVsPairThetaFctn,1)
22a9bbf4 245 };
246
247
89ef84e1 248/***********************************************************************/
249/***********************************************************************/
250class AliHBTPairPhiResolVsQInvFctn: public AliHBTTwoPairFctn2D
251 {
252 public:
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);
255
256 virtual ~AliHBTPairPhiResolVsQInvFctn(){}
257
37975bc9 258 TH1* GetResult(){return this->fNumerator;}
a22a56ec 259 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 260 ClassDef(AliHBTPairPhiResolVsQInvFctn,1)
1b446896 261 };
262
89ef84e1 263/***********************************************************************/
264/***********************************************************************/
265class AliHBTPairThetaResolVsKtFctn: public AliHBTTwoPairFctn2D
266 {
267 public:
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);
270
271 virtual ~AliHBTPairThetaResolVsKtFctn(){}
272
37975bc9 273 TH1* GetResult(){return this->fNumerator;}
a22a56ec 274 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 275 ClassDef(AliHBTPairThetaResolVsKtFctn,1)
89ef84e1 276 };
1b446896 277
89ef84e1 278/***********************************************************************/
279/***********************************************************************/
280class AliHBTPairPhiResolVsKtFctn: public AliHBTTwoPairFctn2D
281 {
282 public:
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);
285
286 virtual ~AliHBTPairPhiResolVsKtFctn(){}
287
37975bc9 288 TH1* GetResult(){return this->fNumerator;}
a22a56ec 289 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 290 ClassDef(AliHBTPairPhiResolVsKtFctn,1)
89ef84e1 291 };
1b446896 292
22a9bbf4 293/***********************************************************************/
294/***********************************************************************/
295class AliHBTPairPhiResolVsPairPhiFctn: public AliHBTTwoPairFctn2D
296 {
297 public:
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);
300
301 virtual ~AliHBTPairPhiResolVsPairPhiFctn(){}
302
37975bc9 303 TH1* GetResult(){return this->fNumerator;}
a22a56ec 304 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
58ee8590 305 ClassDef(AliHBTPairPhiResolVsPairPhiFctn,1)
22a9bbf4 306 };
307
f5439e69 308
309#endif