]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HBTAN/AliHBTMonResolutionFctns.h
Missing include
[u/mrichter/AliRoot.git] / HBTAN / AliHBTMonResolutionFctns.h
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
29 class AliHBTMonPxResolutionFctn;
30 class AliHBTMonPyResolutionFctn;
31 class AliHBTMonPzResolutionFctn;
32 class AliHBTMonPResolutionFctn;
33 class AliHBTMonPtResolutionFctn;
34 class AliHBTMonPhiResolutionFctn;
35 class AliHBTMonThetaResolutionFctn;
36
37 class AliHBTMonPxResolutionVsPtFctn;
38 class AliHBTMonPyResolutionVsPtFctn;
39 class AliHBTMonPzResolutionVsPtFctn;
40 class AliHBTMonPResolutionVsPtFctn;
41 class AliHBTMonPtResolutionVsPtFctn;
42 class AliHBTMonPhiResolutionVsPtFctn;
43 class AliHBTMonThetaResolutionVsPtFctn;
44
45
46 #include "AliHBTMonitorFunction.h"
47 /***********************************************************************/
48 /***********************************************************************/
49 /***********************************************************************/
50 class 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;} 
61    ClassDef(AliHBTMonPxResolutionFctn,1)
62  };
63 /***********************************************************************/
64 class 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;} 
75    ClassDef(AliHBTMonPyResolutionFctn,1)
76  };
77 /***********************************************************************/
78 class 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;} 
89    ClassDef(AliHBTMonPzResolutionFctn,1)
90  };
91 /***********************************************************************/
92 class 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;} 
103    ClassDef(AliHBTMonPResolutionFctn,1)
104  };
105 /***********************************************************************/
106 class 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;} 
117    ClassDef(AliHBTMonPtResolutionFctn,1)
118  };
119 /***********************************************************************/
120 /***********************************************************************/
121 /***********************************************************************/
122 class 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     }
134    ClassDef(AliHBTMonPxResolutionVsPtFctn,1)
135  };
136 /***********************************************************************/
137 class 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     }
149    ClassDef(AliHBTMonPyResolutionVsPtFctn,1)
150  };
151 /***********************************************************************/
152 class 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     }
164    ClassDef(AliHBTMonPzResolutionVsPtFctn,1)
165  };
166 /***********************************************************************/
167 class 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     ClassDef(AliHBTMonPResolutionVsPtFctn,1)
182  };
183 /***********************************************************************/
184 class AliHBTMonPtResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
185  {
186   public: 
187    AliHBTMonPtResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, 
188                              Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
189    virtual ~AliHBTMonPtResolutionVsPtFctn(){}
190    TH1* GetResult(){return fResult;}
191    void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
192     {
193      x = partparticle->Pt();
194      y = partparticle->Pt()-trackparticle->Pt();
195     }
196    ClassDef(AliHBTMonPtResolutionVsPtFctn,1)
197  };
198 /***********************************************************************/
199 /***********************************************************************/
200 /***********************************************************************/
201 /***********************************************************************/
202 class AliHBTMonPhiResolutionFctn: public AliHBTMonTwoParticleFctn1D
203  {
204   public: 
205    AliHBTMonPhiResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
206    virtual ~AliHBTMonPhiResolutionFctn(){}
207
208    Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle) 
209      { 
210         return (partparticle->Phi()-trackparticle->Phi()) ;
211      } 
212    TH1* GetResult(){return fResult;} 
213    ClassDef(AliHBTMonPhiResolutionFctn,1)
214  };
215 /***********************************************************************/
216 class AliHBTMonThetaResolutionFctn: public AliHBTMonTwoParticleFctn1D
217  {
218   public: 
219    AliHBTMonThetaResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05);
220    virtual ~AliHBTMonThetaResolutionFctn(){}
221
222    Double_t GetValue(AliHBTParticle * trackparticle,AliHBTParticle * partparticle) 
223      { 
224         return (partparticle->Theta()-trackparticle->Theta()) ;
225      } 
226    TH1* GetResult(){return fResult;} 
227    ClassDef(AliHBTMonThetaResolutionFctn,1)
228  };
229 /***********************************************************************/
230 /***********************************************************************/
231 class AliHBTMonPhiResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
232  {
233   public: 
234    AliHBTMonPhiResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0, 
235                              Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
236    virtual ~AliHBTMonPhiResolutionVsPtFctn(){}
237    TH1* GetResult(){return fResult;}
238    void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
239     {
240      x = partparticle->Pt();
241      y = partparticle->Phi()-trackparticle->Phi();
242     }
243    ClassDef(AliHBTMonPhiResolutionVsPtFctn,1)
244  };
245 /***********************************************************************/
246 class AliHBTMonPhiResolutionVsPhiFctn: public AliHBTMonTwoParticleFctn2D
247  {
248   public: 
249    AliHBTMonPhiResolutionVsPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0,
250                              Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
251    virtual ~AliHBTMonPhiResolutionVsPhiFctn(){}
252    TH1* GetResult(){return fResult;}
253    void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
254     {
255      x = partparticle->Phi();
256      y = partparticle->Phi()-trackparticle->Phi();
257     }
258    ClassDef(AliHBTMonPhiResolutionVsPhiFctn,1)
259  };
260 /***********************************************************************/
261 class AliHBTMonThetaResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D
262  {
263   public: 
264    AliHBTMonThetaResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, 
265                              Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
266    virtual ~AliHBTMonThetaResolutionVsPtFctn(){}
267    TH1* GetResult(){return fResult;}
268    void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
269     {
270      x = partparticle->Pt();
271      y = partparticle->Theta()-trackparticle->Theta();
272     }
273    ClassDef(AliHBTMonThetaResolutionVsPtFctn,1)
274  };
275
276 /***********************************************************************/
277 class AliHBTMonThetaResolutionVsThetaFctn: public AliHBTMonTwoParticleFctn2D
278  {
279   public: 
280    AliHBTMonThetaResolutionVsThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(),
281                              Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05);
282    virtual ~AliHBTMonThetaResolutionVsThetaFctn(){}
283    TH1* GetResult(){return fResult;}
284    void GetValues(AliHBTParticle* trackparticle, AliHBTParticle* partparticle, Double_t& x, Double_t& y)
285     {
286      y = partparticle->Theta()-trackparticle->Theta();
287      x = partparticle->Theta();
288     }
289    ClassDef(AliHBTMonThetaResolutionVsThetaFctn,1)
290  };
291 /***********************************************************************/
292 /***********************************************************************/
293 /***********************************************************************/
294 /***********************************************************************/
295 /***********************************************************************/
296 /***********************************************************************/
297 /***********************************************************************/
298 /***********************************************************************/
299 /***********************************************************************/
300 /***********************************************************************/
301
302 #endif