- Setting Z positions of the tracking chamber to values given in Alain TOURNAIRE...
[u/mrichter/AliRoot.git] / HBTAN / AliHBTQDistributionFctns.h
1 #ifndef ALIHBTQOUTDISTRIBUTIONVSKTLFCTN_H
2 #define ALIHBTQOUTDISTRIBUTIONVSKTLFCTN_H
3
4 /////////////////////////////////////////////////////////////////////////////
5 // 
6 // class AliHBTQInvDistributionVsKtFctn;    //QInvLCMS   Distribution Vs   Kt
7 // class AliHBTQOutDistributionVsKtFctn;    //QOutLCMS   Distribution Vs   Kt
8 // class AliHBTQSideDistributionVsKtFctn;   //QSideLCMS  Distribution Vs   Kt
9 // class AliHBTQLongDistributionVsKtFctn;   //QLongLCMS  Distribution Vs   Kt
10
11 // class AliHBTQOutDistributionVsQInvFctn;    //QOutLCMS   Distribution Vs   QInv
12 // class AliHBTQSideDistributionVsQInvFctn;   //QSideLCMS  Distribution Vs   QInv
13 // class AliHBTQLongDistributionVsQInvFctn;   //QLongLCMS  Distribution Vs   QInv
14 // class AliHBTPtDiffDistributionVsQInvFctn;
15 //
16 // added by Zbigniew.Chajecki@cern.ch
17 // this classes create distribution functions of pair momentum 
18 //
19 /////////////////////////////////////////////////////////////////////////////
20
21 class AliHBTQInvDistributionVsKtFctn;    //QInvLCMS   Distribution Vs   Kt
22 class AliHBTQOutDistributionVsKtFctn;    //QOutLCMS   Distribution Vs   Kt
23 class AliHBTQSideDistributionVsKtFctn;   //QSideLCMS  Distribution Vs   Kt
24 class AliHBTQLongDistributionVsKtFctn;   //QLongLCMS  Distribution Vs   Kt
25
26 class AliHBTQOutDistributionVsQInvFctn;    //QOutLCMS   Distribution Vs   QInv
27 class AliHBTQSideDistributionVsQInvFctn;   //QSideLCMS  Distribution Vs   QInv
28 class AliHBTQLongDistributionVsQInvFctn;   //QLongLCMS  Distribution Vs   QInv
29 class AliHBTPtDiffDistributionVsQInvFctn;
30 class AliHBTRStarDistribution;
31 #include "AliHBTFunction.h"
32
33 /***********************************************************************/
34 /***********************************************************************/
35 class AliHBTQOutDistributionVsKtFctn: public AliHBTOnePairFctn2D
36  {
37   public: 
38    AliHBTQOutDistributionVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
39                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
40    virtual ~AliHBTQOutDistributionVsKtFctn(){}
41    TH1* GetResult();
42    void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const
43     {
44      y = partpair->GetQOutLCMS();
45      x = partpair->GetKt();
46     }
47   protected:
48     ClassDef(AliHBTQOutDistributionVsKtFctn,1)
49  };
50 /***********************************************************************/
51 /***********************************************************************/
52 class AliHBTQSideDistributionVsKtFctn: public AliHBTOnePairFctn2D
53  {
54   public: 
55    AliHBTQSideDistributionVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1, 
56                              Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2);
57    virtual ~AliHBTQSideDistributionVsKtFctn(){}
58    TH1* GetResult();
59    void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const
60     {
61      y = partpair->GetQSideLCMS();
62      x = partpair->GetKt();
63     }
64   protected:
65     ClassDef(AliHBTQSideDistributionVsKtFctn,1)
66  };
67 /***********************************************************************/
68 /***********************************************************************/
69
70 class AliHBTQLongDistributionVsKtFctn: public AliHBTOnePairFctn2D
71  {
72   public: 
73    AliHBTQLongDistributionVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1, 
74                              Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2);
75    virtual ~AliHBTQLongDistributionVsKtFctn(){}
76    TH1* GetResult();
77    void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const
78     {
79      y = partpair->GetQLongLCMS();
80      x = partpair->GetKt();
81     }
82   protected:
83     ClassDef(AliHBTQLongDistributionVsKtFctn,1)
84  };
85 /***********************************************************************/
86 /***********************************************************************/
87
88 class AliHBTQInvDistributionVsKtFctn: public AliHBTOnePairFctn2D
89  {
90   public: 
91    AliHBTQInvDistributionVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1, 
92                              Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2);
93    virtual ~AliHBTQInvDistributionVsKtFctn(){}
94    TH1* GetResult();
95    void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const
96     {
97      y = partpair->GetQInv();
98      x = partpair->GetKt();
99     }
100   protected:
101     ClassDef(AliHBTQInvDistributionVsKtFctn,1)
102  };
103
104 /***********************************************************************/
105 /***********************************************************************/
106 class AliHBTQOutDistributionVsQInvFctn: public AliHBTOnePairFctn2D
107  {
108   public: 
109    AliHBTQOutDistributionVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
110                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
111    virtual ~AliHBTQOutDistributionVsQInvFctn(){}
112    TH1* GetResult();
113    void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const
114     {
115      y = partpair->GetQOutLCMS();
116      x = partpair->GetQInv();
117     }
118   protected:
119     ClassDef(AliHBTQOutDistributionVsQInvFctn,1)
120  };
121 /***********************************************************************/
122 /***********************************************************************/
123 class AliHBTQSideDistributionVsQInvFctn: public AliHBTOnePairFctn2D
124  {
125   public: 
126    AliHBTQSideDistributionVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1, 
127                              Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2);
128    virtual ~AliHBTQSideDistributionVsQInvFctn(){}
129    TH1* GetResult();
130    void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const
131     {
132      y = partpair->GetQSideLCMS();
133      x = partpair->GetQInv();
134     }
135   protected:
136     ClassDef(AliHBTQSideDistributionVsQInvFctn,1)
137  };
138 /***********************************************************************/
139 /***********************************************************************/
140
141 class AliHBTQLongDistributionVsQInvFctn: public AliHBTOnePairFctn2D
142  {
143   public: 
144    AliHBTQLongDistributionVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1, 
145                              Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2);
146    virtual ~AliHBTQLongDistributionVsQInvFctn(){}
147    TH1* GetResult();
148    void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const
149     {
150      y = partpair->GetQLongLCMS();
151      x = partpair->GetQInv();
152     }
153   protected:
154     ClassDef(AliHBTQLongDistributionVsQInvFctn,1)
155  };
156 /***********************************************************************/
157 /***********************************************************************/
158 class AliHBTPtDiffDistributionVsQInvFctn: public AliHBTOnePairFctn2D
159  {
160   public: 
161    AliHBTPtDiffDistributionVsQInvFctn(Int_t nXbins = 800, Double_t maxXval = 4.0, Double_t minXval = 0., 
162                              Int_t nYbins = 500, Double_t maxYval = 0.1, Double_t minYval =-0.1);
163    virtual ~AliHBTPtDiffDistributionVsQInvFctn(){}
164    TH1* GetResult();
165    void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const
166     {
167      y = partpair->Particle1()->Pt() - partpair->Particle2()->Pt();
168      x = partpair->GetQInv();
169     }
170   protected:
171     ClassDef(AliHBTPtDiffDistributionVsQInvFctn,1)
172  };
173 /***********************************************************************/
174 /***********************************************************************/
175
176 class AliHBTRStarDistribution: public AliHBTOnePairFctn1D
177 {
178   public:
179     AliHBTRStarDistribution(Int_t nXbins = 500, Double_t maxXval = 5e-11, Double_t minXval = 0.);
180     virtual ~AliHBTRStarDistribution(){}
181     TH1* GetResult();
182   protected:
183     Double_t GetValue(AliHBTPair* partpair) const
184     {
185       return partpair->GetRStar();
186     }
187    
188   private:
189    ClassDef(AliHBTRStarDistribution,1)
190 };
191
192 /***********************************************************************/
193 /***********************************************************************/
194
195 class AliHBTRDistribution: public AliHBTOnePairFctn1D
196 {
197   public:
198     AliHBTRDistribution(Int_t nXbins = 500, Double_t maxXval = 5e-11, Double_t minXval = 0.);
199     virtual ~AliHBTRDistribution(){}
200     TH1* GetResult();
201   protected:
202     Double_t GetValue(AliHBTPair* partpair) const
203     {
204       return partpair->GetR();
205     }
206    
207   private:
208    ClassDef(AliHBTRDistribution,1)
209 };
210 #endif
211