]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HBTAN/AliHBTMonResolutionFctns.h
Bug correction
[u/mrichter/AliRoot.git] / HBTAN / AliHBTMonResolutionFctns.h
CommitLineData
0fd4140b 1#ifndef ALIHBTMONRESOLUTIONFCTNS_H
2#define ALIHBTMONRESOLUTIONFCTNS_H
3//_______________________________________________________________________________
4/////////////////////////////////////////////////////////////////////////////////
5//
6// class AliHBTMonPxResolutionFctn;
7// class AliHBTMonPyResolutionFctn;
8// class AliHBTMonPzResolutionFctn;
9// class AliHBTMonPResolutionFctn;
10// class AliHBTMonPtResolutionFctn;
11// class AliHBTMonPhiResolutionFctn;
12// class AliHBTMonThetaResolutionFctn;
13// class AliHBTMonPxResolutionVsPtFctn;
14// class AliHBTMonPyResolutionVsPtFctn;
15// class AliHBTMonPzResolutionVsPtFctn;
16// class AliHBTMonPResolutionVsPtFctn;
17// class AliHBTMonPtResolutionVsPtFctn;
18// class AliHBTMonPhiResolutionVsPtFctn;
19// class AliHBTMonThetaResolutionVsPtFctn;
20//
21// Caution: On 2D plots on X axis in simulated values
22// That is contrary to two-particle resolutions where it is reconstructed one
23//
a57afe91 24// added by Zbigniew.Chajecki@cern.ch
25// this classes create resolution functions of particle momentum
0fd4140b 26//
27//////////////////////////////////////////////////////////////////////////////////
a57afe91 28
29class AliHBTMonPxResolutionFctn;
30class AliHBTMonPyResolutionFctn;
31class AliHBTMonPzResolutionFctn;
32class AliHBTMonPResolutionFctn;
33class AliHBTMonPtResolutionFctn;
34class AliHBTMonPhiResolutionFctn;
35class AliHBTMonThetaResolutionFctn;
36
37class AliHBTMonPxResolutionVsPtFctn;
38class AliHBTMonPyResolutionVsPtFctn;
39class AliHBTMonPzResolutionVsPtFctn;
40class AliHBTMonPResolutionVsPtFctn;
41class AliHBTMonPtResolutionVsPtFctn;
42class AliHBTMonPhiResolutionVsPtFctn;
43class AliHBTMonThetaResolutionVsPtFctn;
44
45
46#include "AliHBTMonitorFunction.h"
47/***********************************************************************/
48/***********************************************************************/
49/***********************************************************************/
50class AliHBTMonPxResolutionFctn: public AliHBTMonTwoParticleFctn1D
51 {
52 public:
53 AliHBTMonPxResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
54 virtual ~AliHBTMonPxResolutionFctn(){}
55
56 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
57 {
58 return (partparticle->Px()-trackparticle->Px()) ;
59 }
60 TH1* GetResult(){return fResult;}
0fd4140b 61 ClassDef(AliHBTMonPxResolutionFctn,1)
a57afe91 62 };
63/***********************************************************************/
64class AliHBTMonPyResolutionFctn: public AliHBTMonTwoParticleFctn1D
65 {
66 public:
67 AliHBTMonPyResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
68 virtual ~AliHBTMonPyResolutionFctn(){}
69
70 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
71 {
72 return (partparticle->Py()-trackparticle->Py()) ;
73 }
74 TH1* GetResult(){return fResult;}
0fd4140b 75 ClassDef(AliHBTMonPyResolutionFctn,1)
a57afe91 76 };
77/***********************************************************************/
78class AliHBTMonPzResolutionFctn: public AliHBTMonTwoParticleFctn1D
79 {
80 public:
81 AliHBTMonPzResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
82 virtual ~AliHBTMonPzResolutionFctn(){}
83
84 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
85 {
86 return (partparticle->Pz()-trackparticle->Pz()) ;
87 }
88 TH1* GetResult(){return fResult;}
0fd4140b 89 ClassDef(AliHBTMonPzResolutionFctn,1)
a57afe91 90 };
91/***********************************************************************/
92class AliHBTMonPResolutionFctn: public AliHBTMonTwoParticleFctn1D
93 {
94 public:
95 AliHBTMonPResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
96 virtual ~AliHBTMonPResolutionFctn(){}
97
98 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
99 {
100 return (partparticle->P()-trackparticle->P()) ;
101 }
102 TH1* GetResult(){return fResult;}
0fd4140b 103 ClassDef(AliHBTMonPResolutionFctn,1)
a57afe91 104 };
105/***********************************************************************/
106class AliHBTMonPtResolutionFctn: public AliHBTMonTwoParticleFctn1D
107 {
108 public:
109 AliHBTMonPtResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
110 virtual ~AliHBTMonPtResolutionFctn(){}
111
112 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
113 {
114 return (partparticle->Pt()-trackparticle->Pt()) ;
115 }
116 TH1* GetResult(){return fResult;}
0fd4140b 117 ClassDef(AliHBTMonPtResolutionFctn,1)
a57afe91 118 };
119/***********************************************************************/
120/***********************************************************************/
121/***********************************************************************/
122class AliHBTMonPxResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
123 {
124 public:
125 AliHBTMonPxResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
126 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
127 virtual ~AliHBTMonPxResolutionVsPtFctn(){}
128 TH1* GetResult(){return fResult;}
129 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
130 {
131 x = partparticle->Pt();
132 y = partparticle->Px()-trackparticle->Px();
133 }
0fd4140b 134 ClassDef(AliHBTMonPxResolutionVsPtFctn,1)
a57afe91 135 };
136/***********************************************************************/
137class AliHBTMonPyResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
138 {
139 public:
140 AliHBTMonPyResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
141 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
142 virtual ~AliHBTMonPyResolutionVsPtFctn(){}
143 TH1* GetResult(){return fResult;}
144 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
145 {
146 x = partparticle->Pt();
147 y = partparticle->Py()-trackparticle->Py();
148 }
0fd4140b 149 ClassDef(AliHBTMonPyResolutionVsPtFctn,1)
a57afe91 150 };
151/***********************************************************************/
152class AliHBTMonPzResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
153 {
154 public:
155 AliHBTMonPzResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
156 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
157 virtual ~AliHBTMonPzResolutionVsPtFctn(){}
158 TH1* GetResult(){return fResult;}
159 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
160 {
161 x = partparticle->Pt();
162 y = partparticle->Pz()-trackparticle->Pz();
163 }
0fd4140b 164 ClassDef(AliHBTMonPzResolutionVsPtFctn,1)
a57afe91 165 };
166/***********************************************************************/
167class AliHBTMonPResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
168 {
169 public:
170 AliHBTMonPResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
171 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
172 virtual ~AliHBTMonPResolutionVsPtFctn(){}
173 TH1* GetResult(){return fResult;}
174 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
175 {
176 x = partparticle->Pt();
177 y = partparticle->P()-trackparticle->P();
178 }
179 protected:
180 private:
a57afe91 181 ClassDef(AliHBTMonPResolutionVsPtFctn,1)
182 };
183/***********************************************************************/
184class AliHBTMonPtResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
185 {
186 public:
187 AliHBTMonPtResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
188 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
189 virtual ~AliHBTMonPtResolutionVsPtFctn(){}
190 TH1* GetResult(){return fResult;}
191 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
192 {
193 x = partparticle->Pt();
194 y = partparticle->Pt()-trackparticle->Pt();
195 }
0fd4140b 196 ClassDef(AliHBTMonPtResolutionVsPtFctn,1)
a57afe91 197 };
198/***********************************************************************/
199/***********************************************************************/
200/***********************************************************************/
201/***********************************************************************/
202class AliHBTMonPhiResolutionFctn: public AliHBTMonTwoParticleFctn1D
203 {
204 public:
205 AliHBTMonPhiResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
206 virtual ~AliHBTMonPhiResolutionFctn(){}
207
208 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
209 {
210 return (partparticle->Phi()-trackparticle->Phi()) ;
211 }
212 TH1* GetResult(){return fResult;}
0fd4140b 213 ClassDef(AliHBTMonPhiResolutionFctn,1)
a57afe91 214 };
215/***********************************************************************/
216class AliHBTMonThetaResolutionFctn: public AliHBTMonTwoParticleFctn1D
217 {
218 public:
219 AliHBTMonThetaResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
220 virtual ~AliHBTMonThetaResolutionFctn(){}
221
222 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
223 {
224 return (partparticle->Theta()-trackparticle->Theta()) ;
225 }
226 TH1* GetResult(){return fResult;}
0fd4140b 227 ClassDef(AliHBTMonThetaResolutionFctn,1)
a57afe91 228 };
229/***********************************************************************/
230/***********************************************************************/
231class AliHBTMonPhiResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
232 {
233 public:
0fd4140b 234 AliHBTMonPhiResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0,
a57afe91 235 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
236 virtual ~AliHBTMonPhiResolutionVsPtFctn(){}
237 TH1* GetResult(){return fResult;}
238 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
239 {
240 x = partparticle->Pt();
241 y = partparticle->Phi()-trackparticle->Phi();
242 }
0fd4140b 243 ClassDef(AliHBTMonPhiResolutionVsPtFctn,1)
244 };
245/***********************************************************************/
246class AliHBTMonPhiResolutionVsPhiFctn: public AliHBTMonTwoParticleFctn2D
247 {
248 public:
249 AliHBTMonPhiResolutionVsPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0,
250 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
251 virtual ~AliHBTMonPhiResolutionVsPhiFctn(){}
252 TH1* GetResult(){return fResult;}
253 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
254 {
255 x = partparticle->Phi();
256 y = partparticle->Phi()-trackparticle->Phi();
257 }
258 ClassDef(AliHBTMonPhiResolutionVsPhiFctn,1)
a57afe91 259 };
260/***********************************************************************/
261class AliHBTMonThetaResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
262 {
263 public:
264 AliHBTMonThetaResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
265 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
266 virtual ~AliHBTMonThetaResolutionVsPtFctn(){}
267 TH1* GetResult(){return fResult;}
268 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
269 {
270 x = partparticle->Pt();
271 y = partparticle->Theta()-trackparticle->Theta();
272 }
0fd4140b 273 ClassDef(AliHBTMonThetaResolutionVsPtFctn,1)
a57afe91 274 };
0fd4140b 275
276/***********************************************************************/
277class AliHBTMonThetaResolutionVsThetaFctn: public AliHBTMonTwoParticleFctn2D
278 {
279 public:
280 AliHBTMonThetaResolutionVsThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(),
281 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
282 virtual ~AliHBTMonThetaResolutionVsThetaFctn(){}
283 TH1* GetResult(){return fResult;}
284 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
285 {
286 y = partparticle->Theta()-trackparticle->Theta();
287 x = partparticle->Theta();
288 }
289 ClassDef(AliHBTMonThetaResolutionVsThetaFctn,1)
290 };
291/***********************************************************************/
a57afe91 292/***********************************************************************/
293/***********************************************************************/
294/***********************************************************************/
295/***********************************************************************/
296/***********************************************************************/
297/***********************************************************************/
298/***********************************************************************/
299/***********************************************************************/
300/***********************************************************************/
301
302#endif