1 #ifndef ALIHBTMONRESOLUTIONFCTNS_H
2 #define ALIHBTMONRESOLUTIONFCTNS_H
3 //_______________________________________________________________________________
4 /////////////////////////////////////////////////////////////////////////////////
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;
21 // Caution: On 2D plots on X axis in simulated values
22 // That is contrary to two-particle resolutions where it is reconstructed one
24 // added by Zbigniew.Chajecki@cern.ch
25 // this classes create resolution functions of particle momentum
27 //////////////////////////////////////////////////////////////////////////////////
29 class AliHBTMonPxResolutionFctn;
30 class AliHBTMonPyResolutionFctn;
31 class AliHBTMonPzResolutionFctn;
32 class AliHBTMonPResolutionFctn;
33 class AliHBTMonPtResolutionFctn;
34 class AliHBTMonPhiResolutionFctn;
35 class AliHBTMonThetaResolutionFctn;
37 class AliHBTMonPxResolutionVsPtFctn;
38 class AliHBTMonPyResolutionVsPtFctn;
39 class AliHBTMonPzResolutionVsPtFctn;
40 class AliHBTMonPResolutionVsPtFctn;
41 class AliHBTMonPtResolutionVsPtFctn;
42 class AliHBTMonPhiResolutionVsPtFctn;
43 class AliHBTMonThetaResolutionVsPtFctn;
46 #include "AliHBTMonitorFunction.h"
47 /***********************************************************************/
48 /***********************************************************************/
49 /***********************************************************************/
50 class AliHBTMonPxResolutionFctn: public AliHBTMonTwoParticleFctn1D
53 AliHBTMonPxResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
54 virtual ~AliHBTMonPxResolutionFctn(){}
56 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
58 return (partparticle->Px()-trackparticle->Px()) ;
60 TH1* GetResult(){return fResult;}
61 ClassDef(AliHBTMonPxResolutionFctn,1)
63 /***********************************************************************/
64 class AliHBTMonPyResolutionFctn: public AliHBTMonTwoParticleFctn1D
67 AliHBTMonPyResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
68 virtual ~AliHBTMonPyResolutionFctn(){}
70 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
72 return (partparticle->Py()-trackparticle->Py()) ;
74 TH1* GetResult(){return fResult;}
75 ClassDef(AliHBTMonPyResolutionFctn,1)
77 /***********************************************************************/
78 class AliHBTMonPzResolutionFctn: public AliHBTMonTwoParticleFctn1D
81 AliHBTMonPzResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
82 virtual ~AliHBTMonPzResolutionFctn(){}
84 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
86 return (partparticle->Pz()-trackparticle->Pz()) ;
88 TH1* GetResult(){return fResult;}
89 ClassDef(AliHBTMonPzResolutionFctn,1)
91 /***********************************************************************/
92 class AliHBTMonPResolutionFctn: public AliHBTMonTwoParticleFctn1D
95 AliHBTMonPResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
96 virtual ~AliHBTMonPResolutionFctn(){}
98 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
100 return (partparticle->P()-trackparticle->P()) ;
102 TH1* GetResult(){return fResult;}
103 ClassDef(AliHBTMonPResolutionFctn,1)
105 /***********************************************************************/
106 class AliHBTMonPtResolutionFctn: public AliHBTMonTwoParticleFctn1D
109 AliHBTMonPtResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
110 virtual ~AliHBTMonPtResolutionFctn(){}
112 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
114 return (partparticle->Pt()-trackparticle->Pt()) ;
116 TH1* GetResult(){return fResult;}
117 ClassDef(AliHBTMonPtResolutionFctn,1)
119 /***********************************************************************/
120 /***********************************************************************/
121 /***********************************************************************/
122 class AliHBTMonPxResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
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)
131 x = partparticle->Pt();
132 y = partparticle->Px()-trackparticle->Px();
134 ClassDef(AliHBTMonPxResolutionVsPtFctn,1)
136 /***********************************************************************/
137 class AliHBTMonPyResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
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)
146 x = partparticle->Pt();
147 y = partparticle->Py()-trackparticle->Py();
149 ClassDef(AliHBTMonPyResolutionVsPtFctn,1)
151 /***********************************************************************/
152 class AliHBTMonPzResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
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)
161 x = partparticle->Pt();
162 y = partparticle->Pz()-trackparticle->Pz();
164 ClassDef(AliHBTMonPzResolutionVsPtFctn,1)
166 /***********************************************************************/
167 class AliHBTMonPResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
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)
176 x = partparticle->Pt();
177 y = partparticle->P()-trackparticle->P();
181 ClassDef(AliHBTMonPResolutionVsPtFctn,1)
183 /***********************************************************************/
184 class AliHBTMonPtResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
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)
193 x = partparticle->Pt();
194 y = partparticle->Pt()-trackparticle->Pt();
196 ClassDef(AliHBTMonPtResolutionVsPtFctn,1)
198 /***********************************************************************/
199 /***********************************************************************/
200 /***********************************************************************/
201 /***********************************************************************/
202 class AliHBTMonPhiResolutionFctn: public AliHBTMonTwoParticleFctn1D
205 AliHBTMonPhiResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
206 virtual ~AliHBTMonPhiResolutionFctn(){}
208 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
210 return (partparticle->Phi()-trackparticle->Phi()) ;
212 TH1* GetResult(){return fResult;}
213 ClassDef(AliHBTMonPhiResolutionFctn,1)
215 /***********************************************************************/
216 class AliHBTMonThetaResolutionFctn: public AliHBTMonTwoParticleFctn1D
219 AliHBTMonThetaResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
220 virtual ~AliHBTMonThetaResolutionFctn(){}
222 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
224 return (partparticle->Theta()-trackparticle->Theta()) ;
226 TH1* GetResult(){return fResult;}
227 ClassDef(AliHBTMonThetaResolutionFctn,1)
229 /***********************************************************************/
230 /***********************************************************************/
231 class AliHBTMonPhiResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
234 AliHBTMonPhiResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0,
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)
240 x = partparticle->Pt();
241 y = partparticle->Phi()-trackparticle->Phi();
243 ClassDef(AliHBTMonPhiResolutionVsPtFctn,1)
245 /***********************************************************************/
246 class AliHBTMonPhiResolutionVsPhiFctn: public AliHBTMonTwoParticleFctn2D
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)
255 x = partparticle->Phi();
256 y = partparticle->Phi()-trackparticle->Phi();
258 ClassDef(AliHBTMonPhiResolutionVsPhiFctn,1)
260 /***********************************************************************/
261 class AliHBTMonThetaResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
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)
270 x = partparticle->Pt();
271 y = partparticle->Theta()-trackparticle->Theta();
273 ClassDef(AliHBTMonThetaResolutionVsPtFctn,1)
276 /***********************************************************************/
277 class AliHBTMonThetaResolutionVsThetaFctn: public AliHBTMonTwoParticleFctn2D
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)
286 y = partparticle->Theta()-trackparticle->Theta();
287 x = partparticle->Theta();
289 ClassDef(AliHBTMonThetaResolutionVsThetaFctn,1)
291 /***********************************************************************/
292 /***********************************************************************/
293 /***********************************************************************/
294 /***********************************************************************/
295 /***********************************************************************/
296 /***********************************************************************/
297 /***********************************************************************/
298 /***********************************************************************/
299 /***********************************************************************/
300 /***********************************************************************/