1 #ifndef ALIHBTCORRELFUNCTION_H
2 #define ALIHBTCORRELFUNCTION_H
3 //____________________________________________________________________________
4 //////////////////////////////////////////////////////////////////////////////
6 // class AliHBTQInvCorrelFctn
7 // class AliHBTQOutLCMSCorrelFctn
8 // class AliHBTQLongLCMSCorrelFctn
9 // class AliHBTQSideLCMSCorrelFctn
10 // class AliHBTInvMassCorrelFctn
11 // class AliHBTTwoKStarCorrelFctn
14 // Q Invaraint Correlation Function
15 // Invariant Mass Function
17 // more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html
18 // Piotr.Skowronski@cern.ch
20 //////////////////////////////////////////////////////////////////////////////
22 #include "AliHBTFunction.h"
23 #include <Riostream.h>
25 /*************************************************************************************/
26 class AliHBTQInvCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
28 //Q Invaraint Correlation Function
29 //1D two particle function
31 AliHBTQInvCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
32 virtual ~AliHBTQInvCorrelFctn(){};
35 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQInv();}
37 ClassDef(AliHBTQInvCorrelFctn,2)
40 /*************************************************************/
42 class AliHBTOutSideLongFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
46 AliHBTOutSideLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
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);
49 virtual ~AliHBTOutSideLongFctn(){}
54 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const;
56 ClassDef(AliHBTOutSideLongFctn,1)
59 /*************************************************************************************/
61 class AliHBTQOutLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
63 //Q OutLCMSaraint Correlation Function
64 //1D two particle function
66 AliHBTQOutLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
67 virtual ~AliHBTQOutLCMSCorrelFctn(){};
70 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQOutLCMS();}
72 ClassDef(AliHBTQOutLCMSCorrelFctn,2)
74 /*************************************************************************************/
76 class AliHBTQLongLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
78 //Q LongLCMSaraint Correlation Function
79 //1D two particle function
81 AliHBTQLongLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
82 virtual ~AliHBTQLongLCMSCorrelFctn(){};
85 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQLongLCMS();}
87 ClassDef(AliHBTQLongLCMSCorrelFctn,2)
89 /*************************************************************************************/
91 class AliHBTQtLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
93 //Q LongLCMSaraint Correlation Function
94 //1D two particle function
96 AliHBTQtLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
97 virtual ~AliHBTQtLCMSCorrelFctn(){};
100 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQtLCMS();}
102 ClassDef(AliHBTQtLCMSCorrelFctn,2)
104 /*************************************************************************************/
106 class AliHBTQSideLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
108 //Q SideLCMSaraint Correlation Function
109 //1D two particle function
111 AliHBTQSideLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
112 virtual ~AliHBTQSideLCMSCorrelFctn(){}
115 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQSideLCMS();}
117 ClassDef(AliHBTQSideLCMSCorrelFctn,2)
119 /*************************************************************************************/
121 class AliHBTQtCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
123 //Q Longaraint Correlation Function
124 //1D two particle function
126 AliHBTQtCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
127 virtual ~AliHBTQtCorrelFctn(){};
130 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQt();}
132 ClassDef(AliHBTQtCorrelFctn,1)
134 /*************************************************************************************/
136 class AliHBTInvMassCorrelFctn: public AliHBTOnePairFctn1D
138 // Invariant Mass Function
140 AliHBTInvMassCorrelFctn(Int_t nbins = 2000, Double_t maxXval = 2., Double_t minXval = 0.0);
141 virtual ~AliHBTInvMassCorrelFctn(){};
144 Double_t GetValue(AliHBTPair * pair) const { return pair->GetInvMass();}
146 ClassDef(AliHBTInvMassCorrelFctn,1)
149 /*************************************************************************************/
151 class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
153 // Correlation Function of 2*KStar
155 AliHBTTwoKStarCorrelFctn(Int_t nbins = 200, Double_t maxXval = 0.15, Double_t minXval = 0.0);
156 virtual ~AliHBTTwoKStarCorrelFctn(){};
159 Double_t GetValue(AliHBTPair * pair) const { return 2.0*pair->GetKStar();}
161 ClassDef(AliHBTTwoKStarCorrelFctn,2)
164 /*************************************************************************************/
166 class AliHBTAvSeparCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
168 // Correlation Function of 2*KStar
170 AliHBTAvSeparCorrelFctn(Int_t nbins = 200, Double_t maxXval = 30, Double_t minXval = 0.0);
171 virtual ~AliHBTAvSeparCorrelFctn(){};
174 Double_t GetValue(AliHBTPair * pair) const { return pair->GetAvarageDistance();}
176 ClassDef(AliHBTAvSeparCorrelFctn,2)
179 /*************************************************************************************/
181 class AliHBTAvSeparVsQInvCorrelFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
183 // Correlation Function of 2*KStar
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(){};
190 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
192 y = pair->GetAvarageDistance();
196 ClassDef(AliHBTAvSeparVsQInvCorrelFctn,1)
198 /*************************************************************************************/
199 /*************************************************************************************/
200 /*************************************************************************************/
202 class AliHBTQOutQSideFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
205 // friend class AliHBTOnePairFctn1D;
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(){};
213 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
215 y = pair->GetQSideLCMS();
216 x = pair->GetQOutLCMS();
218 ClassDef(AliHBTQOutQSideFctn,1)
221 /*************************************************************************************/
223 class AliHBTQOutQLongFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
226 // friend class AliHBTOnePairFctn1D;
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(){};
234 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
236 y = pair->GetQLongLCMS();
237 x = pair->GetQOutLCMS();
239 ClassDef(AliHBTQOutQLongFctn,1)
242 /*************************************************************************************/
244 class AliHBTQSideQLongFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
247 // friend class AliHBTOnePairFctn1D;
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(){};
255 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
257 y = pair->GetQLongLCMS();
258 x = pair->GetQSideLCMS();
260 ClassDef(AliHBTQSideQLongFctn,1)