]> git.uio.no Git - u/mrichter/AliRoot.git/blob - CORRFW/AliCFEffGrid.h
Some cleaning and simplification in container-related classes and
[u/mrichter/AliRoot.git] / CORRFW / AliCFEffGrid.h
1 #ifndef ALICFEFFGRID_H
2 #define ALICFEFFGRID_H
3
4 /* $Id$ */
5
6 //--------------------------------------------------------------------//
7 //                                                                    //
8 // AliCFEffGrid Class                                              //
9 // Class to handle efficiency grids                                   // 
10 //                                                                    //
11 //--------------------------------------------------------------------//
12
13 #include "AliCFGrid.h"
14 #include "AliCFContainer.h"
15 class TH1D;
16 class TH2D;
17 class TH3D;
18
19 class AliCFEffGrid : public AliCFGrid
20 {
21  public:
22   AliCFEffGrid();
23   AliCFEffGrid(const Char_t* name,const Char_t* title, const Int_t nVarIn, const Int_t* nBinIn, const Double_t  *binLimitsIn=0);
24   AliCFEffGrid(const Char_t* name,const Char_t* title,const AliCFContainer &c);
25   AliCFEffGrid(const AliCFEffGrid& eff);
26   
27   virtual ~AliCFEffGrid();
28   AliCFEffGrid& operator=(const AliCFEffGrid& eff);
29   virtual Double_t GetAverage() const ;
30   virtual Double_t GetAverage(Double_t *varMin,Double_t *varMax) const ;
31   virtual Int_t GetSelNumStep() const {return fSelNum;};
32   virtual Int_t GetSelDenStep() const {return fSelDen;};
33   virtual TH1D* Project( Int_t ivar) const;
34   virtual TH2D* Project( Int_t ivar1, Int_t ivar2) const;
35   virtual TH3D* Project( Int_t ivar1, Int_t ivar2,Int_t ivar3) const;
36
37   //Efficiency calculation
38   virtual void  CalculateEfficiency(Int_t istep1, Int_t istep2);
39   virtual const AliCFVGrid*  GetNum() {return (AliCFVGrid*)fContainer->GetGrid(fSelNum);};
40   virtual const AliCFVGrid*  GetDen() {return (AliCFVGrid*)fContainer->GetGrid(fSelDen);};
41   virtual void  SetContainer(const AliCFContainer &c) {fContainer=&c;};
42
43   //basic operations
44   virtual void Copy(TObject& eff) const;
45  
46   
47  private:
48   const    AliCFContainer *fContainer; //pointer to the input AliContainer
49   Int_t fSelNum; //numerator selection step
50   Int_t fSelDen; //denominator selection step
51   
52   ClassDef(AliCFEffGrid,1);
53 };
54     
55 #endif
56