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();
182 ClassDef(AliHBTMonPResolutionVsPtFctn,1)
184 /***********************************************************************/
185 class AliHBTMonPtResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
188 AliHBTMonPtResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
189 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
190 virtual ~AliHBTMonPtResolutionVsPtFctn(){}
191 TH1* GetResult(){return fResult;}
192 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
194 x = partparticle->Pt();
195 y = partparticle->Pt()-trackparticle->Pt();
197 ClassDef(AliHBTMonPtResolutionVsPtFctn,1)
199 /***********************************************************************/
200 /***********************************************************************/
201 /***********************************************************************/
202 /***********************************************************************/
203 class AliHBTMonPhiResolutionFctn: public AliHBTMonTwoParticleFctn1D
206 AliHBTMonPhiResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
207 virtual ~AliHBTMonPhiResolutionFctn(){}
209 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
211 return (partparticle->Phi()-trackparticle->Phi()) ;
213 TH1* GetResult(){return fResult;}
214 ClassDef(AliHBTMonPhiResolutionFctn,1)
216 /***********************************************************************/
217 class AliHBTMonThetaResolutionFctn: public AliHBTMonTwoParticleFctn1D
220 AliHBTMonThetaResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
221 virtual ~AliHBTMonThetaResolutionFctn(){}
223 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
225 return (partparticle->Theta()-trackparticle->Theta()) ;
227 TH1* GetResult(){return fResult;}
228 ClassDef(AliHBTMonThetaResolutionFctn,1)
230 /***********************************************************************/
231 /***********************************************************************/
232 class AliHBTMonPhiResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
235 AliHBTMonPhiResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0,
236 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
237 virtual ~AliHBTMonPhiResolutionVsPtFctn(){}
238 TH1* GetResult(){return fResult;}
239 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
241 x = partparticle->Pt();
242 y = partparticle->Phi()-trackparticle->Phi();
244 ClassDef(AliHBTMonPhiResolutionVsPtFctn,1)
246 /***********************************************************************/
247 class AliHBTMonPhiResolutionVsPhiFctn: public AliHBTMonTwoParticleFctn2D
250 AliHBTMonPhiResolutionVsPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0,
251 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
252 virtual ~AliHBTMonPhiResolutionVsPhiFctn(){}
253 TH1* GetResult(){return fResult;}
254 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
256 x = partparticle->Phi();
257 y = partparticle->Phi()-trackparticle->Phi();
259 ClassDef(AliHBTMonPhiResolutionVsPhiFctn,1)
261 /***********************************************************************/
262 class AliHBTMonThetaResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
265 AliHBTMonThetaResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
266 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
267 virtual ~AliHBTMonThetaResolutionVsPtFctn(){}
268 TH1* GetResult(){return fResult;}
269 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
271 x = partparticle->Pt();
272 y = partparticle->Theta()-trackparticle->Theta();
274 ClassDef(AliHBTMonThetaResolutionVsPtFctn,1)
277 /***********************************************************************/
278 class AliHBTMonThetaResolutionVsThetaFctn: public AliHBTMonTwoParticleFctn2D
281 AliHBTMonThetaResolutionVsThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(),
282 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
283 virtual ~AliHBTMonThetaResolutionVsThetaFctn(){}
284 TH1* GetResult(){return fResult;}
285 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
287 y = partparticle->Theta()-trackparticle->Theta();
288 x = partparticle->Theta();
290 ClassDef(AliHBTMonThetaResolutionVsThetaFctn,1)
292 /***********************************************************************/
293 /***********************************************************************/
294 /***********************************************************************/
295 /***********************************************************************/
296 /***********************************************************************/
297 /***********************************************************************/
298 /***********************************************************************/
299 /***********************************************************************/
300 /***********************************************************************/
301 /***********************************************************************/