1 #ifndef ALICFCONTAINER_H
2 #define ALICFCONTAINER_H
6 //--------------------------------------------------------------------//
8 // AliCFContainer Class //
9 // Class to handle input data for correction Framework //
11 //--------------------------------------------------------------------//
13 #include "AliCFFrame.h"
21 class AliCFContainer : public AliCFFrame
25 AliCFContainer(const Char_t* name,const Char_t* title);
26 AliCFContainer(const Char_t* name, const Char_t* title,const Int_t nSelStep, const Int_t nVarIn, const Int_t* nBinIn, const Double_t *binLimitsIn=0, const Bool_t useSparse = kTRUE);
27 AliCFContainer(const AliCFContainer& c);
29 virtual ~AliCFContainer();
30 AliCFContainer& operator=(const AliCFContainer& corr);
31 virtual Int_t GetNStep() const {return fNStep;};
32 virtual void SetBinLimits(Int_t varindex, Double_t * array);
33 virtual void Fill(Double_t *var, Int_t istep, Double_t weight=1.);
35 virtual void SetExcludeOffEntriesInProj(Bool_t in){fExclOffEntriesInProj=in;};
36 virtual Bool_t GetExcludeOffEntriesInProj( ) const {return fExclOffEntriesInProj;};
37 virtual Float_t GetOverFlows(Int_t var,Int_t istep) const;
38 virtual Float_t GetUnderFlows(Int_t var,Int_t istep)const ;
39 virtual Float_t GetEntries(Int_t istep)const ;
40 virtual Int_t GetEmptyBins(Int_t istep)const ;
41 virtual Int_t GetEmptyBins(Int_t istep, Double_t *varMin,Double_t *varMax) const ;
42 virtual Double_t GetIntegral(Int_t istep) const ;
43 virtual Double_t GetIntegral(Int_t istep, Double_t *varMin,Double_t *varMax) const ;
46 virtual void Copy(TObject& c) const;
47 virtual void Add(AliCFContainer* aContainerToAdd, Double_t c=1.);
48 virtual Long64_t Merge(TCollection* list);
50 virtual TH1D* ShowProjection( Int_t ivar, Int_t istep) const;
51 virtual TH2D* ShowProjection( Int_t ivar1, Int_t ivar2, Int_t istep) const;
52 virtual TH3D* ShowProjection( Int_t ivar1, Int_t ivar2,Int_t ivar3, Int_t istep) const;
53 virtual TH1D* ShowSlice( Int_t ivar, Double_t *varMin, Double_t *varMax, Int_t istep) const;
54 virtual AliCFVGrid * GetGrid(Int_t istep) const {return (AliCFVGrid*)fGrid[istep];};
57 Int_t fNStep; //number of selection steps
58 Bool_t fExclOffEntriesInProj; // exclude under/overflows in
59 AliCFVGrid **fGrid;//[fNStep]
61 ClassDef(AliCFContainer,3);