1 #ifndef ALIHBTCORRELFUNCTION_H
2 #define ALIHBTCORRELFUNCTION_H
3 //____________________________________________________________________________
4 //////////////////////////////////////////////////////////////////////////////
6 // class AliHBTQInvCorrelFctn
7 // class AliHBTQOutCMSLCCorrelFctn
8 // class AliHBTQLongCMSLCCorrelFctn
9 // class AliHBTQSideCMSLCCorrelFctn
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(){}
52 void UseAbsoluteValues(Bool_t flag){fAbs = flag;}
55 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const;
57 Bool_t fAbs;//flag indicating if absolute values of qout, qside and qlong should be histogrammed
58 ClassDef(AliHBTOutSideLongFctn,1)
61 /*************************************************************************************/
63 class AliHBTQOutCMSLCCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
65 //Q OutCMSLCaraint Correlation Function
66 //1D two particle function
68 AliHBTQOutCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
69 virtual ~AliHBTQOutCMSLCCorrelFctn(){};
72 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQOutCMSLC();}
74 ClassDef(AliHBTQOutCMSLCCorrelFctn,2)
76 /*************************************************************************************/
78 class AliHBTQLongCMSLCCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
80 //Q LongCMSLCaraint Correlation Function
81 //1D two particle function
83 AliHBTQLongCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
84 virtual ~AliHBTQLongCMSLCCorrelFctn(){};
87 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQLongCMSLC();}
89 ClassDef(AliHBTQLongCMSLCCorrelFctn,2)
91 /*************************************************************************************/
93 class AliHBTQSideCMSLCCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
95 //Q SideCMSLCaraint Correlation Function
96 //1D two particle function
98 AliHBTQSideCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
99 virtual ~AliHBTQSideCMSLCCorrelFctn(){}
102 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQSideCMSLC();}
104 ClassDef(AliHBTQSideCMSLCCorrelFctn,2)
106 /*************************************************************************************/
108 class AliHBTInvMassCorrelFctn: public AliHBTOnePairFctn1D
110 // Invariant Mass Function
112 AliHBTInvMassCorrelFctn(Int_t nbins = 2000, Double_t maxXval = 2., Double_t minXval = 0.0);
113 virtual ~AliHBTInvMassCorrelFctn(){};
116 Double_t GetValue(AliHBTPair * pair) const { return pair->GetInvMass();}
118 ClassDef(AliHBTInvMassCorrelFctn,1)
121 /*************************************************************************************/
123 class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
125 // Correlation Function of 2*KStar
127 AliHBTTwoKStarCorrelFctn(Int_t nbins = 200, Double_t maxXval = 0.15, Double_t minXval = 0.0);
128 virtual ~AliHBTTwoKStarCorrelFctn(){};
131 Double_t GetValue(AliHBTPair * pair) const { return 2.0*pair->GetKStar();}
133 ClassDef(AliHBTTwoKStarCorrelFctn,2)
136 /*************************************************************************************/
138 class AliHBTAvSeparCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
140 // Correlation Function of 2*KStar
142 AliHBTAvSeparCorrelFctn(Int_t nbins = 200, Double_t maxXval = 30, Double_t minXval = 0.0);
143 virtual ~AliHBTAvSeparCorrelFctn(){};
146 Double_t GetValue(AliHBTPair * pair) const { return pair->GetAvarageDistance();}
148 ClassDef(AliHBTAvSeparCorrelFctn,2)