]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HBTAN/AliHBTQResolutionFctns.h
Removing MC position of the primary vertex (Jouri)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTQResolutionFctns.h
1 #ifndef ALIHBTQRESOLUTIONFCTNS_H
2 #define ALIHBTQRESOLUTIONFCTNS_H
3 //__________________________________________________________________
4 ////////////////////////////////////////////////////////////////////
5 //                                                                //
6 // General Remark:                                                //
7 // LCMS means                                                    //
8 // Center of Mass System Longitudially Co-moving                  //
9 //                                                                //
10 //                                                                //
11 // This class creates resolution function of Qout                 //
12 // (difference of simulated pair Qout and recontructed pair)      //
13 // in function of QInv                                            //
14 // it inherits from AliHBTTwoPairFctn2D                           //
15 //  it needs two pairs to compare                                 //
16 //  and is two dimentional: numerator and denominator are TH2D    //
17 //                                                                //
18 ////////////////////////////////////////////////////////////////////
19
20 #include <TMath.h>
21
22 class AliHBTKtResolVsQInvFctn;  //Kt Res   Vs   QInvLCMS 
23
24 class AliHBTQOutResolVsQInvFctn;  //QOutLCMS  Res   Vs   QInvLCMS 
25 class AliHBTQSideResolVsQInvFctn; //QSideLCMS Res   Vs   QInvLCMS 
26 class AliHBTQLongResolVsQInvFctn; //QLongLCMS Res   Vs   QInvLCMS 
27 class AliHBTQInvResolVsQInvFctn;  //QInvLCMS Res   Vs   QInvLCMS 
28
29 class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res   Vs   QInvLCMS
30 class AliHBTPairPhiResolVsQInvFctn;  //PairPhi   Res   Vs   QInvLCMS
31
32 class AliHBTQInvResolVsKtFctn;    //QInvLCMS  Res   Vs   Kt
33 class AliHBTQOutResolVsKtFctn;    //QOutLCMS  Res   Vs   Kt
34 class AliHBTQSideResolVsKtFctn;   //QSideLCMS Res   Vs   Kt
35 class AliHBTQLongResolVsKtFctn;   //QLongLCMS Res   Vs   Kt
36
37 class AliHBTPairThetaResolVsKtFctn;   //PairTheta Res   Vs   Kt
38 class AliHBTPairPhiResolVsKtFctn;   //PairPhi Res   Vs   Kt
39
40
41 class AliHBTQOutResolVsQOutFctn;  //QOutLCMS  Res   Vs   QOut
42 class AliHBTQSideResolVsQSideFctn;//QSideLCMS Res   Vs   QSide
43 class AliHBTQLongResolVsQLongFctn;//QLongLCMS Res   Vs   QLong
44
45
46  
47 #include "AliHBTFunction.h"
48 /***********************************************************************/
49 /***********************************************************************/
50 class AliHBTKtResolVsQInvFctn: public AliHBTTwoPairFctn2D
51  {
52   public: 
53    AliHBTKtResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
54                            Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
55    
56    virtual ~AliHBTKtResolVsQInvFctn(){}
57    
58    TH1* GetResult(){return this->fNumerator;}  
59    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
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 this->fNumerator;}  
75    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
76    ClassDef(AliHBTQInvResolVsQInvFctn,1)
77  };
78
79
80 /***********************************************************************/
81 /***********************************************************************/
82 class AliHBTQOutResolVsQInvFctn: public AliHBTTwoPairFctn2D
83  {
84   public: 
85    AliHBTQOutResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
86                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
87    
88    virtual ~AliHBTQOutResolVsQInvFctn(){}
89    
90    TH1* GetResult(){return this->fNumerator;}  
91    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
92    ClassDef(AliHBTQOutResolVsQInvFctn,1)
93  };
94
95 /***********************************************************************/
96 /***********************************************************************/
97 class AliHBTQSideResolVsQInvFctn: public AliHBTTwoPairFctn2D
98  {
99   public: 
100    AliHBTQSideResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
101                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
102    virtual ~AliHBTQSideResolVsQInvFctn(){}
103
104    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair,  Double_t& x, Double_t& y) const;
105    TH1* GetResult(){return this->fNumerator;} 
106    ClassDef(AliHBTQSideResolVsQInvFctn,1)
107  };
108
109 /***********************************************************************/
110 /***********************************************************************/
111 class AliHBTQLongResolVsQInvFctn: public AliHBTTwoPairFctn2D
112  {
113   public: 
114    AliHBTQLongResolVsQInvFctn(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 ~AliHBTQLongResolVsQInvFctn(){}
117
118    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
119    TH1* GetResult(){return this->fNumerator;} 
120    ClassDef(AliHBTQLongResolVsQInvFctn,1)
121  };
122
123 /***********************************************************************/
124 /***********************************************************************/
125 class AliHBTQInvResolVsKtFctn: public AliHBTTwoPairFctn2D
126  {
127   public: 
128    AliHBTQInvResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
129                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
130    virtual ~AliHBTQInvResolVsKtFctn(){};
131
132    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
133    TH1* GetResult(){return this->fNumerator;} 
134    ClassDef(AliHBTQInvResolVsKtFctn,1)
135  };
136 /***********************************************************************/
137 /***********************************************************************/
138 class AliHBTQOutResolVsKtFctn: public AliHBTTwoPairFctn2D
139  {
140   public: 
141    AliHBTQOutResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
142                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
143    virtual ~AliHBTQOutResolVsKtFctn(){}
144    TH1* GetResult(){return this->GetNumerator();}
145    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
146    ClassDef(AliHBTQOutResolVsKtFctn,1)
147  };
148 /***********************************************************************/
149 /***********************************************************************/
150 class AliHBTQSideResolVsKtFctn: public AliHBTTwoPairFctn2D
151  {
152   public: 
153    AliHBTQSideResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
154                             Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
155    virtual ~AliHBTQSideResolVsKtFctn(){}
156    TH1* GetResult(){return this->GetNumerator();}
157    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
158    ClassDef(AliHBTQSideResolVsKtFctn,1)
159  };
160 /***********************************************************************/
161 /***********************************************************************/
162 class AliHBTQLongResolVsKtFctn: public AliHBTTwoPairFctn2D
163  {
164   public: 
165    AliHBTQLongResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
166                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
167    virtual ~AliHBTQLongResolVsKtFctn(){}
168
169    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
170    TH1* GetResult(){return this->GetNumerator();}
171    ClassDef(AliHBTQLongResolVsKtFctn,1)
172  };
173 /***********************************************************************/
174 /***********************************************************************/
175 class AliHBTQOutResolVsQOutFctn: public AliHBTTwoPairFctn2D
176  {
177   public: 
178    AliHBTQOutResolVsQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, 
179                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
180    virtual ~AliHBTQOutResolVsQOutFctn(){}
181
182    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
183    TH1* GetResult(){return this->fNumerator;}  
184    ClassDef(AliHBTQOutResolVsQOutFctn,1)
185  };
186
187 /***********************************************************************/
188 /***********************************************************************/
189
190 class AliHBTQSideResolVsQSideFctn: public AliHBTTwoPairFctn2D
191  {
192   public: 
193    AliHBTQSideResolVsQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, 
194                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
195    virtual ~AliHBTQSideResolVsQSideFctn(){}
196
197    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
198    TH1* GetResult(){return this->fNumerator;}  
199    ClassDef(AliHBTQSideResolVsQSideFctn,1)
200  };
201
202 /***********************************************************************/
203 /***********************************************************************/
204
205 class AliHBTQLongResolVsQLongFctn: public AliHBTTwoPairFctn2D
206  {
207   public: 
208    AliHBTQLongResolVsQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
209                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
210    virtual ~AliHBTQLongResolVsQLongFctn(){}
211
212    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
213    TH1* GetResult(){return this->fNumerator;}  
214    ClassDef(AliHBTQLongResolVsQLongFctn,1)
215  };
216 /***********************************************************************/
217 /***********************************************************************/
218
219 class AliHBTPairThetaResolVsQInvFctn: public AliHBTTwoPairFctn2D
220  {
221   public: 
222    AliHBTPairThetaResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
223                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
224    
225    virtual ~AliHBTPairThetaResolVsQInvFctn(){}
226    
227    TH1* GetResult(){return this->fNumerator;}  
228    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
229    ClassDef(AliHBTPairThetaResolVsQInvFctn,1)
230  };
231
232 /***********************************************************************/
233 /***********************************************************************/
234 class AliHBTPairThetaResolVsPairThetaFctn: public AliHBTTwoPairFctn2D
235  {
236   public: 
237    AliHBTPairThetaResolVsPairThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(), 
238                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
239    
240    virtual ~AliHBTPairThetaResolVsPairThetaFctn(){}
241    
242    TH1* GetResult(){return this->fNumerator;}  
243    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
244    ClassDef(AliHBTPairThetaResolVsPairThetaFctn,1)
245  };
246
247
248 /***********************************************************************/
249 /***********************************************************************/
250 class AliHBTPairPhiResolVsQInvFctn: public AliHBTTwoPairFctn2D
251  {
252   public: 
253    AliHBTPairPhiResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
254                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
255    
256    virtual ~AliHBTPairPhiResolVsQInvFctn(){}
257    
258    TH1* GetResult(){return this->fNumerator;}  
259    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
260    ClassDef(AliHBTPairPhiResolVsQInvFctn,1)
261  };
262
263 /***********************************************************************/
264 /***********************************************************************/
265 class AliHBTPairThetaResolVsKtFctn: public AliHBTTwoPairFctn2D
266  {
267   public: 
268    AliHBTPairThetaResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
269                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
270    
271    virtual ~AliHBTPairThetaResolVsKtFctn(){}
272    
273    TH1* GetResult(){return this->fNumerator;}  
274    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
275    ClassDef(AliHBTPairThetaResolVsKtFctn,1)
276  };
277
278 /***********************************************************************/
279 /***********************************************************************/
280 class AliHBTPairPhiResolVsKtFctn: public AliHBTTwoPairFctn2D
281  {
282   public: 
283    AliHBTPairPhiResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
284                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
285    
286    virtual ~AliHBTPairPhiResolVsKtFctn(){}
287    
288    TH1* GetResult(){return this->fNumerator;}  
289    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
290    ClassDef(AliHBTPairPhiResolVsKtFctn,1)
291  };
292
293 /***********************************************************************/
294 /***********************************************************************/
295 class AliHBTPairPhiResolVsPairPhiFctn: public AliHBTTwoPairFctn2D
296  {
297   public: 
298    AliHBTPairPhiResolVsPairPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0, 
299                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
300    
301    virtual ~AliHBTPairPhiResolVsPairPhiFctn(){}
302    
303    TH1* GetResult(){return this->fNumerator;}  
304    void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
305    ClassDef(AliHBTPairPhiResolVsPairPhiFctn,1)
306  };
307
308
309 #endif