]> git.uio.no Git - u/mrichter/AliRoot.git/blob - CORRFW/AliCFContainer.h
some cleanup+ fix QA histos (I.Kraus)
[u/mrichter/AliRoot.git] / CORRFW / AliCFContainer.h
1 #ifndef ALICFCONTAINER_H
2 #define ALICFCONTAINER_H
3
4 /* $Id$ */
5
6 //--------------------------------------------------------------------//
7 //                                                                    //
8 // AliCFContainer Class                                               //
9 // Class to handle input data for correction Framework                // 
10 //                                                                    //
11 //--------------------------------------------------------------------//
12
13 #include "AliCFFrame.h"
14
15 class TH1F;
16 class TH2F;
17 class TH3F;
18 class AliCFGrid;
19
20 class AliCFContainer : public AliCFFrame
21 {
22  public:
23   AliCFContainer();
24   AliCFContainer(const Char_t* name,const Char_t* title);
25   AliCFContainer(const Char_t* name, const Char_t* title,const Int_t nSelStep, const Int_t nVarIn, const Int_t* nBinIn, const Float_t  *binLimitsIn=0);
26   AliCFContainer(const AliCFContainer& c);
27   
28   virtual ~AliCFContainer();
29   AliCFContainer& operator=(const AliCFContainer& corr);
30   virtual Int_t GetNStep() const {return fNStep;};
31   virtual void  SetBinLimits(Int_t varindex, Float_t * array);
32   virtual void  Fill(Float_t *var, Int_t istep, Float_t weight=1.);
33
34   virtual Float_t GetOverFlows(Int_t var,Int_t istep) const;
35   virtual Float_t GetUnderFlows(Int_t var,Int_t istep)const ;
36   virtual Float_t GetOverFlows(Int_t istep)const ;
37   virtual Float_t GetUnderFlows(Int_t istep)const ;
38   virtual Float_t GetEntries(Int_t istep)const ;
39   virtual Int_t   GetEmptyBins(Int_t istep)const ;
40   virtual Int_t   GetEmptyBins(Int_t istep, Float_t *varMin,Float_t *varMax) const ;
41   virtual Float_t GetIntegral(Int_t istep) const ;
42   virtual Float_t GetIntegral(Int_t istep, Float_t *varMin,Float_t *varMax) const ;
43   //basic operations
44
45   virtual void Copy(TObject& c) const;
46   virtual void Add(AliCFContainer* aContainerToAdd, Float_t c=1.);
47   virtual Long64_t Merge(TCollection* list);
48
49   virtual TH1F* ShowProjection( Int_t ivar, Int_t istep) const;
50   virtual TH2F* ShowProjection( Int_t ivar1, Int_t ivar2, Int_t istep) const;
51   virtual TH3F* ShowProjection( Int_t ivar1, Int_t ivar2,Int_t ivar3, Int_t istep) const;
52   virtual TH1F* ShowSlice( Int_t ivar, Float_t *varMin, Float_t *varMax, Int_t istep) const;
53   virtual AliCFGrid * GetGrid(Int_t istep) const {return fGrid[istep];};
54   
55  private:
56   Int_t    fNStep; //number of selection steps
57   AliCFGrid **fGrid;//[fNStep]
58   
59   ClassDef(AliCFContainer,1);
60 };
61     
62 #endif
63