]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HBTAN/AliHBTMonResolutionFctns.h
New treatment of the cluster coordinate (Christoph)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTMonResolutionFctns.h
... / ...
CommitLineData
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//
24// added by Zbigniew.Chajecki@cern.ch
25// this classes create resolution functions of particle momentum
26//
27//////////////////////////////////////////////////////////////////////////////////
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
56 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
57 {
58 return (partparticle->Px()-trackparticle->Px()) ;
59 }
60 ClassDef(AliHBTMonPxResolutionFctn,1)
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
69 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
70 {
71 return (partparticle->Py()-trackparticle->Py()) ;
72 }
73 ClassDef(AliHBTMonPyResolutionFctn,1)
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
82 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
83 {
84 return (partparticle->Pz()-trackparticle->Pz()) ;
85 }
86 ClassDef(AliHBTMonPzResolutionFctn,1)
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
95 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
96 {
97 return (partparticle->P()-trackparticle->P()) ;
98 }
99 ClassDef(AliHBTMonPResolutionFctn,1)
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
108 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
109 {
110 return (partparticle->Pt()-trackparticle->Pt()) ;
111 }
112 ClassDef(AliHBTMonPtResolutionFctn,1)
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(){}
123 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
124 {
125 x = partparticle->Pt();
126 y = partparticle->Px()-trackparticle->Px();
127 }
128 ClassDef(AliHBTMonPxResolutionVsPtFctn,1)
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(){}
137 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
138 {
139 x = partparticle->Pt();
140 y = partparticle->Py()-trackparticle->Py();
141 }
142 ClassDef(AliHBTMonPyResolutionVsPtFctn,1)
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(){}
151 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
152 {
153 x = partparticle->Pt();
154 y = partparticle->Pz()-trackparticle->Pz();
155 }
156 ClassDef(AliHBTMonPzResolutionVsPtFctn,1)
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(){}
165 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
166 {
167 x = partparticle->Pt();
168 y = partparticle->P()-trackparticle->P();
169 }
170 protected:
171 private:
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(){}
181 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
182 {
183 x = partparticle->Pt();
184 y = partparticle->Pt()-trackparticle->Pt();
185 }
186 ClassDef(AliHBTMonPtResolutionVsPtFctn,1)
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
198 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
199 {
200 return (partparticle->Phi()-trackparticle->Phi()) ;
201 }
202 ClassDef(AliHBTMonPhiResolutionFctn,1)
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
211 Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const
212 {
213 return (partparticle->Theta()-trackparticle->Theta()) ;
214 }
215 ClassDef(AliHBTMonThetaResolutionFctn,1)
216 };
217/***********************************************************************/
218/***********************************************************************/
219class AliHBTMonPhiResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
220 {
221 public:
222 AliHBTMonPhiResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0,
223 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
224 virtual ~AliHBTMonPhiResolutionVsPtFctn(){}
225 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
226 {
227 x = partparticle->Pt();
228 y = partparticle->Phi()-trackparticle->Phi();
229 }
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(){}
239 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
240 {
241 x = partparticle->Phi();
242 y = partparticle->Phi()-trackparticle->Phi();
243 }
244 ClassDef(AliHBTMonPhiResolutionVsPhiFctn,1)
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(){}
253 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
254 {
255 x = partparticle->Pt();
256 y = partparticle->Theta()-trackparticle->Theta();
257 }
258 ClassDef(AliHBTMonThetaResolutionVsPtFctn,1)
259 };
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(){}
268 void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const
269 {
270 y = partparticle->Theta()-trackparticle->Theta();
271 x = partparticle->Theta();
272 }
273 ClassDef(AliHBTMonThetaResolutionVsThetaFctn,1)
274 };
275/***********************************************************************/
276/***********************************************************************/
277/***********************************************************************/
278/***********************************************************************/
279/***********************************************************************/
280/***********************************************************************/
281/***********************************************************************/
282/***********************************************************************/
283/***********************************************************************/
284/***********************************************************************/
285
286#endif