index 35470ca1df1d91b566651206f723622da172b131..81ba3ccd1f734ea68f53750d4ff7e10608bfc350 100644 (file)
@@ -1,14 +1,21 @@
#ifndef AliHBTTwoTrackEffFctn_H
#define AliHBTTwoTrackEffFctn_H
-//classes for calculating two track efficiency of the tracking
-//binning is done using value of simulated pair montum difference
-//pair must be recontructed, that is why we need both pairs
-//(simulated and recontructed), thus functions are "two pair"
-//Piotr.Skowronski@cern.ch
+//____________________________________________________________________
+//////////////////////////////////////////////////////////////////////
+//                                                                  //
+//  class AliHBTTwoTrackEffFctn                                     //
+//                                                                  //
+//  classes for calculating two track efficiency of the tracking    //
+//  binning is done using value of simulated pair montum difference //
+//  pair must be recontructed, that is why we need both pairs       //
+//  (simulated and recontructed), thus functions are "two pair"     //
+//  Piotr.Skowronski@cern.ch                                        //
+//                                                                  //
+//////////////////////////////////////////////////////////////////////
#include "AliHBTPair.h"
#include "AliHBTFunction.h"

-class AliHBTTwoTrackEffFctn: public AliHBTOnePairFctn1D
+class AliHBTTwoTrackEffFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
{
public:
AliHBTTwoTrackEffFctn();
@@ -16,25 +23,39 @@ class AliHBTTwoTrackEffFctn: public AliHBTOnePairFctn1D
virtual ~AliHBTTwoTrackEffFctn(){}
TH1* GetResult();
protected:
-    Double_t GetValue(AliHBTPair* pair){return pair->GetDeltaP();}
+    Double_t GetValue(AliHBTPair* pair) const {return pair->GetDeltaPvector();}
private:
-  public:
-    ClassDef(AliHBTTwoTrackEffFctn,1)
+    ClassDef(AliHBTTwoTrackEffFctn,2)
};
+/******************************************************************/

-class AliHBTTwoTrackEffFctn3D: public AliHBTOnePairFctn3D
+class AliHBTTwoTrackEffFctnPxPyPz: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
{
public:
-    AliHBTTwoTrackEffFctn3D();
-    virtual ~AliHBTTwoTrackEffFctn3D(){}
-
-    void ProcessSameEventParticles(AliHBTPair* pair){}
-    void ProcessDiffEventParticles(AliHBTPair* pair){}
-
+    AliHBTTwoTrackEffFctnPxPyPz(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 ~AliHBTTwoTrackEffFctnPxPyPz(){}
+    TH1* GetResult();
protected:
-    void GetValues(AliHBTPair*,Double_t&, Double_t&,Double_t&);
+    void GetValues(AliHBTPair* pair,Double_t& x, Double_t& y,Double_t& z) const;
private:
+    ClassDef(AliHBTTwoTrackEffFctnPxPyPz,2)
+ };
+/******************************************************************/
+
+class AliHBTTwoTrackEffFctnPtThetaPhi: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
+ {
public:
-    ClassDef(AliHBTTwoTrackEffFctn3D,1)
+    AliHBTTwoTrackEffFctnPtThetaPhi(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
+                                    Int_t nYbins = 100, Double_t maxYval = 0.3, Double_t minYval = 0.0,
+                       Int_t nZbins = 100, Double_t maxZval = 0.3, Double_t minZval = 0.0);
+    virtual ~AliHBTTwoTrackEffFctnPtThetaPhi(){}
+    TH1* GetResult();
+  protected:
+    void GetValues(AliHBTPair* pair,Double_t& x, Double_t& y,Double_t& z) const;
+  private:
+    ClassDef(AliHBTTwoTrackEffFctnPtThetaPhi,1)
};
+
#endif