This commit was generated by cvs2svn to compensate for changes in r23278,
[u/mrichter/AliRoot.git] / CORRFW / AliCFEffGrid.h
CommitLineData
563113d0 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#include <TNamed.h>
16#include <TTree.h>
17#include <TH1F.h>
18#include <TH2F.h>
19#include <TH3F.h>
20
21class AliCFEffGrid : public AliCFGrid
22{
23 public:
24 AliCFEffGrid();
25 AliCFEffGrid(const Char_t* name,const Char_t* title, const Int_t nVarIn, const Int_t* nBinIn, const Float_t *binLimitsIn=0);
26 AliCFEffGrid(const Char_t* name,const Char_t* title,const AliCFContainer &c);
27 AliCFEffGrid(const AliCFEffGrid& eff);
28
29 virtual ~AliCFEffGrid();
30 AliCFEffGrid& operator=(const AliCFEffGrid& eff);
31 virtual Float_t GetAverage() const ;
32 virtual Float_t GetAverage(Float_t *varMin,Float_t *varMax) const ;
33 virtual Int_t GetSelNumStep() const {return fSelNum;};
34 virtual Int_t GetSelDenStep() const {return fSelDen;};
35 virtual TH1F* Project( Int_t ivar) const;
36 virtual TH2F* Project( Int_t ivar1, Int_t ivar2) const;
37 virtual TH3F* Project( Int_t ivar1, Int_t ivar2,Int_t ivar3) const;
38
39 //Efficiency calculation
40 virtual void CalculateEfficiency(Int_t istep1, Int_t istep2);
41 virtual const AliCFGrid* GetNum() {return fContainer->GetGrid(fSelNum);};
42 virtual const AliCFGrid* GetDen() {return fContainer->GetGrid(fSelDen);};
43 virtual void SetContainer(const AliCFContainer &c) {fContainer=&c;};
44
45 //basic operations
46 virtual void Copy(TObject& eff) const;
47
48
49 private:
50 const AliCFContainer *fContainer; //pointer to the input AliContainer
51 Int_t fSelNum; //numerator selection step
52 Int_t fSelDen; //denominator selection step
53
54 ClassDef(AliCFEffGrid,1);
55};
56
57#endif
58