1 #ifndef ALIHBTMONPXDISTRIBUTIONVSPTFCTN_H
2 #define ALIHBTMONPXDISTRIBUTIONVSPTFCTN_H
4 // added by Zbigniew.Chajecki@cern.ch
5 // this classes create distribution functions of particle momentum
7 class AliHBTMonPxDistributionFctn;
8 class AliHBTMonPxDistributionVsPtFctn;
9 class AliHBTMonPyDistributionFctn;
10 class AliHBTMonPyDistributionVsPtFctn;
11 class AliHBTMonPzDistributionFctn;
12 class AliHBTMonPzDistributionVsPtFctn;
13 class AliHBTMonPDistributionFctn;
14 class AliHBTMonPDistributionVsPtFctn;
15 class AliHBTMonPtDistributionFctn;
17 class AliHBTMonVxDistributionFctn;
18 class AliHBTMonVyDistributionFctn;
19 class AliHBTMonVzDistributionFctn;
20 class AliHBTMonRDistributionFctn;
22 class AliHBTMonVyDistributionVsVxFctn;
23 class AliHBTMonRtDistributionVsVzFctn;
25 #include "AliHBTMonitorFunction.h"
26 /***********************************************************************/
27 /***********************************************************************/
28 /*************************************************************************************/
30 class AliHBTMonPxDistributionFctn: public AliHBTMonOneParticleFctn1D
33 AliHBTMonPxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
34 virtual ~AliHBTMonPxDistributionFctn(){};
35 TH1* GetResult(){return fResult;}
37 Double_t GetValue(AliHBTParticle * particle) { return particle->Px();}
39 ClassDef(AliHBTMonPxDistributionFctn,1)
42 /*************************************************************************************/
44 class AliHBTMonPyDistributionFctn: public AliHBTMonOneParticleFctn1D
47 AliHBTMonPyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
48 virtual ~AliHBTMonPyDistributionFctn(){};
49 TH1* GetResult(){return fResult;}
51 Double_t GetValue(AliHBTParticle * particle) { return particle->Py();}
53 ClassDef(AliHBTMonPyDistributionFctn,1)
56 /*************************************************************************************/
58 class AliHBTMonPzDistributionFctn: public AliHBTMonOneParticleFctn1D
61 AliHBTMonPzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
62 virtual ~AliHBTMonPzDistributionFctn(){};
63 TH1* GetResult(){return fResult;}
65 Double_t GetValue(AliHBTParticle * particle) { return particle->Pz();}
67 ClassDef(AliHBTMonPzDistributionFctn,1)
70 /*************************************************************************************/
72 class AliHBTMonPDistributionFctn: public AliHBTMonOneParticleFctn1D
75 AliHBTMonPDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
76 virtual ~AliHBTMonPDistributionFctn(){};
77 TH1* GetResult(){return fResult;}
79 Double_t GetValue(AliHBTParticle * particle) { return particle->P();}
81 ClassDef(AliHBTMonPDistributionFctn,1)
84 /*************************************************************************************/
86 class AliHBTMonPtDistributionFctn: public AliHBTMonOneParticleFctn1D
89 AliHBTMonPtDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
90 virtual ~AliHBTMonPtDistributionFctn(){};
91 TH1* GetResult(){return fResult;}
93 Double_t GetValue(AliHBTParticle * particle) { return particle->Pt();}
95 ClassDef(AliHBTMonPtDistributionFctn,1)
99 /***********************************************************************/
100 class AliHBTMonPxDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
103 AliHBTMonPxDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
104 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
105 virtual ~AliHBTMonPxDistributionVsPtFctn(){}
107 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
109 x = partparticle->Pt();
110 y = partparticle->Px();
112 TH1* GetResult(){return fResult;}
116 ClassDef(AliHBTMonPxDistributionVsPtFctn,1)
119 /***********************************************************************/
120 class AliHBTMonPyDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
123 AliHBTMonPyDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
124 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
125 virtual ~AliHBTMonPyDistributionVsPtFctn(){}
127 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
129 x = partparticle->Pt();
130 y = partparticle->Py();
132 TH1* GetResult(){return fResult;}
136 ClassDef(AliHBTMonPyDistributionVsPtFctn,1)
138 /***********************************************************************/
139 class AliHBTMonPzDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
142 AliHBTMonPzDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
143 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
144 virtual ~AliHBTMonPzDistributionVsPtFctn(){}
146 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
148 x = partparticle->Pt();
149 y = partparticle->Pz();
151 TH1* GetResult(){return fResult;}
155 ClassDef(AliHBTMonPzDistributionVsPtFctn,1)
158 /***********************************************************************/
159 class AliHBTMonPDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
162 AliHBTMonPDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
163 Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
164 virtual ~AliHBTMonPDistributionVsPtFctn(){}
166 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
168 x = partparticle->Pt();
169 y = partparticle->P();
171 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();}
192 ClassDef(AliHBTMonPhiDistributionFctn,1)
196 /***********************************************************************/
197 class AliHBTMonThetaDistributionFctn: public AliHBTMonOneParticleFctn1D
200 AliHBTMonThetaDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
201 virtual ~AliHBTMonThetaDistributionFctn(){};
202 TH1* GetResult(){return fResult;}
204 Double_t GetValue(AliHBTParticle * particle) { return particle->Theta();}
206 ClassDef(AliHBTMonThetaDistributionFctn,1)
209 /***********************************************************************/
210 /***********************************************************************/
211 class AliHBTMonPhiDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
214 AliHBTMonPhiDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
215 Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0);
216 virtual ~AliHBTMonPhiDistributionVsPtFctn(){}
218 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
220 x = partparticle->Pt();
221 y = partparticle->Phi();
223 TH1* GetResult(){return fResult;}
227 ClassDef(AliHBTMonPhiDistributionVsPtFctn,1)
230 /***********************************************************************/
231 class AliHBTMonThetaDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
234 AliHBTMonThetaDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
235 Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0);
236 virtual ~AliHBTMonThetaDistributionVsPtFctn(){}
238 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
240 x = partparticle->Pt();
241 y = partparticle->Theta();
243 TH1* GetResult(){return fResult;}
246 ClassDef(AliHBTMonThetaDistributionVsPtFctn,1)
249 /***********************************************************************/
250 class AliHBTMonVxDistributionFctn: public AliHBTMonOneParticleFctn1D
253 AliHBTMonVxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
254 virtual ~AliHBTMonVxDistributionFctn(){};
255 TH1* GetResult(){return fResult;}
257 Double_t GetValue(AliHBTParticle * particle) { return particle->Vx();}
258 ClassDef(AliHBTMonVxDistributionFctn,1)
260 /***********************************************************************/
261 class AliHBTMonVyDistributionFctn: public AliHBTMonOneParticleFctn1D
264 AliHBTMonVyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
265 virtual ~AliHBTMonVyDistributionFctn(){};
266 TH1* GetResult(){return fResult;}
268 Double_t GetValue(AliHBTParticle * particle) { return particle->Vy();}
269 ClassDef(AliHBTMonVyDistributionFctn,1)
271 /***********************************************************************/
272 class AliHBTMonVzDistributionFctn: public AliHBTMonOneParticleFctn1D
275 AliHBTMonVzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 300, Double_t minXval = -300);
276 virtual ~AliHBTMonVzDistributionFctn(){};
277 TH1* GetResult(){return fResult;}
279 Double_t GetValue(AliHBTParticle * particle) { return particle->Vz();}
280 ClassDef(AliHBTMonVzDistributionFctn,1)
282 /***********************************************************************/
283 class AliHBTMonRDistributionFctn: public AliHBTMonOneParticleFctn1D
286 AliHBTMonRDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
287 virtual ~AliHBTMonRDistributionFctn(){};
288 TH1* GetResult(){return fResult;}
290 Double_t GetValue(AliHBTParticle * p) { return TMath::Sqrt(p->Vx()*p->Vx() + p->Vy()*p->Vy() + p->Vz()*p->Vz());}
291 ClassDef(AliHBTMonRDistributionFctn,1)
294 /***********************************************************************/
295 class AliHBTMonVyDistributionVsVxFctn: public AliHBTMonOneParticleFctn2D
298 AliHBTMonVyDistributionVsVxFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0,
299 Int_t nYbins = 200, Double_t maxYval = 10.0, Double_t minYval =-10.0);
300 virtual ~AliHBTMonVyDistributionVsVxFctn(){}
302 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
304 x = partparticle->Vx();
305 y = partparticle->Vy();
307 TH1* GetResult(){return fResult;}
310 ClassDef(AliHBTMonVyDistributionVsVxFctn,1)
314 class AliHBTMonRtDistributionVsVzFctn: public AliHBTMonOneParticleFctn2D
317 AliHBTMonRtDistributionVsVzFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0,
318 Int_t nYbins = 100, Double_t maxYval = 10.0, Double_t minYval = 0.0);
319 virtual ~AliHBTMonRtDistributionVsVzFctn(){}
321 void GetValues(AliHBTParticle* partparticle, Double_t& x, Double_t& y)
323 x = partparticle->Vz();
324 y = TMath::Hypot(partparticle->Vx(),partparticle->Vy());
326 TH1* GetResult(){return fResult;}
329 ClassDef(AliHBTMonRtDistributionVsVzFctn,1)
332 /***********************************************************************/
333 /***********************************************************************/
334 /***********************************************************************/