Updated PaintContour() method
[u/mrichter/AliRoot.git] / HBTAN / AliHBTCorrelFctn.h
CommitLineData
1b446896 1#ifndef ALIHBTCORRELFUNCTION_H
2#define ALIHBTCORRELFUNCTION_H
db21c92b 3//____________________________________________________________________________
4//////////////////////////////////////////////////////////////////////////////
5//
6// class AliHBTQInvCorrelFctn
78d7c6d3 7// class AliHBTQOutLCMSCorrelFctn
8// class AliHBTQLongLCMSCorrelFctn
9// class AliHBTQSideLCMSCorrelFctn
db21c92b 10// class AliHBTInvMassCorrelFctn
11// class AliHBTTwoKStarCorrelFctn
12//
13// Set of functions:
14// Q Invaraint Correlation Function
15// Invariant Mass Function
16//
17// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html
18// Piotr.Skowronski@cern.ch
19//
20//////////////////////////////////////////////////////////////////////////////
88cb7938 21
22#include "AliHBTFunction.h"
88cb7938 23#include <Riostream.h>
1b446896 24
953577f3 25/*************************************************************************************/
fc13079c 26class AliHBTQInvCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
1b446896 27{
28//Q Invaraint Correlation Function
29//1D two particle function
30 public:
953577f3 31 AliHBTQInvCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
1b446896 32 virtual ~AliHBTQInvCorrelFctn(){};
33 TH1* GetResult();
34 protected:
a22a56ec 35 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQInv();}
db21c92b 36 private:
fc13079c 37 ClassDef(AliHBTQInvCorrelFctn,2)
1b446896 38
39};
3cc1fefe 40/*************************************************************/
41
42class AliHBTOutSideLongFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
43{
44
45 public:
46 AliHBTOutSideLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
087f87e7 47 Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
48 Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
3cc1fefe 49 virtual ~AliHBTOutSideLongFctn(){}
50
f78d233e 51 TH1* GetResult();
52
53 protected:
ed3b923a 54 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const;
55
3cc1fefe 56 ClassDef(AliHBTOutSideLongFctn,1)
57};
58
953577f3 59/*************************************************************************************/
60
78d7c6d3 61class AliHBTQOutLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
953577f3 62{
78d7c6d3 63//Q OutLCMSaraint Correlation Function
953577f3 64//1D two particle function
65 public:
78d7c6d3 66 AliHBTQOutLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
67 virtual ~AliHBTQOutLCMSCorrelFctn(){};
953577f3 68 TH1* GetResult();
69 protected:
78d7c6d3 70 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQOutLCMS();}
db21c92b 71 private:
78d7c6d3 72 ClassDef(AliHBTQOutLCMSCorrelFctn,2)
953577f3 73};
74/*************************************************************************************/
1b446896 75
78d7c6d3 76class AliHBTQLongLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
953577f3 77{
78d7c6d3 78//Q LongLCMSaraint Correlation Function
953577f3 79//1D two particle function
80 public:
78d7c6d3 81 AliHBTQLongLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
82 virtual ~AliHBTQLongLCMSCorrelFctn(){};
953577f3 83 TH1* GetResult();
84 protected:
78d7c6d3 85 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQLongLCMS();}
db21c92b 86 private:
78d7c6d3 87 ClassDef(AliHBTQLongLCMSCorrelFctn,2)
953577f3 88};
89/*************************************************************************************/
98bc79ce 90
91class AliHBTQtLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
92{
93//Q LongLCMSaraint Correlation Function
94//1D two particle function
95 public:
96 AliHBTQtLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
97 virtual ~AliHBTQtLCMSCorrelFctn(){};
98 TH1* GetResult();
99 protected:
100 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQtLCMS();}
101 private:
102 ClassDef(AliHBTQtLCMSCorrelFctn,2)
103};
104/*************************************************************************************/
953577f3 105
78d7c6d3 106class AliHBTQSideLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
953577f3 107{
78d7c6d3 108//Q SideLCMSaraint Correlation Function
953577f3 109//1D two particle function
110 public:
78d7c6d3 111 AliHBTQSideLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
112 virtual ~AliHBTQSideLCMSCorrelFctn(){}
953577f3 113 TH1* GetResult();
114 protected:
78d7c6d3 115 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQSideLCMS();}
db21c92b 116 private:
78d7c6d3 117 ClassDef(AliHBTQSideLCMSCorrelFctn,2)
953577f3 118};
119/*************************************************************************************/
1b446896 120
00aa96f1 121class AliHBTQtCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
122{
123//Q Longaraint Correlation Function
124//1D two particle function
125 public:
126 AliHBTQtCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
127 virtual ~AliHBTQtCorrelFctn(){};
128 TH1* GetResult();
129 protected:
130 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQt();}
131 private:
377276f3 132 ClassDef(AliHBTQtCorrelFctn,1)
00aa96f1 133};
134/*************************************************************************************/
135
27b3fe5d 136class AliHBTInvMassCorrelFctn: public AliHBTOnePairFctn1D
1b446896 137{
138// Invariant Mass Function
139 public:
140 AliHBTInvMassCorrelFctn(Int_t nbins = 2000, Double_t maxXval = 2., Double_t minXval = 0.0);
141 virtual ~AliHBTInvMassCorrelFctn(){};
142 TH1* GetResult();
143 protected:
a22a56ec 144 Double_t GetValue(AliHBTPair * pair) const { return pair->GetInvMass();}
db21c92b 145 private:
1b446896 146 ClassDef(AliHBTInvMassCorrelFctn,1)
1b446896 147};
148
4866a439 149/*************************************************************************************/
150
fc13079c 151class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
4866a439 152{
153// Correlation Function of 2*KStar
154 public:
155 AliHBTTwoKStarCorrelFctn(Int_t nbins = 200, Double_t maxXval = 0.15, Double_t minXval = 0.0);
156 virtual ~AliHBTTwoKStarCorrelFctn(){};
157 TH1* GetResult();
158 protected:
a22a56ec 159 Double_t GetValue(AliHBTPair * pair) const { return 2.0*pair->GetKStar();}
db21c92b 160 private:
fc13079c 161 ClassDef(AliHBTTwoKStarCorrelFctn,2)
4866a439 162};
1b446896 163
087f87e7 164/*************************************************************************************/
165
166class AliHBTAvSeparCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
167{
168// Correlation Function of 2*KStar
169 public:
170 AliHBTAvSeparCorrelFctn(Int_t nbins = 200, Double_t maxXval = 30, Double_t minXval = 0.0);
171 virtual ~AliHBTAvSeparCorrelFctn(){};
172 TH1* GetResult();
173 protected:
a22a56ec 174 Double_t GetValue(AliHBTPair * pair) const { return pair->GetAvarageDistance();}
087f87e7 175 private:
176 ClassDef(AliHBTAvSeparCorrelFctn,2)
177};
178
a296aa84 179/*************************************************************************************/
180
181class AliHBTAvSeparVsQInvCorrelFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
182{
183// Correlation Function of 2*KStar
184 public:
185 AliHBTAvSeparVsQInvCorrelFctn(Int_t nXbins = 10, Double_t maxXval = 0.05, Double_t minXval = 0.,
186 Int_t nYbins = 20, Double_t maxYval = 20, Double_t minYval = 0.0);
187 virtual ~AliHBTAvSeparVsQInvCorrelFctn(){};
188 TH1* GetResult();
189 protected:
190 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
191 {
192 y = pair->GetAvarageDistance();
193 x = pair->GetQInv();
194 }
195 private:
196 ClassDef(AliHBTAvSeparVsQInvCorrelFctn,1)
197};
198/*************************************************************************************/
199/*************************************************************************************/
200/*************************************************************************************/
201
202class AliHBTQOutQSideFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
203{
204
205 // friend class AliHBTOnePairFctn1D;
206 public:
207 AliHBTQOutQSideFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
208 Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
209 virtual ~AliHBTQOutQSideFctn(){};
210 TH1* GetResult();
211
212 protected:
213 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
214 {
215 y = pair->GetQSideLCMS();
216 x = pair->GetQOutLCMS();
217 }
218 ClassDef(AliHBTQOutQSideFctn,1)
219
220};
221/*************************************************************************************/
222
223class AliHBTQOutQLongFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
224{
225
226 // friend class AliHBTOnePairFctn1D;
227 public:
228 AliHBTQOutQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
229 Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
230 virtual ~AliHBTQOutQLongFctn(){};
231 TH1* GetResult();
232
233 protected:
234 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
235 {
236 y = pair->GetQLongLCMS();
237 x = pair->GetQOutLCMS();
238 }
239 ClassDef(AliHBTQOutQLongFctn,1)
240
241};
242/*************************************************************************************/
243
244class AliHBTQSideQLongFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
245{
246
247 // friend class AliHBTOnePairFctn1D;
248 public:
249 AliHBTQSideQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
250 Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
251 virtual ~AliHBTQSideQLongFctn(){};
252 TH1* GetResult();
253
254 protected:
255 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
256 {
257 y = pair->GetQLongLCMS();
258 x = pair->GetQSideLCMS();
259 }
260 ClassDef(AliHBTQSideQLongFctn,1)
261
262};
263
1b446896 264#endif
a296aa84 265
266
267