9c001a99efeb9264c106eb137c0e8a8d65b89dfc
[u/mrichter/AliRoot.git] / HBTAN / AliHBTCorrelFctn.h
1 #ifndef ALIHBTCORRELFUNCTION_H
2 #define ALIHBTCORRELFUNCTION_H
3
4 #include "AliHBTFunction.h"
5 #include "AliHBTParticle.h"
6 #include <Riostream.h>
7 //Set of functions:
8 //   Q Invaraint Correlation Function
9 //   Invariant Mass Function
10 //
11 //more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html
12 //Piotr.Skowronski@cern.ch
13
14 /*************************************************************************************/ 
15 class AliHBTQInvCorrelFctn: public AliHBTOnePairFctn1D
16 {
17 //Q Invaraint Correlation Function
18 //1D two particle function 
19  public:
20    AliHBTQInvCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
21    virtual ~AliHBTQInvCorrelFctn(){};
22    TH1* GetResult();
23  protected:
24    Double_t GetValue(AliHBTPair * pair){return pair->GetQInv();}
25   public:
26     ClassDef(AliHBTQInvCorrelFctn,1)
27  
28 };
29 /*************************************************************************************/ 
30
31 class AliHBTQOutCMSLCCorrelFctn: public AliHBTOnePairFctn1D
32 {
33 //Q OutCMSLCaraint Correlation Function
34 //1D two particle function 
35  public:
36    AliHBTQOutCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0):
37                         AliHBTOnePairFctn1D(nbins,maxXval,minXval){}
38    virtual ~AliHBTQOutCMSLCCorrelFctn(){};
39    TH1* GetResult();
40  protected:
41    Double_t GetValue(AliHBTPair * pair){return TMath::Abs(pair->GetQOutCMSLC());}
42   public:
43     ClassDef(AliHBTQOutCMSLCCorrelFctn,1)
44  
45 };
46 /*************************************************************************************/ 
47
48 class AliHBTQLongCMSLCCorrelFctn: public AliHBTOnePairFctn1D
49 {
50 //Q LongCMSLCaraint Correlation Function
51 //1D two particle function 
52  public:
53    AliHBTQLongCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0):
54                         AliHBTOnePairFctn1D(nbins,maxXval,minXval){}
55    virtual ~AliHBTQLongCMSLCCorrelFctn(){};
56    TH1* GetResult();
57  protected:
58    Double_t GetValue(AliHBTPair * pair){return TMath::Abs(pair->GetQLongCMSLC());}
59   public:
60     ClassDef(AliHBTQLongCMSLCCorrelFctn,1)
61  
62 };
63 /*************************************************************************************/ 
64
65 class AliHBTQSideCMSLCCorrelFctn: public AliHBTOnePairFctn1D
66 {
67 //Q SideCMSLCaraint Correlation Function
68 //1D two particle function 
69  public:
70    AliHBTQSideCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0):
71                         AliHBTOnePairFctn1D(nbins,maxXval,minXval){}
72    virtual ~AliHBTQSideCMSLCCorrelFctn(){}
73    TH1* GetResult();
74  protected:
75    Double_t GetValue(AliHBTPair * pair){return TMath::Abs(pair->GetQSideCMSLC());}
76   public:
77     ClassDef(AliHBTQSideCMSLCCorrelFctn,1)
78  
79 };
80 /*************************************************************************************/ 
81
82 class AliHBTInvMassCorrelFctn: public AliHBTOnePairFctn1D
83 {
84 //   Invariant Mass Function 
85  public:
86    AliHBTInvMassCorrelFctn(Int_t nbins = 2000, Double_t maxXval = 2., Double_t minXval = 0.0);
87    virtual ~AliHBTInvMassCorrelFctn(){};
88    TH1* GetResult();
89  protected:
90    Double_t GetValue(AliHBTPair * pair) { return pair->GetInvMass();}
91   public:
92     ClassDef(AliHBTInvMassCorrelFctn,1)
93  
94 };
95
96 /*************************************************************************************/ 
97
98 class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D
99 {
100 //   Correlation Function of 2*KStar
101  public:
102    AliHBTTwoKStarCorrelFctn(Int_t nbins = 200, Double_t maxXval = 0.15, Double_t minXval = 0.0);
103    virtual ~AliHBTTwoKStarCorrelFctn(){};
104    TH1* GetResult();
105  protected:
106    Double_t GetValue(AliHBTPair * pair) { return 2.0*pair->GetKStar();}
107   public:
108     ClassDef(AliHBTTwoKStarCorrelFctn,1)
109  
110 };
111
112
113 #endif