Updates in GRP Preprocessor (Ernesto)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTMonDistributionFctns.h
CommitLineData
58ee8590 1#ifndef ALIHBTMONDISTRIBUTIONFCTNS_H
2#define ALIHBTMONDISTRIBUTIONFCTNS_H
37b09b91 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
58ee8590 8//______________________________________________________________
9////////////////////////////////////////////////////////////////
10//
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;
26//
a57afe91 27// added by Zbigniew.Chajecki@cern.ch
58ee8590 28// this classes create distribution functions of particle momentum
29//
30/////////////////////////////////////////////////////////////////
a57afe91 31
32class AliHBTMonPxDistributionFctn;
33class AliHBTMonPxDistributionVsPtFctn;
34class AliHBTMonPyDistributionFctn;
35class AliHBTMonPyDistributionVsPtFctn;
36class AliHBTMonPzDistributionFctn;
37class AliHBTMonPzDistributionVsPtFctn;
38class AliHBTMonPDistributionFctn;
39class AliHBTMonPDistributionVsPtFctn;
40class AliHBTMonPtDistributionFctn;
41
88cb7938 42class AliHBTMonVxDistributionFctn;
43class AliHBTMonVyDistributionFctn;
44class AliHBTMonVzDistributionFctn;
45class AliHBTMonRDistributionFctn;
46
47class AliHBTMonVyDistributionVsVxFctn;
48class AliHBTMonRtDistributionVsVzFctn;
49
37b09b91 50#include <TMath.h>
51
a57afe91 52#include "AliHBTMonitorFunction.h"
53/***********************************************************************/
54/***********************************************************************/
55/*************************************************************************************/
56
57class AliHBTMonPxDistributionFctn: public AliHBTMonOneParticleFctn1D
58{
59 public:
60 AliHBTMonPxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
61 virtual ~AliHBTMonPxDistributionFctn(){};
a57afe91 62 protected:
78d7c6d3 63 Double_t GetValue(AliVAODParticle * particle) const;
58ee8590 64 ClassDef(AliHBTMonPxDistributionFctn,1)
a57afe91 65};
66/*************************************************************************************/
67
68class AliHBTMonPyDistributionFctn: public AliHBTMonOneParticleFctn1D
69{
70 public:
71 AliHBTMonPyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
72 virtual ~AliHBTMonPyDistributionFctn(){};
a57afe91 73 protected:
78d7c6d3 74 Double_t GetValue(AliVAODParticle * particle) const { return particle->Py();}
58ee8590 75 ClassDef(AliHBTMonPyDistributionFctn,1)
a57afe91 76};
77/*************************************************************************************/
78
79class AliHBTMonPzDistributionFctn: public AliHBTMonOneParticleFctn1D
80{
81 public:
82 AliHBTMonPzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
83 virtual ~AliHBTMonPzDistributionFctn(){};
a57afe91 84 protected:
78d7c6d3 85 Double_t GetValue(AliVAODParticle * particle) const { return particle->Pz();}
58ee8590 86 ClassDef(AliHBTMonPzDistributionFctn,1)
a57afe91 87
88};
89/*************************************************************************************/
90
91class AliHBTMonPDistributionFctn: public AliHBTMonOneParticleFctn1D
92{
93 public:
94 AliHBTMonPDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
95 virtual ~AliHBTMonPDistributionFctn(){};
a57afe91 96 protected:
78d7c6d3 97 Double_t GetValue(AliVAODParticle * particle) const { return particle->P();}
58ee8590 98 ClassDef(AliHBTMonPDistributionFctn,1)
a57afe91 99
100};
101/*************************************************************************************/
102
103class AliHBTMonPtDistributionFctn: public AliHBTMonOneParticleFctn1D
104{
105 public:
106 AliHBTMonPtDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
107 virtual ~AliHBTMonPtDistributionFctn(){};
a57afe91 108 protected:
78d7c6d3 109 Double_t GetValue(AliVAODParticle * particle) const { return particle->Pt();}
58ee8590 110 ClassDef(AliHBTMonPtDistributionFctn,1)
a57afe91 111};
112
113/***********************************************************************/
114class AliHBTMonPxDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
115 {
116 public:
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(){}
120
78d7c6d3 121 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 122 {
58ee8590 123 x = partparticle->Pt();
124 y = partparticle->Px();
a57afe91 125 }
58ee8590 126 ClassDef(AliHBTMonPxDistributionVsPtFctn,1)
a57afe91 127 };
128
129/***********************************************************************/
130class AliHBTMonPyDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
131 {
132 public:
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(){}
136
78d7c6d3 137 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 138 {
139 x = partparticle->Pt();
140 y = partparticle->Py();
141 }
58ee8590 142 ClassDef(AliHBTMonPyDistributionVsPtFctn,1)
a57afe91 143 };
144/***********************************************************************/
145class AliHBTMonPzDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
146 {
147 public:
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(){}
151
78d7c6d3 152 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 153 {
154 x = partparticle->Pt();
155 y = partparticle->Pz();
156 }
58ee8590 157 ClassDef(AliHBTMonPzDistributionVsPtFctn,1)
a57afe91 158 };
159
160/***********************************************************************/
161class AliHBTMonPDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
162 {
163 public:
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(){}
167
78d7c6d3 168 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 169 {
170 x = partparticle->Pt();
171 y = partparticle->P();
172 }
58ee8590 173 ClassDef(AliHBTMonPDistributionVsPtFctn,1)
a57afe91 174 };
175
176/***********************************************************************/
177/***********************************************************************/
178/***********************************************************************/
179/***********************************************************************/
180
181class AliHBTMonPhiDistributionFctn: public AliHBTMonOneParticleFctn1D
182{
183 public:
184 AliHBTMonPhiDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
185 virtual ~AliHBTMonPhiDistributionFctn(){};
a57afe91 186 protected:
78d7c6d3 187 Double_t GetValue(AliVAODParticle * particle) const { return particle->Phi();}
58ee8590 188 ClassDef(AliHBTMonPhiDistributionFctn,1)
a57afe91 189};
190
191/***********************************************************************/
192class AliHBTMonThetaDistributionFctn: public AliHBTMonOneParticleFctn1D
193{
194 public:
195 AliHBTMonThetaDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
196 virtual ~AliHBTMonThetaDistributionFctn(){};
a57afe91 197 protected:
78d7c6d3 198 Double_t GetValue(AliVAODParticle * particle) const { return particle->Theta();}
58ee8590 199 ClassDef(AliHBTMonThetaDistributionFctn,1)
a57afe91 200
201};
202/***********************************************************************/
203/***********************************************************************/
204class AliHBTMonPhiDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
205 {
206 public:
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(){}
210
78d7c6d3 211 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 212 {
213 x = partparticle->Pt();
214 y = partparticle->Phi();
215 }
58ee8590 216 ClassDef(AliHBTMonPhiDistributionVsPtFctn,1)
a57afe91 217 };
218
219/***********************************************************************/
220class AliHBTMonThetaDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
88cb7938 221{
a57afe91 222 public:
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(){}
226
78d7c6d3 227 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 228 {
229 x = partparticle->Pt();
230 y = partparticle->Theta();
231 }
a57afe91 232 ClassDef(AliHBTMonThetaDistributionVsPtFctn,1)
233 };
234
235/***********************************************************************/
88cb7938 236class AliHBTMonVxDistributionFctn: public AliHBTMonOneParticleFctn1D
237{
238 public:
239 AliHBTMonVxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
240 virtual ~AliHBTMonVxDistributionFctn(){};
88cb7938 241 protected:
78d7c6d3 242 Double_t GetValue(AliVAODParticle * particle) const{ return particle->Vx();}
88cb7938 243 ClassDef(AliHBTMonVxDistributionFctn,1)
244};
a57afe91 245/***********************************************************************/
88cb7938 246class AliHBTMonVyDistributionFctn: public AliHBTMonOneParticleFctn1D
247{
248 public:
249 AliHBTMonVyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
250 virtual ~AliHBTMonVyDistributionFctn(){};
88cb7938 251 protected:
78d7c6d3 252 Double_t GetValue(AliVAODParticle * particle) const { return particle->Vy();}
88cb7938 253 ClassDef(AliHBTMonVyDistributionFctn,1)
254};
255/***********************************************************************/
256class AliHBTMonVzDistributionFctn: public AliHBTMonOneParticleFctn1D
257{
258 public:
259 AliHBTMonVzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 300, Double_t minXval = -300);
260 virtual ~AliHBTMonVzDistributionFctn(){};
88cb7938 261 protected:
78d7c6d3 262 Double_t GetValue(AliVAODParticle * particle) const { return particle->Vz();}
88cb7938 263 ClassDef(AliHBTMonVzDistributionFctn,1)
264};
265/***********************************************************************/
266class AliHBTMonRDistributionFctn: public AliHBTMonOneParticleFctn1D
267{
268 public:
269 AliHBTMonRDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
270 virtual ~AliHBTMonRDistributionFctn(){};
88cb7938 271 protected:
78d7c6d3 272 Double_t GetValue(AliVAODParticle * p) const { return TMath::Sqrt(p->Vx()*p->Vx() + p->Vy()*p->Vy() + p->Vz()*p->Vz());}
88cb7938 273 ClassDef(AliHBTMonRDistributionFctn,1)
274};
275
276/***********************************************************************/
277class AliHBTMonVyDistributionVsVxFctn: public AliHBTMonOneParticleFctn2D
278{
279 public:
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(){}
283
78d7c6d3 284 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
88cb7938 285 {
286 x = partparticle->Vx();
287 y = partparticle->Vy();
288 }
88cb7938 289 ClassDef(AliHBTMonVyDistributionVsVxFctn,1)
290 };
291
292
293class AliHBTMonRtDistributionVsVzFctn: public AliHBTMonOneParticleFctn2D
294{
295 public:
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(){}
299
78d7c6d3 300 void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
88cb7938 301 {
302 x = partparticle->Vz();
303 y = TMath::Hypot(partparticle->Vx(),partparticle->Vy());
304 }
88cb7938 305 ClassDef(AliHBTMonRtDistributionVsVzFctn,1)
306 };
307
a57afe91 308/***********************************************************************/
309/***********************************************************************/
a57afe91 310
311#endif