Q transverse correlation function added
[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
27b3fe5d 123class AliHBTInvMassCorrelFctn: public AliHBTOnePairFctn1D
1b446896 124{
125// Invariant Mass Function
126 public:
127 AliHBTInvMassCorrelFctn(Int_t nbins = 2000, Double_t maxXval = 2., Double_t minXval = 0.0);
128 virtual ~AliHBTInvMassCorrelFctn(){};
129 TH1* GetResult();
130 protected:
a22a56ec 131 Double_t GetValue(AliHBTPair * pair) const { return pair->GetInvMass();}
db21c92b 132 private:
1b446896 133 ClassDef(AliHBTInvMassCorrelFctn,1)
1b446896 134};
135
4866a439 136/*************************************************************************************/
137
fc13079c 138class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
4866a439 139{
140// Correlation Function of 2*KStar
141 public:
142 AliHBTTwoKStarCorrelFctn(Int_t nbins = 200, Double_t maxXval = 0.15, Double_t minXval = 0.0);
143 virtual ~AliHBTTwoKStarCorrelFctn(){};
144 TH1* GetResult();
145 protected:
a22a56ec 146 Double_t GetValue(AliHBTPair * pair) const { return 2.0*pair->GetKStar();}
db21c92b 147 private:
fc13079c 148 ClassDef(AliHBTTwoKStarCorrelFctn,2)
4866a439 149};
1b446896 150
087f87e7 151/*************************************************************************************/
152
153class AliHBTAvSeparCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
154{
155// Correlation Function of 2*KStar
156 public:
157 AliHBTAvSeparCorrelFctn(Int_t nbins = 200, Double_t maxXval = 30, Double_t minXval = 0.0);
158 virtual ~AliHBTAvSeparCorrelFctn(){};
159 TH1* GetResult();
160 protected:
a22a56ec 161 Double_t GetValue(AliHBTPair * pair) const { return pair->GetAvarageDistance();}
087f87e7 162 private:
163 ClassDef(AliHBTAvSeparCorrelFctn,2)
164};
165
1b446896 166#endif