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){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)
55 { x=TMath::Abs(pair->GetQOutCMSLC()); y=TMath::Abs(pair->GetQSideCMSLC()); z=TMath::Abs(pair->GetQLongCMSLC());}
57 ClassDef(AliHBTOutSideLongFctn,1)
60 /*************************************************************************************/
62 class AliHBTQOutCMSLCCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
64 //Q OutCMSLCaraint Correlation Function
65 //1D two particle function
67 AliHBTQOutCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
68 virtual ~AliHBTQOutCMSLCCorrelFctn(){};
71 Double_t GetValue(AliHBTPair * pair){return pair->GetQOutCMSLC();}
73 ClassDef(AliHBTQOutCMSLCCorrelFctn,2)
75 /*************************************************************************************/
77 class AliHBTQLongCMSLCCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
79 //Q LongCMSLCaraint Correlation Function
80 //1D two particle function
82 AliHBTQLongCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
83 virtual ~AliHBTQLongCMSLCCorrelFctn(){};
86 Double_t GetValue(AliHBTPair * pair){return pair->GetQLongCMSLC();}
88 ClassDef(AliHBTQLongCMSLCCorrelFctn,2)
90 /*************************************************************************************/
92 class AliHBTQSideCMSLCCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
94 //Q SideCMSLCaraint Correlation Function
95 //1D two particle function
97 AliHBTQSideCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
98 virtual ~AliHBTQSideCMSLCCorrelFctn(){}
101 Double_t GetValue(AliHBTPair * pair){return pair->GetQSideCMSLC();}
103 ClassDef(AliHBTQSideCMSLCCorrelFctn,2)
105 /*************************************************************************************/
107 class AliHBTInvMassCorrelFctn: public AliHBTOnePairFctn1D
109 // Invariant Mass Function
111 AliHBTInvMassCorrelFctn(Int_t nbins = 2000, Double_t maxXval = 2., Double_t minXval = 0.0);
112 virtual ~AliHBTInvMassCorrelFctn(){};
115 Double_t GetValue(AliHBTPair * pair) { return pair->GetInvMass();}
117 ClassDef(AliHBTInvMassCorrelFctn,1)
120 /*************************************************************************************/
122 class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
124 // Correlation Function of 2*KStar
126 AliHBTTwoKStarCorrelFctn(Int_t nbins = 200, Double_t maxXval = 0.15, Double_t minXval = 0.0);
127 virtual ~AliHBTTwoKStarCorrelFctn(){};
130 Double_t GetValue(AliHBTPair * pair) { return 2.0*pair->GetKStar();}
132 ClassDef(AliHBTTwoKStarCorrelFctn,2)
135 /*************************************************************************************/
137 class AliHBTAvSeparCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
139 // Correlation Function of 2*KStar
141 AliHBTAvSeparCorrelFctn(Int_t nbins = 200, Double_t maxXval = 30, Double_t minXval = 0.0);
142 virtual ~AliHBTAvSeparCorrelFctn(){};
145 Double_t GetValue(AliHBTPair * pair) { return pair->GetAvarageDistance();}
147 ClassDef(AliHBTAvSeparCorrelFctn,2)