1 #ifndef ALIHBTMONDISTRIBUTIONFCTNS_H
2 #define ALIHBTMONDISTRIBUTIONFCTNS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //______________________________________________________________
9 ////////////////////////////////////////////////////////////////
11 // class AliHBTMonPxDistributionFctn;
12 // class AliHBTMonPxDistributionVsPtFctn;
13 // class AliHBTMonPyDistributionFctn;
14 // class AliHBTMonPyDistributionVsPtFctn;
15 // class AliHBTMonPzDistributionFctn;
16 // class AliHBTMonPzDistributionVsPtFctn;
17 // class AliHBTMonPDistributionFctn;
18 // class AliHBTMonPDistributionVsPtFctn;
19 // class AliHBTMonPtDistributionFctn;
20 // class AliHBTMonVxDistributionFctn;
21 // class AliHBTMonVyDistributionFctn;
22 // class AliHBTMonVzDistributionFctn;
23 // class AliHBTMonRDistributionFctn;
24 // class AliHBTMonVyDistributionVsVxFctn;
25 // class AliHBTMonRtDistributionVsVzFctn;
27 // added by Zbigniew.Chajecki@cern.ch
28 // this classes create distribution functions of particle momentum
30 /////////////////////////////////////////////////////////////////
32 class AliHBTMonPxDistributionFctn;
33 class AliHBTMonPxDistributionVsPtFctn;
34 class AliHBTMonPyDistributionFctn;
35 class AliHBTMonPyDistributionVsPtFctn;
36 class AliHBTMonPzDistributionFctn;
37 class AliHBTMonPzDistributionVsPtFctn;
38 class AliHBTMonPDistributionFctn;
39 class AliHBTMonPDistributionVsPtFctn;
40 class AliHBTMonPtDistributionFctn;
42 class AliHBTMonVxDistributionFctn;
43 class AliHBTMonVyDistributionFctn;
44 class AliHBTMonVzDistributionFctn;
45 class AliHBTMonRDistributionFctn;
47 class AliHBTMonVyDistributionVsVxFctn;
48 class AliHBTMonRtDistributionVsVzFctn;
52 #include "AliHBTMonitorFunction.h"
53 /***********************************************************************/
54 /***********************************************************************/
55 /*************************************************************************************/
57 class AliHBTMonPxDistributionFctn: public AliHBTMonOneParticleFctn1D
60 AliHBTMonPxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
61 virtual ~AliHBTMonPxDistributionFctn(){};
63 Double_t GetValue(AliVAODParticle * particle) const;
64 ClassDef(AliHBTMonPxDistributionFctn,1)
66 /*************************************************************************************/
68 class AliHBTMonPyDistributionFctn: public AliHBTMonOneParticleFctn1D
71 AliHBTMonPyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
72 virtual ~AliHBTMonPyDistributionFctn(){};
74 Double_t GetValue(AliVAODParticle * particle) const { return particle->Py();}
75 ClassDef(AliHBTMonPyDistributionFctn,1)
77 /*************************************************************************************/
79 class AliHBTMonPzDistributionFctn: public AliHBTMonOneParticleFctn1D
82 AliHBTMonPzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
83 virtual ~AliHBTMonPzDistributionFctn(){};
85 Double_t GetValue(AliVAODParticle * particle) const { return particle->Pz();}
86 ClassDef(AliHBTMonPzDistributionFctn,1)
89 /*************************************************************************************/
91 class AliHBTMonPDistributionFctn: public AliHBTMonOneParticleFctn1D
94 AliHBTMonPDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
95 virtual ~AliHBTMonPDistributionFctn(){};
97 Double_t GetValue(AliVAODParticle * particle) const { return particle->P();}
98 ClassDef(AliHBTMonPDistributionFctn,1)
101 /*************************************************************************************/
103 class AliHBTMonPtDistributionFctn: public AliHBTMonOneParticleFctn1D
106 AliHBTMonPtDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
107 virtual ~AliHBTMonPtDistributionFctn(){};
109 Double_t GetValue(AliVAODParticle * particle) const { return particle->Pt();}
110 ClassDef(AliHBTMonPtDistributionFctn,1)
113 /***********************************************************************/
114 class AliHBTMonPxDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
117 AliHBTMonPxDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
118 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
119 virtual ~AliHBTMonPxDistributionVsPtFctn(){}
121 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
123 x = partparticle->Pt();
124 y = partparticle->Px();
126 ClassDef(AliHBTMonPxDistributionVsPtFctn,1)
129 /***********************************************************************/
130 class AliHBTMonPyDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
133 AliHBTMonPyDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
134 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
135 virtual ~AliHBTMonPyDistributionVsPtFctn(){}
137 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
139 x = partparticle->Pt();
140 y = partparticle->Py();
142 ClassDef(AliHBTMonPyDistributionVsPtFctn,1)
144 /***********************************************************************/
145 class AliHBTMonPzDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
148 AliHBTMonPzDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
149 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
150 virtual ~AliHBTMonPzDistributionVsPtFctn(){}
152 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
154 x = partparticle->Pt();
155 y = partparticle->Pz();
157 ClassDef(AliHBTMonPzDistributionVsPtFctn,1)
160 /***********************************************************************/
161 class AliHBTMonPDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
164 AliHBTMonPDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
165 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
166 virtual ~AliHBTMonPDistributionVsPtFctn(){}
168 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
170 x = partparticle->Pt();
171 y = partparticle->P();
173 ClassDef(AliHBTMonPDistributionVsPtFctn,1)
176 /***********************************************************************/
177 /***********************************************************************/
178 /***********************************************************************/
179 /***********************************************************************/
181 class AliHBTMonPhiDistributionFctn: public AliHBTMonOneParticleFctn1D
184 AliHBTMonPhiDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
185 virtual ~AliHBTMonPhiDistributionFctn(){};
187 Double_t GetValue(AliVAODParticle * particle) const { return particle->Phi();}
188 ClassDef(AliHBTMonPhiDistributionFctn,1)
191 /***********************************************************************/
192 class AliHBTMonThetaDistributionFctn: public AliHBTMonOneParticleFctn1D
195 AliHBTMonThetaDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
196 virtual ~AliHBTMonThetaDistributionFctn(){};
198 Double_t GetValue(AliVAODParticle * particle) const { return particle->Theta();}
199 ClassDef(AliHBTMonThetaDistributionFctn,1)
202 /***********************************************************************/
203 /***********************************************************************/
204 class AliHBTMonPhiDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
207 AliHBTMonPhiDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
208 Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0);
209 virtual ~AliHBTMonPhiDistributionVsPtFctn(){}
211 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
213 x = partparticle->Pt();
214 y = partparticle->Phi();
216 ClassDef(AliHBTMonPhiDistributionVsPtFctn,1)
219 /***********************************************************************/
220 class AliHBTMonThetaDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
223 AliHBTMonThetaDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
224 Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0);
225 virtual ~AliHBTMonThetaDistributionVsPtFctn(){}
227 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
229 x = partparticle->Pt();
230 y = partparticle->Theta();
232 ClassDef(AliHBTMonThetaDistributionVsPtFctn,1)
235 /***********************************************************************/
236 class AliHBTMonVxDistributionFctn: public AliHBTMonOneParticleFctn1D
239 AliHBTMonVxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
240 virtual ~AliHBTMonVxDistributionFctn(){};
242 Double_t GetValue(AliVAODParticle * particle) const{ return particle->Vx();}
243 ClassDef(AliHBTMonVxDistributionFctn,1)
245 /***********************************************************************/
246 class AliHBTMonVyDistributionFctn: public AliHBTMonOneParticleFctn1D
249 AliHBTMonVyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
250 virtual ~AliHBTMonVyDistributionFctn(){};
252 Double_t GetValue(AliVAODParticle * particle) const { return particle->Vy();}
253 ClassDef(AliHBTMonVyDistributionFctn,1)
255 /***********************************************************************/
256 class AliHBTMonVzDistributionFctn: public AliHBTMonOneParticleFctn1D
259 AliHBTMonVzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 300, Double_t minXval = -300);
260 virtual ~AliHBTMonVzDistributionFctn(){};
262 Double_t GetValue(AliVAODParticle * particle) const { return particle->Vz();}
263 ClassDef(AliHBTMonVzDistributionFctn,1)
265 /***********************************************************************/
266 class AliHBTMonRDistributionFctn: public AliHBTMonOneParticleFctn1D
269 AliHBTMonRDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
270 virtual ~AliHBTMonRDistributionFctn(){};
272 Double_t GetValue(AliVAODParticle * p) const { return TMath::Sqrt(p->Vx()*p->Vx() + p->Vy()*p->Vy() + p->Vz()*p->Vz());}
273 ClassDef(AliHBTMonRDistributionFctn,1)
276 /***********************************************************************/
277 class AliHBTMonVyDistributionVsVxFctn: public AliHBTMonOneParticleFctn2D
280 AliHBTMonVyDistributionVsVxFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0,
281 Int_t nYbins = 200, Double_t maxYval = 10.0, Double_t minYval =-10.0);
282 virtual ~AliHBTMonVyDistributionVsVxFctn(){}
284 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
286 x = partparticle->Vx();
287 y = partparticle->Vy();
289 ClassDef(AliHBTMonVyDistributionVsVxFctn,1)
293 class AliHBTMonRtDistributionVsVzFctn: public AliHBTMonOneParticleFctn2D
296 AliHBTMonRtDistributionVsVzFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0,
297 Int_t nYbins = 100, Double_t maxYval = 10.0, Double_t minYval = 0.0);
298 virtual ~AliHBTMonRtDistributionVsVzFctn(){}
300 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
302 x = partparticle->Vz();
303 y = TMath::Hypot(partparticle->Vx(),partparticle->Vy());
305 ClassDef(AliHBTMonRtDistributionVsVzFctn,1)
308 /***********************************************************************/
309 /***********************************************************************/