Version changed
[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();
ed3b923a 52 void UseAbsoluteValues(Bool_t flag){fAbs = flag;}
f78d233e 53
54 protected:
ed3b923a 55 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const;
56
57 Bool_t fAbs;//flag indicating if absolute values of qout, qside and qlong should be histogrammed
3cc1fefe 58 ClassDef(AliHBTOutSideLongFctn,1)
59};
60
953577f3 61/*************************************************************************************/
62
78d7c6d3 63class AliHBTQOutLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
953577f3 64{
78d7c6d3 65//Q OutLCMSaraint Correlation Function
953577f3 66//1D two particle function
67 public:
78d7c6d3 68 AliHBTQOutLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
69 virtual ~AliHBTQOutLCMSCorrelFctn(){};
953577f3 70 TH1* GetResult();
71 protected:
78d7c6d3 72 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQOutLCMS();}
db21c92b 73 private:
78d7c6d3 74 ClassDef(AliHBTQOutLCMSCorrelFctn,2)
953577f3 75};
76/*************************************************************************************/
1b446896 77
78d7c6d3 78class AliHBTQLongLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
953577f3 79{
78d7c6d3 80//Q LongLCMSaraint Correlation Function
953577f3 81//1D two particle function
82 public:
78d7c6d3 83 AliHBTQLongLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
84 virtual ~AliHBTQLongLCMSCorrelFctn(){};
953577f3 85 TH1* GetResult();
86 protected:
78d7c6d3 87 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQLongLCMS();}
db21c92b 88 private:
78d7c6d3 89 ClassDef(AliHBTQLongLCMSCorrelFctn,2)
953577f3 90};
91/*************************************************************************************/
98bc79ce 92
93class AliHBTQtLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
94{
95//Q LongLCMSaraint Correlation Function
96//1D two particle function
97 public:
98 AliHBTQtLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
99 virtual ~AliHBTQtLCMSCorrelFctn(){};
100 TH1* GetResult();
101 protected:
102 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQtLCMS();}
103 private:
104 ClassDef(AliHBTQtLCMSCorrelFctn,2)
105};
106/*************************************************************************************/
953577f3 107
78d7c6d3 108class AliHBTQSideLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
953577f3 109{
78d7c6d3 110//Q SideLCMSaraint Correlation Function
953577f3 111//1D two particle function
112 public:
78d7c6d3 113 AliHBTQSideLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
114 virtual ~AliHBTQSideLCMSCorrelFctn(){}
953577f3 115 TH1* GetResult();
116 protected:
78d7c6d3 117 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQSideLCMS();}
db21c92b 118 private:
78d7c6d3 119 ClassDef(AliHBTQSideLCMSCorrelFctn,2)
953577f3 120};
121/*************************************************************************************/
1b446896 122
00aa96f1 123class AliHBTQtCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
124{
125//Q Longaraint Correlation Function
126//1D two particle function
127 public:
128 AliHBTQtCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
129 virtual ~AliHBTQtCorrelFctn(){};
130 TH1* GetResult();
131 protected:
132 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQt();}
133 private:
377276f3 134 ClassDef(AliHBTQtCorrelFctn,1)
00aa96f1 135};
136/*************************************************************************************/
137
27b3fe5d 138class AliHBTInvMassCorrelFctn: public AliHBTOnePairFctn1D
1b446896 139{
140// Invariant Mass Function
141 public:
142 AliHBTInvMassCorrelFctn(Int_t nbins = 2000, Double_t maxXval = 2., Double_t minXval = 0.0);
143 virtual ~AliHBTInvMassCorrelFctn(){};
144 TH1* GetResult();
145 protected:
a22a56ec 146 Double_t GetValue(AliHBTPair * pair) const { return pair->GetInvMass();}
db21c92b 147 private:
1b446896 148 ClassDef(AliHBTInvMassCorrelFctn,1)
1b446896 149};
150
4866a439 151/*************************************************************************************/
152
fc13079c 153class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
4866a439 154{
155// Correlation Function of 2*KStar
156 public:
157 AliHBTTwoKStarCorrelFctn(Int_t nbins = 200, Double_t maxXval = 0.15, Double_t minXval = 0.0);
158 virtual ~AliHBTTwoKStarCorrelFctn(){};
159 TH1* GetResult();
160 protected:
a22a56ec 161 Double_t GetValue(AliHBTPair * pair) const { return 2.0*pair->GetKStar();}
db21c92b 162 private:
fc13079c 163 ClassDef(AliHBTTwoKStarCorrelFctn,2)
4866a439 164};
1b446896 165
087f87e7 166/*************************************************************************************/
167
168class AliHBTAvSeparCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
169{
170// Correlation Function of 2*KStar
171 public:
172 AliHBTAvSeparCorrelFctn(Int_t nbins = 200, Double_t maxXval = 30, Double_t minXval = 0.0);
173 virtual ~AliHBTAvSeparCorrelFctn(){};
174 TH1* GetResult();
175 protected:
a22a56ec 176 Double_t GetValue(AliHBTPair * pair) const { return pair->GetAvarageDistance();}
087f87e7 177 private:
178 ClassDef(AliHBTAvSeparCorrelFctn,2)
179};
180
1b446896 181#endif