1 #ifndef ALIHBTMONDISTRIBUTIONFCTNS_H
2 #define ALIHBTMONDISTRIBUTIONFCTNS_H
3 //______________________________________________________________
4 ////////////////////////////////////////////////////////////////
6 // class AliHBTMonPxDistributionFctn;
7 // class AliHBTMonPxDistributionVsPtFctn;
8 // class AliHBTMonPyDistributionFctn;
9 // class AliHBTMonPyDistributionVsPtFctn;
10 // class AliHBTMonPzDistributionFctn;
11 // class AliHBTMonPzDistributionVsPtFctn;
12 // class AliHBTMonPDistributionFctn;
13 // class AliHBTMonPDistributionVsPtFctn;
14 // class AliHBTMonPtDistributionFctn;
15 // class AliHBTMonVxDistributionFctn;
16 // class AliHBTMonVyDistributionFctn;
17 // class AliHBTMonVzDistributionFctn;
18 // class AliHBTMonRDistributionFctn;
19 // class AliHBTMonVyDistributionVsVxFctn;
20 // class AliHBTMonRtDistributionVsVzFctn;
22 // added by Zbigniew.Chajecki@cern.ch
23 // this classes create distribution functions of particle momentum
25 /////////////////////////////////////////////////////////////////
27 class AliHBTMonPxDistributionFctn;
28 class AliHBTMonPxDistributionVsPtFctn;
29 class AliHBTMonPyDistributionFctn;
30 class AliHBTMonPyDistributionVsPtFctn;
31 class AliHBTMonPzDistributionFctn;
32 class AliHBTMonPzDistributionVsPtFctn;
33 class AliHBTMonPDistributionFctn;
34 class AliHBTMonPDistributionVsPtFctn;
35 class AliHBTMonPtDistributionFctn;
37 class AliHBTMonVxDistributionFctn;
38 class AliHBTMonVyDistributionFctn;
39 class AliHBTMonVzDistributionFctn;
40 class AliHBTMonRDistributionFctn;
42 class AliHBTMonVyDistributionVsVxFctn;
43 class AliHBTMonRtDistributionVsVzFctn;
45 #include "AliHBTMonitorFunction.h"
46 /***********************************************************************/
47 /***********************************************************************/
48 /*************************************************************************************/
50 class AliHBTMonPxDistributionFctn: public AliHBTMonOneParticleFctn1D
53 AliHBTMonPxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
54 virtual ~AliHBTMonPxDistributionFctn(){};
56 Double_t GetValue(AliVAODParticle * particle) const;
57 ClassDef(AliHBTMonPxDistributionFctn,1)
59 /*************************************************************************************/
61 class AliHBTMonPyDistributionFctn: public AliHBTMonOneParticleFctn1D
64 AliHBTMonPyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
65 virtual ~AliHBTMonPyDistributionFctn(){};
67 Double_t GetValue(AliVAODParticle * particle) const { return particle->Py();}
68 ClassDef(AliHBTMonPyDistributionFctn,1)
70 /*************************************************************************************/
72 class AliHBTMonPzDistributionFctn: public AliHBTMonOneParticleFctn1D
75 AliHBTMonPzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
76 virtual ~AliHBTMonPzDistributionFctn(){};
78 Double_t GetValue(AliVAODParticle * particle) const { return particle->Pz();}
79 ClassDef(AliHBTMonPzDistributionFctn,1)
82 /*************************************************************************************/
84 class AliHBTMonPDistributionFctn: public AliHBTMonOneParticleFctn1D
87 AliHBTMonPDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
88 virtual ~AliHBTMonPDistributionFctn(){};
90 Double_t GetValue(AliVAODParticle * particle) const { return particle->P();}
91 ClassDef(AliHBTMonPDistributionFctn,1)
94 /*************************************************************************************/
96 class AliHBTMonPtDistributionFctn: public AliHBTMonOneParticleFctn1D
99 AliHBTMonPtDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
100 virtual ~AliHBTMonPtDistributionFctn(){};
102 Double_t GetValue(AliVAODParticle * particle) const { return particle->Pt();}
103 ClassDef(AliHBTMonPtDistributionFctn,1)
106 /***********************************************************************/
107 class AliHBTMonPxDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
110 AliHBTMonPxDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
111 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
112 virtual ~AliHBTMonPxDistributionVsPtFctn(){}
114 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
116 x = partparticle->Pt();
117 y = partparticle->Px();
119 ClassDef(AliHBTMonPxDistributionVsPtFctn,1)
122 /***********************************************************************/
123 class AliHBTMonPyDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
126 AliHBTMonPyDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
127 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
128 virtual ~AliHBTMonPyDistributionVsPtFctn(){}
130 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
132 x = partparticle->Pt();
133 y = partparticle->Py();
135 ClassDef(AliHBTMonPyDistributionVsPtFctn,1)
137 /***********************************************************************/
138 class AliHBTMonPzDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
141 AliHBTMonPzDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
142 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
143 virtual ~AliHBTMonPzDistributionVsPtFctn(){}
145 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
147 x = partparticle->Pt();
148 y = partparticle->Pz();
150 ClassDef(AliHBTMonPzDistributionVsPtFctn,1)
153 /***********************************************************************/
154 class AliHBTMonPDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
157 AliHBTMonPDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
158 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
159 virtual ~AliHBTMonPDistributionVsPtFctn(){}
161 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
163 x = partparticle->Pt();
164 y = partparticle->P();
166 ClassDef(AliHBTMonPDistributionVsPtFctn,1)
169 /***********************************************************************/
170 /***********************************************************************/
171 /***********************************************************************/
172 /***********************************************************************/
174 class AliHBTMonPhiDistributionFctn: public AliHBTMonOneParticleFctn1D
177 AliHBTMonPhiDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
178 virtual ~AliHBTMonPhiDistributionFctn(){};
180 Double_t GetValue(AliVAODParticle * particle) const { return particle->Phi();}
181 ClassDef(AliHBTMonPhiDistributionFctn,1)
184 /***********************************************************************/
185 class AliHBTMonThetaDistributionFctn: public AliHBTMonOneParticleFctn1D
188 AliHBTMonThetaDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
189 virtual ~AliHBTMonThetaDistributionFctn(){};
191 Double_t GetValue(AliVAODParticle * particle) const { return particle->Theta();}
192 ClassDef(AliHBTMonThetaDistributionFctn,1)
195 /***********************************************************************/
196 /***********************************************************************/
197 class AliHBTMonPhiDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
200 AliHBTMonPhiDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
201 Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0);
202 virtual ~AliHBTMonPhiDistributionVsPtFctn(){}
204 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
206 x = partparticle->Pt();
207 y = partparticle->Phi();
209 ClassDef(AliHBTMonPhiDistributionVsPtFctn,1)
212 /***********************************************************************/
213 class AliHBTMonThetaDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
216 AliHBTMonThetaDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
217 Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0);
218 virtual ~AliHBTMonThetaDistributionVsPtFctn(){}
220 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
222 x = partparticle->Pt();
223 y = partparticle->Theta();
225 ClassDef(AliHBTMonThetaDistributionVsPtFctn,1)
228 /***********************************************************************/
229 class AliHBTMonVxDistributionFctn: public AliHBTMonOneParticleFctn1D
232 AliHBTMonVxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
233 virtual ~AliHBTMonVxDistributionFctn(){};
235 Double_t GetValue(AliVAODParticle * particle) const{ return particle->Vx();}
236 ClassDef(AliHBTMonVxDistributionFctn,1)
238 /***********************************************************************/
239 class AliHBTMonVyDistributionFctn: public AliHBTMonOneParticleFctn1D
242 AliHBTMonVyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
243 virtual ~AliHBTMonVyDistributionFctn(){};
245 Double_t GetValue(AliVAODParticle * particle) const { return particle->Vy();}
246 ClassDef(AliHBTMonVyDistributionFctn,1)
248 /***********************************************************************/
249 class AliHBTMonVzDistributionFctn: public AliHBTMonOneParticleFctn1D
252 AliHBTMonVzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 300, Double_t minXval = -300);
253 virtual ~AliHBTMonVzDistributionFctn(){};
255 Double_t GetValue(AliVAODParticle * particle) const { return particle->Vz();}
256 ClassDef(AliHBTMonVzDistributionFctn,1)
258 /***********************************************************************/
259 class AliHBTMonRDistributionFctn: public AliHBTMonOneParticleFctn1D
262 AliHBTMonRDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
263 virtual ~AliHBTMonRDistributionFctn(){};
265 Double_t GetValue(AliVAODParticle * p) const { return TMath::Sqrt(p->Vx()*p->Vx() + p->Vy()*p->Vy() + p->Vz()*p->Vz());}
266 ClassDef(AliHBTMonRDistributionFctn,1)
269 /***********************************************************************/
270 class AliHBTMonVyDistributionVsVxFctn: public AliHBTMonOneParticleFctn2D
273 AliHBTMonVyDistributionVsVxFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0,
274 Int_t nYbins = 200, Double_t maxYval = 10.0, Double_t minYval =-10.0);
275 virtual ~AliHBTMonVyDistributionVsVxFctn(){}
277 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
279 x = partparticle->Vx();
280 y = partparticle->Vy();
282 ClassDef(AliHBTMonVyDistributionVsVxFctn,1)
286 class AliHBTMonRtDistributionVsVzFctn: public AliHBTMonOneParticleFctn2D
289 AliHBTMonRtDistributionVsVzFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0,
290 Int_t nYbins = 100, Double_t maxYval = 10.0, Double_t minYval = 0.0);
291 virtual ~AliHBTMonRtDistributionVsVzFctn(){}
293 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
295 x = partparticle->Vz();
296 y = TMath::Hypot(partparticle->Vx(),partparticle->Vy());
298 ClassDef(AliHBTMonRtDistributionVsVzFctn,1)
301 /***********************************************************************/
302 /***********************************************************************/