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(){};
55 TH1* GetResult(){return fResult;}
57 Double_t GetValue(AliHBTParticle * particle) { return particle->Px();}
58 ClassDef(AliHBTMonPxDistributionFctn,1)
60 /*************************************************************************************/
62 class AliHBTMonPyDistributionFctn: public AliHBTMonOneParticleFctn1D
65 AliHBTMonPyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
66 virtual ~AliHBTMonPyDistributionFctn(){};
67 TH1* GetResult(){return fResult;}
69 Double_t GetValue(AliHBTParticle * particle) { return particle->Py();}
70 ClassDef(AliHBTMonPyDistributionFctn,1)
72 /*************************************************************************************/
74 class AliHBTMonPzDistributionFctn: public AliHBTMonOneParticleFctn1D
77 AliHBTMonPzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
78 virtual ~AliHBTMonPzDistributionFctn(){};
79 TH1* GetResult(){return fResult;}
81 Double_t GetValue(AliHBTParticle * particle) { return particle->Pz();}
82 ClassDef(AliHBTMonPzDistributionFctn,1)
85 /*************************************************************************************/
87 class AliHBTMonPDistributionFctn: public AliHBTMonOneParticleFctn1D
90 AliHBTMonPDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
91 virtual ~AliHBTMonPDistributionFctn(){};
92 TH1* GetResult(){return fResult;}
94 Double_t GetValue(AliHBTParticle * particle) { return particle->P();}
95 ClassDef(AliHBTMonPDistributionFctn,1)
98 /*************************************************************************************/
100 class AliHBTMonPtDistributionFctn: public AliHBTMonOneParticleFctn1D
103 AliHBTMonPtDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
104 virtual ~AliHBTMonPtDistributionFctn(){};
105 TH1* GetResult(){return fResult;}
107 Double_t GetValue(AliHBTParticle * particle) { return particle->Pt();}
108 ClassDef(AliHBTMonPtDistributionFctn,1)
111 /***********************************************************************/
112 class AliHBTMonPxDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
115 AliHBTMonPxDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
116 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
117 virtual ~AliHBTMonPxDistributionVsPtFctn(){}
119 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
121 x = partparticle->Pt();
122 y = partparticle->Px();
124 TH1* GetResult(){return fResult;}
125 ClassDef(AliHBTMonPxDistributionVsPtFctn,1)
128 /***********************************************************************/
129 class AliHBTMonPyDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
132 AliHBTMonPyDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
133 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
134 virtual ~AliHBTMonPyDistributionVsPtFctn(){}
136 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
138 x = partparticle->Pt();
139 y = partparticle->Py();
141 TH1* GetResult(){return fResult;}
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(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
154 x = partparticle->Pt();
155 y = partparticle->Pz();
157 TH1* GetResult(){return fResult;}
158 ClassDef(AliHBTMonPzDistributionVsPtFctn,1)
161 /***********************************************************************/
162 class AliHBTMonPDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
165 AliHBTMonPDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
166 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
167 virtual ~AliHBTMonPDistributionVsPtFctn(){}
169 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
171 x = partparticle->Pt();
172 y = partparticle->P();
174 TH1* GetResult(){return fResult;}
175 ClassDef(AliHBTMonPDistributionVsPtFctn,1)
178 /***********************************************************************/
179 /***********************************************************************/
180 /***********************************************************************/
181 /***********************************************************************/
183 class AliHBTMonPhiDistributionFctn: public AliHBTMonOneParticleFctn1D
186 AliHBTMonPhiDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
187 virtual ~AliHBTMonPhiDistributionFctn(){};
188 TH1* GetResult(){return fResult;}
190 Double_t GetValue(AliHBTParticle * particle) { return particle->Phi();}
191 ClassDef(AliHBTMonPhiDistributionFctn,1)
194 /***********************************************************************/
195 class AliHBTMonThetaDistributionFctn: public AliHBTMonOneParticleFctn1D
198 AliHBTMonThetaDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
199 virtual ~AliHBTMonThetaDistributionFctn(){};
200 TH1* GetResult(){return fResult;}
202 Double_t GetValue(AliHBTParticle * particle) { return particle->Theta();}
203 ClassDef(AliHBTMonThetaDistributionFctn,1)
206 /***********************************************************************/
207 /***********************************************************************/
208 class AliHBTMonPhiDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
211 AliHBTMonPhiDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
212 Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0);
213 virtual ~AliHBTMonPhiDistributionVsPtFctn(){}
215 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
217 x = partparticle->Pt();
218 y = partparticle->Phi();
220 TH1* GetResult(){return fResult;}
221 ClassDef(AliHBTMonPhiDistributionVsPtFctn,1)
224 /***********************************************************************/
225 class AliHBTMonThetaDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
228 AliHBTMonThetaDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
229 Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0);
230 virtual ~AliHBTMonThetaDistributionVsPtFctn(){}
232 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
234 x = partparticle->Pt();
235 y = partparticle->Theta();
237 TH1* GetResult(){return fResult;}
238 ClassDef(AliHBTMonThetaDistributionVsPtFctn,1)
241 /***********************************************************************/
242 class AliHBTMonVxDistributionFctn: public AliHBTMonOneParticleFctn1D
245 AliHBTMonVxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
246 virtual ~AliHBTMonVxDistributionFctn(){};
247 TH1* GetResult(){return fResult;}
249 Double_t GetValue(AliHBTParticle * particle) { return particle->Vx();}
250 ClassDef(AliHBTMonVxDistributionFctn,1)
252 /***********************************************************************/
253 class AliHBTMonVyDistributionFctn: public AliHBTMonOneParticleFctn1D
256 AliHBTMonVyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
257 virtual ~AliHBTMonVyDistributionFctn(){};
258 TH1* GetResult(){return fResult;}
260 Double_t GetValue(AliHBTParticle * particle) { return particle->Vy();}
261 ClassDef(AliHBTMonVyDistributionFctn,1)
263 /***********************************************************************/
264 class AliHBTMonVzDistributionFctn: public AliHBTMonOneParticleFctn1D
267 AliHBTMonVzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 300, Double_t minXval = -300);
268 virtual ~AliHBTMonVzDistributionFctn(){};
269 TH1* GetResult(){return fResult;}
271 Double_t GetValue(AliHBTParticle * particle) { return particle->Vz();}
272 ClassDef(AliHBTMonVzDistributionFctn,1)
274 /***********************************************************************/
275 class AliHBTMonRDistributionFctn: public AliHBTMonOneParticleFctn1D
278 AliHBTMonRDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
279 virtual ~AliHBTMonRDistributionFctn(){};
280 TH1* GetResult(){return fResult;}
282 Double_t GetValue(AliHBTParticle * p) { return TMath::Sqrt(p->Vx()*p->Vx() + p->Vy()*p->Vy() + p->Vz()*p->Vz());}
283 ClassDef(AliHBTMonRDistributionFctn,1)
286 /***********************************************************************/
287 class AliHBTMonVyDistributionVsVxFctn: public AliHBTMonOneParticleFctn2D
290 AliHBTMonVyDistributionVsVxFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0,
291 Int_t nYbins = 200, Double_t maxYval = 10.0, Double_t minYval =-10.0);
292 virtual ~AliHBTMonVyDistributionVsVxFctn(){}
294 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
296 x = partparticle->Vx();
297 y = partparticle->Vy();
299 TH1* GetResult(){return fResult;}
300 ClassDef(AliHBTMonVyDistributionVsVxFctn,1)
304 class AliHBTMonRtDistributionVsVzFctn: public AliHBTMonOneParticleFctn2D
307 AliHBTMonRtDistributionVsVzFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0,
308 Int_t nYbins = 100, Double_t maxYval = 10.0, Double_t minYval = 0.0);
309 virtual ~AliHBTMonRtDistributionVsVzFctn(){}
311 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
313 x = partparticle->Vz();
314 y = TMath::Hypot(partparticle->Vx(),partparticle->Vy());
316 TH1* GetResult(){return fResult;}
317 ClassDef(AliHBTMonRtDistributionVsVzFctn,1)
320 /***********************************************************************/
321 /***********************************************************************/