]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTCorrelFctn.h
Updated PaintContour() method
[u/mrichter/AliRoot.git] / HBTAN / AliHBTCorrelFctn.h
index bf9ea38f884238f42aff66385f86280685cb23ea..fe2fb4c576717902142ed8ad02bbb0631a7c8f83 100644 (file)
@@ -1,18 +1,29 @@
 #ifndef ALIHBTCORRELFUNCTION_H
 #define ALIHBTCORRELFUNCTION_H
-
-#include "AliHBTFunction.h"
-#include "AliHBTParticle.h"
-#include <Riostream.h>
-//Set of functions:
+//____________________________________________________________________________
+//////////////////////////////////////////////////////////////////////////////
+//
+// class AliHBTQInvCorrelFctn
+// class AliHBTQOutLCMSCorrelFctn
+// class AliHBTQLongLCMSCorrelFctn
+// class AliHBTQSideLCMSCorrelFctn
+// class AliHBTInvMassCorrelFctn
+// class AliHBTTwoKStarCorrelFctn
+//
+// Set of functions:
 //   Q Invaraint Correlation Function
 //   Invariant Mass Function
 //
-//more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html
-//Piotr.Skowronski@cern.ch
+// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html
+// Piotr.Skowronski@cern.ch
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include "AliHBTFunction.h"
+#include <Riostream.h>
 
 /*************************************************************************************/ 
-class AliHBTQInvCorrelFctn: public AliHBTOnePairFctn1D
+class AliHBTQInvCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
 {
 //Q Invaraint Correlation Function
 //1D two particle function 
@@ -21,58 +32,104 @@ class AliHBTQInvCorrelFctn: public AliHBTOnePairFctn1D
    virtual ~AliHBTQInvCorrelFctn(){};
    TH1* GetResult();
  protected:
-   Double_t GetValue(AliHBTPair * pair){return pair->GetQInv();}
+   Double_t GetValue(AliHBTPair * pair) const {return pair->GetQInv();}
+ private:  
+   ClassDef(AliHBTQInvCorrelFctn,2)
+};
+/*************************************************************/
+
+class AliHBTOutSideLongFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
+{
+
   public:
-    ClassDef(AliHBTQInvCorrelFctn,1)
+    AliHBTOutSideLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
+                          Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
+             Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
+    virtual  ~AliHBTOutSideLongFctn(){}
+
+    TH1* GetResult();
  
+  protected:
+    void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const;
+    
+  ClassDef(AliHBTOutSideLongFctn,1)
 };
+
 /*************************************************************************************/ 
 
-class AliHBTQOutCMSLCCorrelFctn: public AliHBTOnePairFctn1D
+class AliHBTQOutLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
 {
-//Q OutCMSLCaraint Correlation Function
+//Q OutLCMSaraint Correlation Function
 //1D two particle function 
  public:
-   AliHBTQOutCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
-   virtual ~AliHBTQOutCMSLCCorrelFctn(){};
+   AliHBTQOutLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
+   virtual ~AliHBTQOutLCMSCorrelFctn(){};
    TH1* GetResult();
  protected:
-   Double_t GetValue(AliHBTPair * pair){return TMath::Abs(pair->GetQOutCMSLC());}
-  public:
-    ClassDef(AliHBTQOutCMSLCCorrelFctn,1)
+   Double_t GetValue(AliHBTPair * pair) const {return pair->GetQOutLCMS();}
+ private:  
+    ClassDef(AliHBTQOutLCMSCorrelFctn,2)
 };
 /*************************************************************************************/ 
 
-class AliHBTQLongCMSLCCorrelFctn: public AliHBTOnePairFctn1D
+class AliHBTQLongLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
 {
-//Q LongCMSLCaraint Correlation Function
+//Q LongLCMSaraint Correlation Function
 //1D two particle function 
  public:
-   AliHBTQLongCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
-   virtual ~AliHBTQLongCMSLCCorrelFctn(){};
+   AliHBTQLongLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
+   virtual ~AliHBTQLongLCMSCorrelFctn(){};
    TH1* GetResult();
  protected:
-   Double_t GetValue(AliHBTPair * pair){return TMath::Abs(pair->GetQLongCMSLC());}
-  public:
-    ClassDef(AliHBTQLongCMSLCCorrelFctn,1)
+   Double_t GetValue(AliHBTPair * pair) const {return pair->GetQLongLCMS();}
+ private:  
+    ClassDef(AliHBTQLongLCMSCorrelFctn,2)
 };
 /*************************************************************************************/ 
 
-class AliHBTQSideCMSLCCorrelFctn: public AliHBTOnePairFctn1D
+class AliHBTQtLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
 {
-//Q SideCMSLCaraint Correlation Function
+//Q LongLCMSaraint Correlation Function
 //1D two particle function 
  public:
-   AliHBTQSideCMSLCCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
-   virtual ~AliHBTQSideCMSLCCorrelFctn(){}
+   AliHBTQtLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
+   virtual ~AliHBTQtLCMSCorrelFctn(){};
    TH1* GetResult();
  protected:
-   Double_t GetValue(AliHBTPair * pair){return TMath::Abs(pair->GetQSideCMSLC());}
-  public:
-    ClassDef(AliHBTQSideCMSLCCorrelFctn,1)
+   Double_t GetValue(AliHBTPair * pair) const {return pair->GetQtLCMS();}
+ private:  
+    ClassDef(AliHBTQtLCMSCorrelFctn,2)
+};
+/*************************************************************************************/ 
+
+class AliHBTQSideLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
+{
+//Q SideLCMSaraint Correlation Function
+//1D two particle function 
+ public:
+   AliHBTQSideLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
+   virtual ~AliHBTQSideLCMSCorrelFctn(){}
+   TH1* GetResult();
+ protected:
+   Double_t GetValue(AliHBTPair * pair) const {return pair->GetQSideLCMS();}
+ private:  
+    ClassDef(AliHBTQSideLCMSCorrelFctn,2)
+};
+/*************************************************************************************/ 
+
+class AliHBTQtCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
+{
+//Q Longaraint Correlation Function
+//1D two particle function 
+ public:
+   AliHBTQtCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
+   virtual ~AliHBTQtCorrelFctn(){};
+   TH1* GetResult();
+ protected:
+   Double_t GetValue(AliHBTPair * pair) const {return pair->GetQt();}
+ private:  
+    ClassDef(AliHBTQtCorrelFctn,1)
 };
 /*************************************************************************************/ 
 
@@ -84,15 +141,14 @@ class AliHBTInvMassCorrelFctn: public AliHBTOnePairFctn1D
    virtual ~AliHBTInvMassCorrelFctn(){};
    TH1* GetResult();
  protected:
-   Double_t GetValue(AliHBTPair * pair) { return pair->GetInvMass();}
-  public:
+   Double_t GetValue(AliHBTPair * pair) const { return pair->GetInvMass();}
+ private:  
     ClassDef(AliHBTInvMassCorrelFctn,1)
 };
 
 /*************************************************************************************/ 
 
-class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D
+class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
 {
 //   Correlation Function of 2*KStar
  public:
@@ -100,11 +156,112 @@ class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D
    virtual ~AliHBTTwoKStarCorrelFctn(){};
    TH1* GetResult();
  protected:
-   Double_t GetValue(AliHBTPair * pair) { return 2.0*pair->GetKStar();}
-  public:
-    ClassDef(AliHBTTwoKStarCorrelFctn,1)
+   Double_t GetValue(AliHBTPair * pair) const { return 2.0*pair->GetKStar();}
+ private:  
+    ClassDef(AliHBTTwoKStarCorrelFctn,2)
+};
+
+/*************************************************************************************/ 
+
+class AliHBTAvSeparCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
+{
+//   Correlation Function of 2*KStar
+ public:
+   AliHBTAvSeparCorrelFctn(Int_t nbins = 200, Double_t maxXval = 30, Double_t minXval = 0.0);
+   virtual ~AliHBTAvSeparCorrelFctn(){};
+   TH1* GetResult();
+ protected:
+   Double_t GetValue(AliHBTPair * pair) const { return pair->GetAvarageDistance();}
+ private:  
+    ClassDef(AliHBTAvSeparCorrelFctn,2)
+};
+
+/*************************************************************************************/ 
+
+class AliHBTAvSeparVsQInvCorrelFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
+{
+//   Correlation Function of 2*KStar
+ public:
+   AliHBTAvSeparVsQInvCorrelFctn(Int_t nXbins = 10, Double_t maxXval = 0.05, Double_t minXval = 0.,
+                           Int_t nYbins = 20, Double_t maxYval = 20, Double_t minYval = 0.0);
+   virtual ~AliHBTAvSeparVsQInvCorrelFctn(){};
+   TH1* GetResult();
+ protected:
+   void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
+    {
+     y = pair->GetAvarageDistance();
+     x = pair->GetQInv();
+    }
+ private:  
+    ClassDef(AliHBTAvSeparVsQInvCorrelFctn,1)
+};
+/*************************************************************************************/ 
+/*************************************************************************************/ 
+/*************************************************************************************/ 
+
+class AliHBTQOutQSideFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
+{
+
+  //  friend class AliHBTOnePairFctn1D;
+ public:
+  AliHBTQOutQSideFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
+                      Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
+  virtual ~AliHBTQOutQSideFctn(){};
+  TH1* GetResult();
+      
+ protected:
+   void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
+    {
+     y = pair->GetQSideLCMS();
+     x = pair->GetQOutLCMS();
+    }
+  ClassDef(AliHBTQOutQSideFctn,1)
  
 };
+/*************************************************************************************/ 
+
+class AliHBTQOutQLongFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
+{
 
+  //  friend class AliHBTOnePairFctn1D;
+ public:
+  AliHBTQOutQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
+                              Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
+  virtual ~AliHBTQOutQLongFctn(){};
+  TH1* GetResult();
+      
+ protected:
+   void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
+    {
+     y = pair->GetQLongLCMS();
+     x = pair->GetQOutLCMS();
+    }
+  ClassDef(AliHBTQOutQLongFctn,1)
+};
+/*************************************************************************************/ 
+
+class AliHBTQSideQLongFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction
+{
+
+  //  friend class AliHBTOnePairFctn1D;
+ public:
+  AliHBTQSideQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
+                             Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
+  virtual ~AliHBTQSideQLongFctn(){};
+  TH1* GetResult();
+      
+ protected:
+   void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const
+    {
+     y = pair->GetQLongLCMS();
+     x = pair->GetQSideLCMS();
+    }
+  ClassDef(AliHBTQSideQLongFctn,1)
+};
 
 #endif
+
+
+