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(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
58 return (partparticle->Px()-trackparticle->Px()) ;
60 ClassDef(AliHBTMonPxResolutionFctn,1)
62 /***********************************************************************/
63 class AliHBTMonPyResolutionFctn: public AliHBTMonTwoParticleFctn1D
66 AliHBTMonPyResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
67 virtual ~AliHBTMonPyResolutionFctn(){}
69 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
71 return (partparticle->Py()-trackparticle->Py()) ;
73 ClassDef(AliHBTMonPyResolutionFctn,1)
75 /***********************************************************************/
76 class AliHBTMonPzResolutionFctn: public AliHBTMonTwoParticleFctn1D
79 AliHBTMonPzResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
80 virtual ~AliHBTMonPzResolutionFctn(){}
82 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
84 return (partparticle->Pz()-trackparticle->Pz()) ;
86 ClassDef(AliHBTMonPzResolutionFctn,1)
88 /***********************************************************************/
89 class AliHBTMonPResolutionFctn: public AliHBTMonTwoParticleFctn1D
92 AliHBTMonPResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
93 virtual ~AliHBTMonPResolutionFctn(){}
95 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
97 return (partparticle->P()-trackparticle->P()) ;
99 ClassDef(AliHBTMonPResolutionFctn,1)
101 /***********************************************************************/
102 class AliHBTMonPtResolutionFctn: public AliHBTMonTwoParticleFctn1D
105 AliHBTMonPtResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
106 virtual ~AliHBTMonPtResolutionFctn(){}
108 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
110 return (partparticle->Pt()-trackparticle->Pt()) ;
112 ClassDef(AliHBTMonPtResolutionFctn,1)
114 /***********************************************************************/
115 /***********************************************************************/
116 /***********************************************************************/
117 class AliHBTMonPxResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
120 AliHBTMonPxResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
121 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
122 virtual ~AliHBTMonPxResolutionVsPtFctn(){}
123 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
125 x = partparticle->Pt();
126 y = partparticle->Px()-trackparticle->Px();
128 ClassDef(AliHBTMonPxResolutionVsPtFctn,1)
130 /***********************************************************************/
131 class AliHBTMonPyResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
134 AliHBTMonPyResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
135 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
136 virtual ~AliHBTMonPyResolutionVsPtFctn(){}
137 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
139 x = partparticle->Pt();
140 y = partparticle->Py()-trackparticle->Py();
142 ClassDef(AliHBTMonPyResolutionVsPtFctn,1)
144 /***********************************************************************/
145 class AliHBTMonPzResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
148 AliHBTMonPzResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
149 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
150 virtual ~AliHBTMonPzResolutionVsPtFctn(){}
151 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
153 x = partparticle->Pt();
154 y = partparticle->Pz()-trackparticle->Pz();
156 ClassDef(AliHBTMonPzResolutionVsPtFctn,1)
158 /***********************************************************************/
159 class AliHBTMonPResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
162 AliHBTMonPResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
163 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
164 virtual ~AliHBTMonPResolutionVsPtFctn(){}
165 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
167 x = partparticle->Pt();
168 y = partparticle->P()-trackparticle->P();
172 ClassDef(AliHBTMonPResolutionVsPtFctn,1)
174 /***********************************************************************/
175 class AliHBTMonPtResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
178 AliHBTMonPtResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
179 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
180 virtual ~AliHBTMonPtResolutionVsPtFctn(){}
181 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
183 x = partparticle->Pt();
184 y = partparticle->Pt()-trackparticle->Pt();
186 ClassDef(AliHBTMonPtResolutionVsPtFctn,1)
188 /***********************************************************************/
189 /***********************************************************************/
190 /***********************************************************************/
191 /***********************************************************************/
192 class AliHBTMonPhiResolutionFctn: public AliHBTMonTwoParticleFctn1D
195 AliHBTMonPhiResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
196 virtual ~AliHBTMonPhiResolutionFctn(){}
198 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
200 return (partparticle->Phi()-trackparticle->Phi()) ;
202 ClassDef(AliHBTMonPhiResolutionFctn,1)
204 /***********************************************************************/
205 class AliHBTMonThetaResolutionFctn: public AliHBTMonTwoParticleFctn1D
208 AliHBTMonThetaResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
209 virtual ~AliHBTMonThetaResolutionFctn(){}
211 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
213 return (partparticle->Theta()-trackparticle->Theta()) ;
215 ClassDef(AliHBTMonThetaResolutionFctn,1)
217 /***********************************************************************/
218 /***********************************************************************/
219 class AliHBTMonPhiResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
222 AliHBTMonPhiResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0,
223 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
224 virtual ~AliHBTMonPhiResolutionVsPtFctn(){}
225 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
227 x = partparticle->Pt();
228 y = partparticle->Phi()-trackparticle->Phi();
230 ClassDef(AliHBTMonPhiResolutionVsPtFctn,1)
232 /***********************************************************************/
233 class AliHBTMonPhiResolutionVsPhiFctn: public AliHBTMonTwoParticleFctn2D
236 AliHBTMonPhiResolutionVsPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0,
237 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
238 virtual ~AliHBTMonPhiResolutionVsPhiFctn(){}
239 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
241 x = partparticle->Phi();
242 y = partparticle->Phi()-trackparticle->Phi();
244 ClassDef(AliHBTMonPhiResolutionVsPhiFctn,1)
246 /***********************************************************************/
247 class AliHBTMonThetaResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
250 AliHBTMonThetaResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
251 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
252 virtual ~AliHBTMonThetaResolutionVsPtFctn(){}
253 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
255 x = partparticle->Pt();
256 y = partparticle->Theta()-trackparticle->Theta();
258 ClassDef(AliHBTMonThetaResolutionVsPtFctn,1)
261 /***********************************************************************/
262 class AliHBTMonThetaResolutionVsThetaFctn: public AliHBTMonTwoParticleFctn2D
265 AliHBTMonThetaResolutionVsThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(),
266 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
267 virtual ~AliHBTMonThetaResolutionVsThetaFctn(){}
268 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
270 y = partparticle->Theta()-trackparticle->Theta();
271 x = partparticle->Theta();
273 ClassDef(AliHBTMonThetaResolutionVsThetaFctn,1)
275 /***********************************************************************/
276 /***********************************************************************/
277 /***********************************************************************/
278 /***********************************************************************/
279 /***********************************************************************/
280 /***********************************************************************/
281 /***********************************************************************/
282 /***********************************************************************/
283 /***********************************************************************/
284 /***********************************************************************/