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