]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HBTAN/AliHBTQResolutionFctns.h
Corrections to obey the coding conventions
[u/mrichter/AliRoot.git] / HBTAN / AliHBTQResolutionFctns.h
1 #ifndef ALIHBTQOUTVsQINVRESOLFCTN_H
2 #define ALIHBTQOUTVsQINVRESOLFCTN_H
3 //General Remark:
4 //CMSLC means
5 //Center of Mass System Longitudially Co-moving
6
7
8 //this class creates resolution function of Qout 
9 //(difference of simulated pair Qout and recontructed pair)
10 //in function of QInv
11 //it inherits from AliHBTTwoPairFctn2D
12 //  it needs two pairs to compare
13 //  and is two dimentional: numerator and denominator are TH2D
14
15 class AliHBTKtResolVsQInvFctn;  //Kt Res   Vs   QInvCMSLC 
16
17 class AliHBTQOutResolVsQInvFctn;  //QOutCMSLC  Res   Vs   QInvCMSLC 
18 class AliHBTQSideResolVsQInvFctn; //QSideCMSLC Res   Vs   QInvCMSLC 
19 class AliHBTQLongResolVsQInvFctn; //QLongCMSLC Res   Vs   QInvCMSLC 
20 class AliHBTQInvResolVsQInvFctn;  //QInvCMSLC Res   Vs   QInvCMSLC 
21
22 class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res   Vs   QInvCMSLC
23 class AliHBTPairPhiResolVsQInvFctn;  //PairPhi   Res   Vs   QInvCMSLC
24
25 class AliHBTQInvResolVsKtFctn;    //QInvCMSLC  Res   Vs   Kt
26 class AliHBTQOutResolVsKtFctn;    //QOutCMSLC  Res   Vs   Kt
27 class AliHBTQSideResolVsKtFctn;   //QSideCMSLC Res   Vs   Kt
28 class AliHBTQLongResolVsKtFctn;   //QLongCMSLC Res   Vs   Kt
29
30 class AliHBTPairThetaResolVsKtFctn;   //PairTheta Res   Vs   Kt
31 class AliHBTPairPhiResolVsKtFctn;   //PairPhi Res   Vs   Kt
32
33
34 class AliHBTQOutResolVsQOutFctn;  //QOutCMSLC  Res   Vs   QOut
35 class AliHBTQSideResolVsQSideFctn;//QSideCMSLC Res   Vs   QSide
36 class AliHBTQLongResolVsQLongFctn;//QLongCMSLC Res   Vs   QLong
37
38
39  
40 #include "AliHBTFunction.h"
41 /***********************************************************************/
42 /***********************************************************************/
43 class AliHBTKtResolVsQInvFctn: public AliHBTTwoPairFctn2D
44  {
45   public: 
46    AliHBTKtResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
47                            Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
48    
49    virtual ~AliHBTKtResolVsQInvFctn(){}
50    
51    TH1* GetResult(){return fNumerator;}  
52    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
53     {
54      y = partpair->GetKt() - trackpair->GetKt();
55      x = partpair->GetQInv();
56     }
57   protected:
58   private: 
59   public:
60     ClassDef(AliHBTKtResolVsQInvFctn,1)
61  };
62
63
64 /***********************************************************************/
65 /***********************************************************************/
66 class AliHBTQInvResolVsQInvFctn: public AliHBTTwoPairFctn2D
67  {
68   public: 
69    AliHBTQInvResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
70                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
71    
72    virtual ~AliHBTQInvResolVsQInvFctn(){}
73    
74    TH1* GetResult(){return fNumerator;}  
75    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
76     {
77      y = partpair->GetQInv() - trackpair->GetQInv();
78      x = partpair->GetQInv();
79     }
80   protected:
81   private: 
82   public:
83     ClassDef(AliHBTQInvResolVsQInvFctn,1)
84  };
85
86
87 /***********************************************************************/
88 /***********************************************************************/
89 class AliHBTQOutResolVsQInvFctn: public AliHBTTwoPairFctn2D
90  {
91   public: 
92    AliHBTQOutResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
93                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
94    
95    virtual ~AliHBTQOutResolVsQInvFctn(){}
96    
97    TH1* GetResult(){return fNumerator;}  
98    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
99     {
100      y = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
101      x = partpair->GetQInv();
102     }
103   protected:
104   private: 
105   public:
106     ClassDef(AliHBTQOutResolVsQInvFctn,1)
107  };
108
109 /***********************************************************************/
110 /***********************************************************************/
111 class AliHBTQSideResolVsQInvFctn: public AliHBTTwoPairFctn2D
112  {
113   public: 
114    AliHBTQSideResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
115                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
116    virtual ~AliHBTQSideResolVsQInvFctn(){}
117
118    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair,  Double_t& x, Double_t& y)
119     {
120      y = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
121      x = partpair->GetQInv();
122     }
123    TH1* GetResult(){return fNumerator;} 
124   protected:
125   private:
126   public:
127     ClassDef(AliHBTQSideResolVsQInvFctn,1)
128  };
129
130 /***********************************************************************/
131 /***********************************************************************/
132 class AliHBTQLongResolVsQInvFctn: public AliHBTTwoPairFctn2D
133  {
134   public: 
135    AliHBTQLongResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
136                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
137    virtual ~AliHBTQLongResolVsQInvFctn(){}
138
139    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
140     {
141      y = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
142      x = partpair->GetQInv();
143     }
144    TH1* GetResult(){return fNumerator;} 
145   protected:
146   private:
147   public:
148     ClassDef(AliHBTQLongResolVsQInvFctn,1)
149  };
150
151 /***********************************************************************/
152 /***********************************************************************/
153 class AliHBTQInvResolVsKtFctn: public AliHBTTwoPairFctn2D
154  {
155   public: 
156    AliHBTQInvResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
157                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
158    virtual ~AliHBTQInvResolVsKtFctn(){};
159
160    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
161     {
162      y = partpair->GetQInv() - trackpair->GetQInv();
163      x = partpair->GetKt();
164     }
165    TH1* GetResult(){return fNumerator;} 
166   protected:
167   private:
168   public:
169     ClassDef(AliHBTQInvResolVsKtFctn,1)
170  };
171 /***********************************************************************/
172 /***********************************************************************/
173 class AliHBTQOutResolVsKtFctn: public AliHBTTwoPairFctn2D
174  {
175   public: 
176    AliHBTQOutResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
177                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
178    virtual ~AliHBTQOutResolVsKtFctn(){}
179    TH1* GetResult(){return GetNumerator();}
180    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
181     {
182      y = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
183      x = partpair->GetKt();
184     }
185   protected:
186   private:
187   public:
188     ClassDef(AliHBTQOutResolVsKtFctn,1)
189  };
190 /***********************************************************************/
191 /***********************************************************************/
192 class AliHBTQSideResolVsKtFctn: public AliHBTTwoPairFctn2D
193  {
194   public: 
195    AliHBTQSideResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
196                             Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
197    virtual ~AliHBTQSideResolVsKtFctn(){}
198    TH1* GetResult(){return GetNumerator();}
199    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
200     {
201      y = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
202      x = partpair->GetKt();
203     }
204   protected:
205   private:
206   public:
207     ClassDef(AliHBTQSideResolVsKtFctn,1)
208  };
209 /***********************************************************************/
210 /***********************************************************************/
211 class AliHBTQLongResolVsKtFctn: public AliHBTTwoPairFctn2D
212  {
213   public: 
214    AliHBTQLongResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
215                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
216    virtual ~AliHBTQLongResolVsKtFctn(){}
217
218    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
219     {
220      y = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
221      x = partpair->GetKt();
222     }
223    TH1* GetResult(){return fNumerator;}
224   protected:
225   private:
226   public:
227     ClassDef(AliHBTQLongResolVsKtFctn,1)
228  };
229 /***********************************************************************/
230 /***********************************************************************/
231 class AliHBTQOutResolVsQOutFctn: public AliHBTTwoPairFctn2D
232  {
233   public: 
234    AliHBTQOutResolVsQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, 
235                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
236    virtual ~AliHBTQOutResolVsQOutFctn(){}
237
238    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
239     {
240      x = partpair->GetQOutCMSLC();
241      y = x - trackpair->GetQOutCMSLC();
242     }
243    TH1* GetResult(){return fNumerator;}  
244   protected:
245   private:
246   public:
247     ClassDef(AliHBTQOutResolVsQOutFctn,1)
248  };
249
250 /***********************************************************************/
251 /***********************************************************************/
252
253 class AliHBTQSideResolVsQSideFctn: public AliHBTTwoPairFctn2D
254  {
255   public: 
256    AliHBTQSideResolVsQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, 
257                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
258    virtual ~AliHBTQSideResolVsQSideFctn(){}
259
260    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
261     {
262      x = partpair->GetQSideCMSLC();
263      y = x - trackpair->GetQSideCMSLC();
264     }
265    TH1* GetResult(){return fNumerator;}  
266   protected:
267   private:
268   public:
269     ClassDef(AliHBTQSideResolVsQSideFctn,1)
270  };
271
272
273 /***********************************************************************/
274 /***********************************************************************/
275
276 class AliHBTQLongResolVsQLongFctn: public AliHBTTwoPairFctn2D
277  {
278   public: 
279    AliHBTQLongResolVsQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
280                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
281    virtual ~AliHBTQLongResolVsQLongFctn(){}
282
283    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
284     {
285      x = partpair->GetQLongCMSLC();
286      y = x - trackpair->GetQLongCMSLC();
287     }
288    TH1* GetResult(){return fNumerator;}  
289   protected:
290   private:
291   public:
292     ClassDef(AliHBTQLongResolVsQLongFctn,1)
293  };
294
295
296 /***********************************************************************/
297 /***********************************************************************/
298 class AliHBTPairThetaResolVsQInvFctn: public AliHBTTwoPairFctn2D
299  {
300   public: 
301    AliHBTPairThetaResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
302                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
303    
304    virtual ~AliHBTPairThetaResolVsQInvFctn(){}
305    
306    TH1* GetResult(){return fNumerator;}  
307    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
308     {
309      Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta();
310      Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta();
311      y = partTheta - trackTheta;
312      x = partpair->GetQInv();
313     }
314   protected:
315   private: 
316   public:
317     ClassDef(AliHBTPairThetaResolVsQInvFctn,1)
318  };
319
320 /***********************************************************************/
321 /***********************************************************************/
322 class AliHBTPairPhiResolVsQInvFctn: public AliHBTTwoPairFctn2D
323  {
324   public: 
325    AliHBTPairPhiResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
326                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
327    
328    virtual ~AliHBTPairPhiResolVsQInvFctn(){}
329    
330    TH1* GetResult(){return fNumerator;}  
331    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
332     {
333      Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi();
334      Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi();
335      y = partPhi - trackPhi;
336      x = partpair->GetQInv();
337     }
338   protected:
339   private: 
340   public:
341     ClassDef(AliHBTPairPhiResolVsQInvFctn,1)
342  };
343
344 /***********************************************************************/
345 /***********************************************************************/
346 class AliHBTPairThetaResolVsKtFctn: public AliHBTTwoPairFctn2D
347  {
348   public: 
349    AliHBTPairThetaResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
350                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
351    
352    virtual ~AliHBTPairThetaResolVsKtFctn(){}
353    
354    TH1* GetResult(){return fNumerator;}  
355    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
356     {
357      Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta();
358      Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta();
359      y = partTheta - trackTheta;
360      x = partpair->GetKt();
361     }
362   protected:
363   private: 
364   public:
365     ClassDef(AliHBTPairThetaResolVsKtFctn,1)
366  };
367
368 /***********************************************************************/
369 /***********************************************************************/
370 class AliHBTPairPhiResolVsKtFctn: public AliHBTTwoPairFctn2D
371  {
372   public: 
373    AliHBTPairPhiResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
374                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
375    
376    virtual ~AliHBTPairPhiResolVsKtFctn(){}
377    
378    TH1* GetResult(){return fNumerator;}  
379    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
380     {
381      Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi();
382      Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi();
383      y = partPhi - trackPhi;
384      x = partpair->GetKt();
385     }
386   protected:
387   private: 
388   public:
389     ClassDef(AliHBTPairPhiResolVsKtFctn,1)
390  };
391
392 #endif