]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CORRFW/AliCFEffGrid.h
AddTaskFemto for train update
[u/mrichter/AliRoot.git] / CORRFW / AliCFEffGrid.h
index 0e3560d58bbdc5dac3bfced285b3b8ade036e953..b60f68153359805d5b8a9807cdd49d0a5ba7aa40 100644 (file)
@@ -3,12 +3,12 @@
 
 /* $Id$ */
 
-//--------------------------------------------------------------------//
-//                                                                    //
+//-----------------------------------------------------------------//
+//                                                                 //
 // AliCFEffGrid Class                                              //
-// Class to handle efficiency grids                                   // 
-//                                                                    //
-//--------------------------------------------------------------------//
+// Class to handle efficiency grids                                // 
+//                                                                 //
+//-----------------------------------------------------------------//
 
 #include "AliCFGridSparse.h"
 #include "AliCFContainer.h"
@@ -20,37 +20,31 @@ class AliCFEffGrid : public AliCFGridSparse
 {
  public:
   AliCFEffGrid();
-  AliCFEffGrid(const Char_t* name,const Char_t* title, const Int_t nVarIn, const Int_t* nBinIn, const Double_t  *binLimitsIn=0);
-  AliCFEffGrid(const Char_t* name,const Char_t* title,const AliCFContainer &c);
-  AliCFEffGrid(const AliCFEffGrid& eff);
-  
+  AliCFEffGrid(const Char_t* name,const Char_t* title, const Int_t nVarIn, const Int_t* nBinIn);
+  AliCFEffGrid(const Char_t* name,const Char_t* title, const AliCFContainer &c);
   virtual ~AliCFEffGrid();
+  AliCFEffGrid(const AliCFEffGrid& eff);
   AliCFEffGrid& operator=(const AliCFEffGrid& eff);
+  
   virtual Double_t GetAverage() const ;
-  virtual Double_t GetAverage(Double_t *varMin,Double_t *varMax) const ;
   virtual Int_t GetSelNumStep() const {return fSelNum;};
   virtual Int_t GetSelDenStep() const {return fSelDen;};
-  virtual TH1D* Project( Int_t ivar) const;
-  virtual TH2D* Project( Int_t ivar1, Int_t ivar2) const;
-  virtual TH3D* Project( Int_t ivar1, Int_t ivar2,Int_t ivar3) const;
+  virtual TH1*  Project(Int_t ivar1, Int_t ivar2=-1,Int_t ivar3=-1) const;
+  virtual AliCFGridSparse*  Project(Int_t, const Int_t*, const Double_t*, const Double_t*, Bool_t) const {AliWarning("should not be used"); return 0x0;}
+  virtual AliCFEffGrid* MakeSlice(Int_t nVars, const Int_t* vars, const Double_t* varMin, const Double_t* varMax, Bool_t useBins=0) const;
 
   //Efficiency calculation
-  virtual void  CalculateEfficiency(Int_t istep1, Int_t istep2);
-  virtual const AliCFVGrid*  GetNum() {return (AliCFVGrid*)fContainer->GetGrid(fSelNum);};
-  virtual const AliCFVGrid*  GetDen() {return (AliCFVGrid*)fContainer->GetGrid(fSelDen);};
+  virtual void  CalculateEfficiency(Int_t istep1, Int_t istep2, Option_t *option ="B" /*binomial*/);
+  virtual AliCFGridSparse*  GetNum() const {return fContainer->GetGrid(fSelNum);};
+  virtual AliCFGridSparse*  GetDen() const {return fContainer->GetGrid(fSelDen);};
   virtual void  SetContainer(const AliCFContainer &c) {fContainer=&c;};
 
-  //basic operations
-  virtual void Copy(TObject& eff) const;
-  
  private:
-  const    AliCFContainer *fContainer; //pointer to the input AliContainer
-  Int_t fSelNum; //numerator selection step
-  Int_t fSelDen; //denominator selection step
+  const AliCFContainer *fContainer; //pointer to the input AliContainer
+  Int_t fSelNum;                    //numerator selection step
+  Int_t fSelDen;                    //denominator selection step
   
   ClassDef(AliCFEffGrid,1);
 };
     
 #endif
-