]>
Commit | Line | Data |
---|---|---|
563113d0 | 1 | #ifndef ALICFEFFGRID_H |
2 | #define ALICFEFFGRID_H | |
3 | ||
4 | /* $Id$ */ | |
5 | ||
fb494025 | 6 | //-----------------------------------------------------------------// |
7 | // // | |
563113d0 | 8 | // AliCFEffGrid Class // |
fb494025 | 9 | // Class to handle efficiency grids // |
10 | // // | |
11 | //-----------------------------------------------------------------// | |
563113d0 | 12 | |
25488e18 | 13 | #include "AliCFGridSparse.h" |
563113d0 | 14 | #include "AliCFContainer.h" |
1e9dad92 | 15 | class TH1D; |
16 | class TH2D; | |
17 | class TH3D; | |
563113d0 | 18 | |
25488e18 | 19 | class AliCFEffGrid : public AliCFGridSparse |
563113d0 | 20 | { |
21 | public: | |
22 | AliCFEffGrid(); | |
fb494025 | 23 | AliCFEffGrid(const Char_t* name,const Char_t* title, const Int_t nVarIn, const Int_t* nBinIn); |
563113d0 | 24 | AliCFEffGrid(const Char_t* name,const Char_t* title,const AliCFContainer &c); |
563113d0 | 25 | virtual ~AliCFEffGrid(); |
fb494025 | 26 | AliCFEffGrid(const AliCFEffGrid& eff); |
563113d0 | 27 | AliCFEffGrid& operator=(const AliCFEffGrid& eff); |
fb494025 | 28 | |
1e9dad92 | 29 | virtual Double_t GetAverage() const ; |
fb494025 | 30 | //virtual Double_t GetAverage(const Double_t *varMin, const Double_t *varMax) const {AliInfo("to be implemented properly"); return 0.;} |
563113d0 | 31 | virtual Int_t GetSelNumStep() const {return fSelNum;}; |
32 | virtual Int_t GetSelDenStep() const {return fSelDen;}; | |
1e9dad92 | 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; | |
98a5f772 | 36 | virtual AliCFEffGrid* Project(Int_t,const Int_t*, const Double_t*, const Double_t*,Bool_t) const {AliWarning("Function not to be used"); return 0x0;} |
37 | virtual AliCFEffGrid* MakeSlice(Int_t nVars, const Int_t* vars, const Double_t* varMin, const Double_t* varMax, Int_t numStep, Int_t denStep, Bool_t useBins=0) const; | |
563113d0 | 38 | |
39 | //Efficiency calculation | |
fb494025 | 40 | virtual void CalculateEfficiency(Int_t istep1, Int_t istep2, Option_t *option ="B" /*binomial*/); |
41 | virtual AliCFGridSparse* GetNum() const {return fContainer->GetGrid(fSelNum);}; | |
42 | virtual AliCFGridSparse* GetDen() const {return fContainer->GetGrid(fSelDen);}; | |
563113d0 | 43 | virtual void SetContainer(const AliCFContainer &c) {fContainer=&c;}; |
44 | ||
98a5f772 | 45 | //basic operations |
46 | /* virtual void Copy(TObject& eff) const; */ | |
47 | ||
563113d0 | 48 | private: |
fb494025 | 49 | const AliCFContainer *fContainer; //pointer to the input AliContainer |
50 | Int_t fSelNum; //numerator selection step | |
51 | Int_t fSelDen; //denominator selection step | |
563113d0 | 52 | |
53 | ClassDef(AliCFEffGrid,1); | |
54 | }; | |
55 | ||
56 | #endif | |
57 |