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