]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTQResolutionFctns.h
Writting to specified file implemented
[u/mrichter/AliRoot.git] / HBTAN / AliHBTQResolutionFctns.h
index 4535a4974f52fda06be36c5733eae1cc9a0c4aab..67abd8318113e9a5389670099666a218dcf4ce21 100644 (file)
-#ifndef ALIHBTQOUTVSQINVRESOLFCTN_H
-#define ALIHBTQOUTVSQINVRESOLFCTN_H
-//General Remark:
-//CMSLC means
-//Center of Mass System Longitudially Co-moving
+#ifndef ALIHBTQRESOLUTIONFCTNS_H
+#define ALIHBTQRESOLUTIONFCTNS_H
+//__________________________________________________________________
+////////////////////////////////////////////////////////////////////
+//                                                                //
+// General Remark:                                                //
+// LCMS means                                                    //
+// Center of Mass System Longitudially Co-moving                  //
+//                                                                //
+//                                                                //
+// This class creates resolution function of Qout                 //
+// (difference of simulated pair Qout and recontructed pair)      //
+// in function of QInv                                            //
+// it inherits from AliHBTTwoPairFctn2D                           //
+//  it needs two pairs to compare                                 //
+//  and is two dimentional: numerator and denominator are TH2D    //
+//                                                                //
+////////////////////////////////////////////////////////////////////
 
 
-//this class creates resolution function of Qout 
-//(difference of simulated pair Qout and recontructed pair)
-//in function of QInv
-//it inherits from AliHBTTwoPairFctn2D
-//  it needs two pairs to compare
-//  and is two dimentional: numerator and denominator are TH2D
+class AliHBTKtResolVsQInvFctn;  //Kt Res   Vs   QInvLCMS 
 
-class AliHBTQOutResolVSQInvFctn;  //QOutCMSLC  Res   VS   QInvCMSLC 
-class AliHBTQSideResolVSQInvFctn; //QSideCMSLC Res   VS   QInvCMSLC 
-class AliHBTQLongResolVSQInvFctn; //QLongCMSLC Res   VS   QInvCMSLC 
+class AliHBTQOutResolVsQInvFctn;  //QOutLCMS  Res   Vs   QInvLCMS 
+class AliHBTQSideResolVsQInvFctn; //QSideLCMS Res   Vs   QInvLCMS 
+class AliHBTQLongResolVsQInvFctn; //QLongLCMS Res   Vs   QInvLCMS 
+class AliHBTQInvResolVsQInvFctn;  //QInvLCMS Res   Vs   QInvLCMS 
 
-class AliHBTQInvResolVSKtFctn;    //QInvCMSLC  Res   VS   Kt
-class AliHBTQOutResolVSKtFctn;    //QOutCMSLC  Res   VS   Kt
-class AliHBTQSideResolVSKtFctn;   //QSideCMSLC Res   VS   Kt
-class AliHBTQLongResolVSKtFctn;   //QLongCMSLC Res   VS   Kt
+class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res   Vs   QInvLCMS
+class AliHBTPairPhiResolVsQInvFctn;  //PairPhi   Res   Vs   QInvLCMS
 
-class AliHBTQOutResolVSQOutFctn;  //QOutCMSLC  Res   VS   QOut
-class AliHBTQSideResolVSQSideFctn;//QSideCMSLC Res   VS   QSide
-class AliHBTQLongResolVSQLongFctn;//QLongCMSLC Res   VS   QLong
+class AliHBTQInvResolVsKtFctn;    //QInvLCMS  Res   Vs   Kt
+class AliHBTQOutResolVsKtFctn;    //QOutLCMS  Res   Vs   Kt
+class AliHBTQSideResolVsKtFctn;   //QSideLCMS Res   Vs   Kt
+class AliHBTQLongResolVsKtFctn;   //QLongLCMS Res   Vs   Kt
 
+class AliHBTPairThetaResolVsKtFctn;   //PairTheta Res   Vs   Kt
+class AliHBTPairPhiResolVsKtFctn;   //PairPhi Res   Vs   Kt
 
+
+class AliHBTQOutResolVsQOutFctn;  //QOutLCMS  Res   Vs   QOut
+class AliHBTQSideResolVsQSideFctn;//QSideLCMS Res   Vs   QSide
+class AliHBTQLongResolVsQLongFctn;//QLongLCMS Res   Vs   QLong
+
+
 #include "AliHBTFunction.h"
 /***********************************************************************/
 /***********************************************************************/
-class AliHBTQOutResolVSQInvFctn: public AliHBTTwoPairFctn2D
+class AliHBTKtResolVsQInvFctn: public AliHBTTwoPairFctn2D
+ {
+  public: 
+   AliHBTKtResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
+                           Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+   
+   virtual ~AliHBTKtResolVsQInvFctn(){}
+   
+   TH1* GetResult(){return this->fNumerator;}  
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTKtResolVsQInvFctn,1)
+ };
+
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTQInvResolVsQInvFctn: public AliHBTTwoPairFctn2D
  {
   public: 
-   AliHBTQOutResolVSQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
+   AliHBTQInvResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
    
-   virtual ~AliHBTQOutResolVSQInvFctn(){}
+   virtual ~AliHBTQInvResolVsQInvFctn(){}
    
-   TH1* GetResult(){return fNumerator;}  
-   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
-    {
-     y = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
-     x = partpair->GetQInv();
-    }
-  protected:
-  private: 
-  public:
-    ClassDef(AliHBTQOutResolVSQInvFctn,1)
+   TH1* GetResult(){return this->fNumerator;}  
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTQInvResolVsQInvFctn,1)
  };
 
+
 /***********************************************************************/
 /***********************************************************************/
-class AliHBTQSideResolVSQInvFctn: public AliHBTTwoPairFctn2D
+class AliHBTQOutResolVsQInvFctn: public AliHBTTwoPairFctn2D
  {
   public: 
-   AliHBTQSideResolVSQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
+   AliHBTQOutResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
+                             Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+   
+   virtual ~AliHBTQOutResolVsQInvFctn(){}
+   
+   TH1* GetResult(){return this->fNumerator;}  
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTQOutResolVsQInvFctn,1)
+ };
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTQSideResolVsQInvFctn: public AliHBTTwoPairFctn2D
+ {
+  public: 
+   AliHBTQSideResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
-   virtual ~AliHBTQSideResolVSQInvFctn(){}
+   virtual ~AliHBTQSideResolVsQInvFctn(){}
 
-   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair,  Double_t& x, Double_t& y)
-    {
-     y = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
-     x = partpair->GetQInv();
-    }
-   TH1* GetResult(){return fNumerator;} 
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTQSideResolVSQInvFctn,1)
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair,  Double_t& x, Double_t& y) const;
+   TH1* GetResult(){return this->fNumerator;} 
+   ClassDef(AliHBTQSideResolVsQInvFctn,1)
  };
 
 /***********************************************************************/
 /***********************************************************************/
-class AliHBTQLongResolVSQInvFctn: public AliHBTTwoPairFctn2D
+class AliHBTQLongResolVsQInvFctn: public AliHBTTwoPairFctn2D
  {
   public: 
-   AliHBTQLongResolVSQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
+   AliHBTQLongResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
-   virtual ~AliHBTQLongResolVSQInvFctn(){}
+   virtual ~AliHBTQLongResolVsQInvFctn(){}
 
-   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
-    {
-     y = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
-     x = partpair->GetQInv();
-    }
-   TH1* GetResult(){return fNumerator;} 
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTQLongResolVSQInvFctn,1)
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   TH1* GetResult(){return this->fNumerator;} 
+   ClassDef(AliHBTQLongResolVsQInvFctn,1)
  };
 
 /***********************************************************************/
 /***********************************************************************/
-class AliHBTQInvResolVSKtFctn: public AliHBTTwoPairFctn2D
+class AliHBTQInvResolVsKtFctn: public AliHBTTwoPairFctn2D
  {
   public: 
-   AliHBTQInvResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
+   AliHBTQInvResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
-   virtual ~AliHBTQInvResolVSKtFctn(){};
+   virtual ~AliHBTQInvResolVsKtFctn(){};
 
-   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
-    {
-     y = partpair->GetQInv() - trackpair->GetQInv();
-     x = partpair->GetKt();
-    }
-   TH1* GetResult(){return fNumerator;} 
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTQInvResolVSKtFctn,1)
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   TH1* GetResult(){return this->fNumerator;} 
+   ClassDef(AliHBTQInvResolVsKtFctn,1)
  };
 /***********************************************************************/
 /***********************************************************************/
-class AliHBTQOutResolVSKtFctn: public AliHBTTwoPairFctn2D
+class AliHBTQOutResolVsKtFctn: public AliHBTTwoPairFctn2D
  {
   public: 
-   AliHBTQOutResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
+   AliHBTQOutResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
-   virtual ~AliHBTQOutResolVSKtFctn(){}
-   TH1* GetResult(){return GetNumerator();}
-   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
-    {
-     y = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
-     x = partpair->GetKt();
-    }
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTQOutResolVSKtFctn,1)
+   virtual ~AliHBTQOutResolVsKtFctn(){}
+   TH1* GetResult(){return this->GetNumerator();}
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTQOutResolVsKtFctn,1)
  };
 /***********************************************************************/
 /***********************************************************************/
-class AliHBTQSideResolVSKtFctn: public AliHBTTwoPairFctn2D
+class AliHBTQSideResolVsKtFctn: public AliHBTTwoPairFctn2D
  {
   public: 
-   AliHBTQSideResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
+   AliHBTQSideResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
                             Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
-   virtual ~AliHBTQSideResolVSKtFctn(){}
-   TH1* GetResult(){return GetNumerator();}
-   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
-    {
-     y = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
-     x = partpair->GetKt();
-    }
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTQSideResolVSKtFctn,1)
+   virtual ~AliHBTQSideResolVsKtFctn(){}
+   TH1* GetResult(){return this->GetNumerator();}
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTQSideResolVsKtFctn,1)
  };
 /***********************************************************************/
 /***********************************************************************/
-class AliHBTQLongResolVSKtFctn: public AliHBTTwoPairFctn2D
+class AliHBTQLongResolVsKtFctn: public AliHBTTwoPairFctn2D
  {
   public: 
-   AliHBTQLongResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
+   AliHBTQLongResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, 
                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
-   virtual ~AliHBTQLongResolVSKtFctn(){}
+   virtual ~AliHBTQLongResolVsKtFctn(){}
 
-   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
-    {
-     y = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
-     x = partpair->GetKt();
-    }
-   TH1* GetResult(){return fNumerator;}  
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTQLongResolVSKtFctn,1)
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   TH1* GetResult(){return this->GetNumerator();}
+   ClassDef(AliHBTQLongResolVsKtFctn,1)
  };
 /***********************************************************************/
 /***********************************************************************/
-class AliHBTQOutResolVSQOutFctn: public AliHBTTwoPairFctn2D
+class AliHBTQOutResolVsQOutFctn: public AliHBTTwoPairFctn2D
  {
   public: 
-   AliHBTQOutResolVSQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, 
+   AliHBTQOutResolVsQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, 
                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
-   virtual ~AliHBTQOutResolVSQOutFctn(){}
+   virtual ~AliHBTQOutResolVsQOutFctn(){}
 
-   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
-    {
-     x = partpair->GetQOutCMSLC();
-     y = x - trackpair->GetQOutCMSLC();
-    }
-   TH1* GetResult(){return fNumerator;}  
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTQOutResolVSQOutFctn,1)
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   TH1* GetResult(){return this->fNumerator;}  
+   ClassDef(AliHBTQOutResolVsQOutFctn,1)
  };
 
 /***********************************************************************/
 /***********************************************************************/
 
-class AliHBTQSideResolVSQSideFctn: public AliHBTTwoPairFctn2D
+class AliHBTQSideResolVsQSideFctn: public AliHBTTwoPairFctn2D
  {
   public: 
-   AliHBTQSideResolVSQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, 
+   AliHBTQSideResolVsQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, 
                              Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
-   virtual ~AliHBTQSideResolVSQSideFctn(){}
+   virtual ~AliHBTQSideResolVsQSideFctn(){}
 
-   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
-    {
-     x = partpair->GetQSideCMSLC();
-     y = x - trackpair->GetQSideCMSLC();
-    }
-   TH1* GetResult(){return fNumerator;}  
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTQSideResolVSQSideFctn,1)
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   TH1* GetResult(){return this->fNumerator;}  
+   ClassDef(AliHBTQSideResolVsQSideFctn,1)
  };
 
-
 /***********************************************************************/
 /***********************************************************************/
 
-class AliHBTQLongResolVSQLongFctn: public AliHBTTwoPairFctn2D
+class AliHBTQLongResolVsQLongFctn: public AliHBTTwoPairFctn2D
  {
   public: 
-   AliHBTQLongResolVSQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
+   AliHBTQLongResolVsQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
                              Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
-   virtual ~AliHBTQLongResolVSQLongFctn(){}
+   virtual ~AliHBTQLongResolVsQLongFctn(){}
 
-   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
-    {
-     x = partpair->GetQLongCMSLC();
-     y = x - trackpair->GetQLongCMSLC();
-    }
-   TH1* GetResult(){return fNumerator;}  
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTQLongResolVSQLongFctn,1)
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   TH1* GetResult(){return this->fNumerator;}  
+   ClassDef(AliHBTQLongResolVsQLongFctn,1)
  };
+/***********************************************************************/
+/***********************************************************************/
 
+class AliHBTPairThetaResolVsQInvFctn: public AliHBTTwoPairFctn2D
+ {
+  public: 
+   AliHBTPairThetaResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
+                             Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+   
+   virtual ~AliHBTPairThetaResolVsQInvFctn(){}
+   
+   TH1* GetResult(){return this->fNumerator;}  
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTPairThetaResolVsQInvFctn,1)
+ };
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairThetaResolVsPairThetaFctn: public AliHBTTwoPairFctn2D
+ {
+  public: 
+   AliHBTPairThetaResolVsPairThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(), 
+                             Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+   
+   virtual ~AliHBTPairThetaResolVsPairThetaFctn(){}
+   
+   TH1* GetResult(){return this->fNumerator;}  
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTPairThetaResolVsPairThetaFctn,1)
+ };
+
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairPhiResolVsQInvFctn: public AliHBTTwoPairFctn2D
+ {
+  public: 
+   AliHBTPairPhiResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
+                             Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+   
+   virtual ~AliHBTPairPhiResolVsQInvFctn(){}
+   
+   TH1* GetResult(){return this->fNumerator;}  
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTPairPhiResolVsQInvFctn,1)
+ };
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairThetaResolVsKtFctn: public AliHBTTwoPairFctn2D
+ {
+  public: 
+   AliHBTPairThetaResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
+                             Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+   
+   virtual ~AliHBTPairThetaResolVsKtFctn(){}
+   
+   TH1* GetResult(){return this->fNumerator;}  
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTPairThetaResolVsKtFctn,1)
+ };
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairPhiResolVsKtFctn: public AliHBTTwoPairFctn2D
+ {
+  public: 
+   AliHBTPairPhiResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, 
+                             Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+   
+   virtual ~AliHBTPairPhiResolVsKtFctn(){}
+   
+   TH1* GetResult(){return this->fNumerator;}  
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTPairPhiResolVsKtFctn,1)
+ };
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairPhiResolVsPairPhiFctn: public AliHBTTwoPairFctn2D
+ {
+  public: 
+   AliHBTPairPhiResolVsPairPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0, 
+                             Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+   
+   virtual ~AliHBTPairPhiResolVsPairPhiFctn(){}
+   
+   TH1* GetResult(){return this->fNumerator;}  
+   void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+   ClassDef(AliHBTPairPhiResolVsPairPhiFctn,1)
+ };
 
 
 #endif