Incrementing class versions
[u/mrichter/AliRoot.git] / HBTAN / AliHBTMonResolutionFctns.h
CommitLineData
0fd4140b 1#ifndef ALIHBTMONRESOLUTIONFCTNS_H
2#define ALIHBTMONRESOLUTIONFCTNS_H
3//_______________________________________________________________________________
4/////////////////////////////////////////////////////////////////////////////////
5//
6// class AliHBTMonPxResolutionFctn;
7// class AliHBTMonPyResolutionFctn;
8// class AliHBTMonPzResolutionFctn;
9// class AliHBTMonPResolutionFctn;
10// class AliHBTMonPtResolutionFctn;
11// class AliHBTMonPhiResolutionFctn;
12// class AliHBTMonThetaResolutionFctn;
13// class AliHBTMonPxResolutionVsPtFctn;
14// class AliHBTMonPyResolutionVsPtFctn;
15// class AliHBTMonPzResolutionVsPtFctn;
16// class AliHBTMonPResolutionVsPtFctn;
17// class AliHBTMonPtResolutionVsPtFctn;
18// class AliHBTMonPhiResolutionVsPtFctn;
19// class AliHBTMonThetaResolutionVsPtFctn;
20//
21// Caution: On 2D plots on X axis in simulated values
22// That is contrary to two-particle resolutions where it is reconstructed one
23//
a57afe91 24// added by Zbigniew.Chajecki@cern.ch
25// this classes create resolution functions of particle momentum
0fd4140b 26//
27//////////////////////////////////////////////////////////////////////////////////
a57afe91 28
29class AliHBTMonPxResolutionFctn;
30class AliHBTMonPyResolutionFctn;
31class AliHBTMonPzResolutionFctn;
32class AliHBTMonPResolutionFctn;
33class AliHBTMonPtResolutionFctn;
34class AliHBTMonPhiResolutionFctn;
35class AliHBTMonThetaResolutionFctn;
36
37class AliHBTMonPxResolutionVsPtFctn;
38class AliHBTMonPyResolutionVsPtFctn;
39class AliHBTMonPzResolutionVsPtFctn;
40class AliHBTMonPResolutionVsPtFctn;
41class AliHBTMonPtResolutionVsPtFctn;
42class AliHBTMonPhiResolutionVsPtFctn;
43class AliHBTMonThetaResolutionVsPtFctn;
44
45
46#include "AliHBTMonitorFunction.h"
47/***********************************************************************/
48/***********************************************************************/
49/***********************************************************************/
50class AliHBTMonPxResolutionFctn: public AliHBTMonTwoParticleFctn1D
51 {
52 public:
53 AliHBTMonPxResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
54 virtual ~AliHBTMonPxResolutionFctn(){}
55
78d7c6d3 56 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
a57afe91 57 {
58 return (partparticle->Px()-trackparticle->Px()) ;
59 }
0fd4140b 60 ClassDef(AliHBTMonPxResolutionFctn,1)
a57afe91 61 };
62/***********************************************************************/
63class AliHBTMonPyResolutionFctn: public AliHBTMonTwoParticleFctn1D
64 {
65 public:
66 AliHBTMonPyResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
67 virtual ~AliHBTMonPyResolutionFctn(){}
68
78d7c6d3 69 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
a57afe91 70 {
71 return (partparticle->Py()-trackparticle->Py()) ;
72 }
0fd4140b 73 ClassDef(AliHBTMonPyResolutionFctn,1)
a57afe91 74 };
75/***********************************************************************/
76class AliHBTMonPzResolutionFctn: public AliHBTMonTwoParticleFctn1D
77 {
78 public:
79 AliHBTMonPzResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
80 virtual ~AliHBTMonPzResolutionFctn(){}
81
78d7c6d3 82 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
a57afe91 83 {
84 return (partparticle->Pz()-trackparticle->Pz()) ;
85 }
0fd4140b 86 ClassDef(AliHBTMonPzResolutionFctn,1)
a57afe91 87 };
88/***********************************************************************/
89class AliHBTMonPResolutionFctn: public AliHBTMonTwoParticleFctn1D
90 {
91 public:
92 AliHBTMonPResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
93 virtual ~AliHBTMonPResolutionFctn(){}
94
78d7c6d3 95 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
a57afe91 96 {
97 return (partparticle->P()-trackparticle->P()) ;
98 }
0fd4140b 99 ClassDef(AliHBTMonPResolutionFctn,1)
a57afe91 100 };
101/***********************************************************************/
102class AliHBTMonPtResolutionFctn: public AliHBTMonTwoParticleFctn1D
103 {
104 public:
105 AliHBTMonPtResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
106 virtual ~AliHBTMonPtResolutionFctn(){}
107
78d7c6d3 108 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
a57afe91 109 {
110 return (partparticle->Pt()-trackparticle->Pt()) ;
111 }
0fd4140b 112 ClassDef(AliHBTMonPtResolutionFctn,1)
a57afe91 113 };
114/***********************************************************************/
115/***********************************************************************/
116/***********************************************************************/
117class AliHBTMonPxResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
118 {
119 public:
120 AliHBTMonPxResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
121 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
122 virtual ~AliHBTMonPxResolutionVsPtFctn(){}
78d7c6d3 123 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 124 {
125 x = partparticle->Pt();
126 y = partparticle->Px()-trackparticle->Px();
127 }
0fd4140b 128 ClassDef(AliHBTMonPxResolutionVsPtFctn,1)
a57afe91 129 };
130/***********************************************************************/
131class AliHBTMonPyResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
132 {
133 public:
134 AliHBTMonPyResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
135 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
136 virtual ~AliHBTMonPyResolutionVsPtFctn(){}
78d7c6d3 137 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 138 {
139 x = partparticle->Pt();
140 y = partparticle->Py()-trackparticle->Py();
141 }
0fd4140b 142 ClassDef(AliHBTMonPyResolutionVsPtFctn,1)
a57afe91 143 };
144/***********************************************************************/
145class AliHBTMonPzResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
146 {
147 public:
148 AliHBTMonPzResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
149 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
150 virtual ~AliHBTMonPzResolutionVsPtFctn(){}
78d7c6d3 151 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 152 {
153 x = partparticle->Pt();
154 y = partparticle->Pz()-trackparticle->Pz();
155 }
0fd4140b 156 ClassDef(AliHBTMonPzResolutionVsPtFctn,1)
a57afe91 157 };
158/***********************************************************************/
159class AliHBTMonPResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
160 {
161 public:
162 AliHBTMonPResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
163 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
164 virtual ~AliHBTMonPResolutionVsPtFctn(){}
78d7c6d3 165 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 166 {
167 x = partparticle->Pt();
168 y = partparticle->P()-trackparticle->P();
169 }
170 protected:
171 private:
a57afe91 172 ClassDef(AliHBTMonPResolutionVsPtFctn,1)
173 };
174/***********************************************************************/
175class AliHBTMonPtResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
176 {
177 public:
178 AliHBTMonPtResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
179 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
180 virtual ~AliHBTMonPtResolutionVsPtFctn(){}
78d7c6d3 181 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 182 {
183 x = partparticle->Pt();
184 y = partparticle->Pt()-trackparticle->Pt();
185 }
0fd4140b 186 ClassDef(AliHBTMonPtResolutionVsPtFctn,1)
a57afe91 187 };
188/***********************************************************************/
189/***********************************************************************/
190/***********************************************************************/
191/***********************************************************************/
192class AliHBTMonPhiResolutionFctn: public AliHBTMonTwoParticleFctn1D
193 {
194 public:
195 AliHBTMonPhiResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
196 virtual ~AliHBTMonPhiResolutionFctn(){}
197
78d7c6d3 198 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
a57afe91 199 {
200 return (partparticle->Phi()-trackparticle->Phi()) ;
201 }
0fd4140b 202 ClassDef(AliHBTMonPhiResolutionFctn,1)
a57afe91 203 };
204/***********************************************************************/
205class AliHBTMonThetaResolutionFctn: public AliHBTMonTwoParticleFctn1D
206 {
207 public:
208 AliHBTMonThetaResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
209 virtual ~AliHBTMonThetaResolutionFctn(){}
210
78d7c6d3 211 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
a57afe91 212 {
213 return (partparticle->Theta()-trackparticle->Theta()) ;
214 }
0fd4140b 215 ClassDef(AliHBTMonThetaResolutionFctn,1)
a57afe91 216 };
217/***********************************************************************/
218/***********************************************************************/
219class AliHBTMonPhiResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
220 {
221 public:
0fd4140b 222 AliHBTMonPhiResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0,
a57afe91 223 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
224 virtual ~AliHBTMonPhiResolutionVsPtFctn(){}
78d7c6d3 225 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 226 {
227 x = partparticle->Pt();
228 y = partparticle->Phi()-trackparticle->Phi();
229 }
0fd4140b 230 ClassDef(AliHBTMonPhiResolutionVsPtFctn,1)
231 };
232/***********************************************************************/
233class AliHBTMonPhiResolutionVsPhiFctn: public AliHBTMonTwoParticleFctn2D
234 {
235 public:
236 AliHBTMonPhiResolutionVsPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0,
237 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
238 virtual ~AliHBTMonPhiResolutionVsPhiFctn(){}
78d7c6d3 239 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
0fd4140b 240 {
241 x = partparticle->Phi();
242 y = partparticle->Phi()-trackparticle->Phi();
243 }
244 ClassDef(AliHBTMonPhiResolutionVsPhiFctn,1)
a57afe91 245 };
246/***********************************************************************/
247class AliHBTMonThetaResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
248 {
249 public:
250 AliHBTMonThetaResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
251 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
252 virtual ~AliHBTMonThetaResolutionVsPtFctn(){}
78d7c6d3 253 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
a57afe91 254 {
255 x = partparticle->Pt();
256 y = partparticle->Theta()-trackparticle->Theta();
257 }
0fd4140b 258 ClassDef(AliHBTMonThetaResolutionVsPtFctn,1)
a57afe91 259 };
0fd4140b 260
261/***********************************************************************/
262class AliHBTMonThetaResolutionVsThetaFctn: public AliHBTMonTwoParticleFctn2D
263 {
264 public:
265 AliHBTMonThetaResolutionVsThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(),
266 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
267 virtual ~AliHBTMonThetaResolutionVsThetaFctn(){}
78d7c6d3 268 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
0fd4140b 269 {
270 y = partparticle->Theta()-trackparticle->Theta();
271 x = partparticle->Theta();
272 }
273 ClassDef(AliHBTMonThetaResolutionVsThetaFctn,1)
274 };
275/***********************************************************************/
a57afe91 276/***********************************************************************/
277/***********************************************************************/
278/***********************************************************************/
279/***********************************************************************/
280/***********************************************************************/
281/***********************************************************************/
282/***********************************************************************/
283/***********************************************************************/
284/***********************************************************************/
285
286#endif