]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HBTAN/AliHBTMonResolutionFctns.h
Anti-Splitting Cut implemented
[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
56 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
57 {
58 return (partparticle->Px()-trackparticle->Px()) ;
59 }
60 TH1* GetResult(){return fResult;}
0fd4140b 61 ClassDef(AliHBTMonPxResolutionFctn,1)
a57afe91 62 };
63/***********************************************************************/
64class AliHBTMonPyResolutionFctn: public AliHBTMonTwoParticleFctn1D
65 {
66 public:
67 AliHBTMonPyResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
68 virtual ~AliHBTMonPyResolutionFctn(){}
69
70 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
71 {
72 return (partparticle->Py()-trackparticle->Py()) ;
73 }
74 TH1* GetResult(){return fResult;}
0fd4140b 75 ClassDef(AliHBTMonPyResolutionFctn,1)
a57afe91 76 };
77/***********************************************************************/
78class AliHBTMonPzResolutionFctn: public AliHBTMonTwoParticleFctn1D
79 {
80 public:
81 AliHBTMonPzResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
82 virtual ~AliHBTMonPzResolutionFctn(){}
83
84 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
85 {
86 return (partparticle->Pz()-trackparticle->Pz()) ;
87 }
88 TH1* GetResult(){return fResult;}
0fd4140b 89 ClassDef(AliHBTMonPzResolutionFctn,1)
a57afe91 90 };
91/***********************************************************************/
92class AliHBTMonPResolutionFctn: public AliHBTMonTwoParticleFctn1D
93 {
94 public:
95 AliHBTMonPResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
96 virtual ~AliHBTMonPResolutionFctn(){}
97
98 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
99 {
100 return (partparticle->P()-trackparticle->P()) ;
101 }
102 TH1* GetResult(){return fResult;}
0fd4140b 103 ClassDef(AliHBTMonPResolutionFctn,1)
a57afe91 104 };
105/***********************************************************************/
106class AliHBTMonPtResolutionFctn: public AliHBTMonTwoParticleFctn1D
107 {
108 public:
109 AliHBTMonPtResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
110 virtual ~AliHBTMonPtResolutionFctn(){}
111
112 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
113 {
114 return (partparticle->Pt()-trackparticle->Pt()) ;
115 }
116 TH1* GetResult(){return fResult;}
0fd4140b 117 ClassDef(AliHBTMonPtResolutionFctn,1)
a57afe91 118 };
119/***********************************************************************/
120/***********************************************************************/
121/***********************************************************************/
122class AliHBTMonPxResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
123 {
124 public:
125 AliHBTMonPxResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
126 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
127 virtual ~AliHBTMonPxResolutionVsPtFctn(){}
128 TH1* GetResult(){return fResult;}
129 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
130 {
131 x = partparticle->Pt();
132 y = partparticle->Px()-trackparticle->Px();
133 }
0fd4140b 134 ClassDef(AliHBTMonPxResolutionVsPtFctn,1)
a57afe91 135 };
136/***********************************************************************/
137class AliHBTMonPyResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
138 {
139 public:
140 AliHBTMonPyResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
141 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
142 virtual ~AliHBTMonPyResolutionVsPtFctn(){}
143 TH1* GetResult(){return fResult;}
144 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
145 {
146 x = partparticle->Pt();
147 y = partparticle->Py()-trackparticle->Py();
148 }
0fd4140b 149 ClassDef(AliHBTMonPyResolutionVsPtFctn,1)
a57afe91 150 };
151/***********************************************************************/
152class AliHBTMonPzResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
153 {
154 public:
155 AliHBTMonPzResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
156 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
157 virtual ~AliHBTMonPzResolutionVsPtFctn(){}
158 TH1* GetResult(){return fResult;}
159 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
160 {
161 x = partparticle->Pt();
162 y = partparticle->Pz()-trackparticle->Pz();
163 }
0fd4140b 164 ClassDef(AliHBTMonPzResolutionVsPtFctn,1)
a57afe91 165 };
166/***********************************************************************/
167class AliHBTMonPResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
168 {
169 public:
170 AliHBTMonPResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
171 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
172 virtual ~AliHBTMonPResolutionVsPtFctn(){}
173 TH1* GetResult(){return fResult;}
174 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
175 {
176 x = partparticle->Pt();
177 y = partparticle->P()-trackparticle->P();
178 }
179 protected:
180 private:
181 public:
182 ClassDef(AliHBTMonPResolutionVsPtFctn,1)
183 };
184/***********************************************************************/
185class AliHBTMonPtResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
186 {
187 public:
188 AliHBTMonPtResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
189 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
190 virtual ~AliHBTMonPtResolutionVsPtFctn(){}
191 TH1* GetResult(){return fResult;}
192 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
193 {
194 x = partparticle->Pt();
195 y = partparticle->Pt()-trackparticle->Pt();
196 }
0fd4140b 197 ClassDef(AliHBTMonPtResolutionVsPtFctn,1)
a57afe91 198 };
199/***********************************************************************/
200/***********************************************************************/
201/***********************************************************************/
202/***********************************************************************/
203class AliHBTMonPhiResolutionFctn: public AliHBTMonTwoParticleFctn1D
204 {
205 public:
206 AliHBTMonPhiResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
207 virtual ~AliHBTMonPhiResolutionFctn(){}
208
209 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
210 {
211 return (partparticle->Phi()-trackparticle->Phi()) ;
212 }
213 TH1* GetResult(){return fResult;}
0fd4140b 214 ClassDef(AliHBTMonPhiResolutionFctn,1)
a57afe91 215 };
216/***********************************************************************/
217class AliHBTMonThetaResolutionFctn: public AliHBTMonTwoParticleFctn1D
218 {
219 public:
220 AliHBTMonThetaResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
221 virtual ~AliHBTMonThetaResolutionFctn(){}
222
223 Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle)
224 {
225 return (partparticle->Theta()-trackparticle->Theta()) ;
226 }
227 TH1* GetResult(){return fResult;}
0fd4140b 228 ClassDef(AliHBTMonThetaResolutionFctn,1)
a57afe91 229 };
230/***********************************************************************/
231/***********************************************************************/
232class AliHBTMonPhiResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
233 {
234 public:
0fd4140b 235 AliHBTMonPhiResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0,
a57afe91 236 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
237 virtual ~AliHBTMonPhiResolutionVsPtFctn(){}
238 TH1* GetResult(){return fResult;}
239 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
240 {
241 x = partparticle->Pt();
242 y = partparticle->Phi()-trackparticle->Phi();
243 }
0fd4140b 244 ClassDef(AliHBTMonPhiResolutionVsPtFctn,1)
245 };
246/***********************************************************************/
247class AliHBTMonPhiResolutionVsPhiFctn: public AliHBTMonTwoParticleFctn2D
248 {
249 public:
250 AliHBTMonPhiResolutionVsPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0,
251 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
252 virtual ~AliHBTMonPhiResolutionVsPhiFctn(){}
253 TH1* GetResult(){return fResult;}
254 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
255 {
256 x = partparticle->Phi();
257 y = partparticle->Phi()-trackparticle->Phi();
258 }
259 ClassDef(AliHBTMonPhiResolutionVsPhiFctn,1)
a57afe91 260 };
261/***********************************************************************/
262class AliHBTMonThetaResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
263 {
264 public:
265 AliHBTMonThetaResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1,
266 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
267 virtual ~AliHBTMonThetaResolutionVsPtFctn(){}
268 TH1* GetResult(){return fResult;}
269 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
270 {
271 x = partparticle->Pt();
272 y = partparticle->Theta()-trackparticle->Theta();
273 }
0fd4140b 274 ClassDef(AliHBTMonThetaResolutionVsPtFctn,1)
a57afe91 275 };
0fd4140b 276
277/***********************************************************************/
278class AliHBTMonThetaResolutionVsThetaFctn: public AliHBTMonTwoParticleFctn2D
279 {
280 public:
281 AliHBTMonThetaResolutionVsThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(),
282 Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
283 virtual ~AliHBTMonThetaResolutionVsThetaFctn(){}
284 TH1* GetResult(){return fResult;}
285 void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
286 {
287 y = partparticle->Theta()-trackparticle->Theta();
288 x = partparticle->Theta();
289 }
290 ClassDef(AliHBTMonThetaResolutionVsThetaFctn,1)
291 };
292/***********************************************************************/
a57afe91 293/***********************************************************************/
294/***********************************************************************/
295/***********************************************************************/
296/***********************************************************************/
297/***********************************************************************/
298/***********************************************************************/
299/***********************************************************************/
300/***********************************************************************/
301/***********************************************************************/
302
303#endif