#ifndef ALICORRECTIONMATRIX3D_H
#define ALICORRECTIONMATRIX3D_H
#include <AliCorrectionMatrix.h>
#include <AliCorrectionMatrix2D.h>
class TH3;
class TH2;
class TH1;
class AliCorrectionMatrix3D : public AliCorrectionMatrix
{
public:
AliCorrectionMatrix3D();
AliCorrectionMatrix3D(const AliCorrectionMatrix3D& c);
AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
Int_t nBinX, Float_t Xmin, Float_t Xmax,
Int_t nBinY, Float_t Ymin, Float_t Ymax,
Int_t nBinZ, Float_t Zmin, Float_t Zmax);
AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
Int_t nBinX, Float_t Xmin, Float_t Xmax,
Int_t nBinY, Float_t Ymin, Float_t Ymax,
Int_t nBinZ, const Float_t* zbins);
AliCorrectionMatrix3D(const Char_t* name, const Char_t* title, TH3* hBinning);
virtual ~AliCorrectionMatrix3D();
AliCorrectionMatrix3D& operator= (const AliCorrectionMatrix3D& c);
void CreateHists(Int_t nBinX, const Float_t* binLimitsX,
Int_t nBinY, const Float_t* binLimitsY,
Int_t nBinZ, const Float_t* binLimitsZ);
TH3* GetGeneratedHistogram();
TH3* GetMeasuredHistogram();
TH3* GetCorrectionHistogram();
AliCorrectionMatrix2D* Get2DCorrection(Option_t* opt, Float_t aMin, Float_t aMax);
TH2* Get2DCorrectionHistogram(Option_t* opt, Float_t aMin, Float_t aMax) {return Get2DCorrection(opt,aMin,aMax)->GetCorrectionHistogram();}
TH1* Get1DCorrectionHistogram(Option_t* opt, Float_t aMins1=0, Float_t aMax1=0, Float_t aMins2=0, Float_t aMax2=0);
void FillMeas(Float_t ax, Float_t ay, Float_t az, Double_t weight = 1.);
void FillGene(Float_t ax, Float_t ay, Float_t az, Double_t weight = 1.);
Float_t GetCorrection(Float_t ax, Float_t ay, Float_t az) const;
void RemoveEdges(Float_t cut=2, Int_t nBinsXedge = 0, Int_t nBinsYedge = 0, Int_t nBinsZedge = 0);
virtual void SaveHistograms();
Int_t CheckEmptyBins(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax, Bool_t quiet = kFALSE);
TH1* PlotBinErrors(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax);
protected:
ClassDef(AliCorrectionMatrix3D,1)
};
#endif
AliCorrectionMatrix3D.h:1 AliCorrectionMatrix3D.h:2 AliCorrectionMatrix3D.h:3 AliCorrectionMatrix3D.h:4 AliCorrectionMatrix3D.h:5 AliCorrectionMatrix3D.h:6 AliCorrectionMatrix3D.h:7 AliCorrectionMatrix3D.h:8 AliCorrectionMatrix3D.h:9 AliCorrectionMatrix3D.h:10 AliCorrectionMatrix3D.h:11 AliCorrectionMatrix3D.h:12 AliCorrectionMatrix3D.h:13 AliCorrectionMatrix3D.h:14 AliCorrectionMatrix3D.h:15 AliCorrectionMatrix3D.h:16 AliCorrectionMatrix3D.h:17 AliCorrectionMatrix3D.h:18 AliCorrectionMatrix3D.h:19 AliCorrectionMatrix3D.h:20 AliCorrectionMatrix3D.h:21 AliCorrectionMatrix3D.h:22 AliCorrectionMatrix3D.h:23 AliCorrectionMatrix3D.h:24 AliCorrectionMatrix3D.h:25 AliCorrectionMatrix3D.h:26 AliCorrectionMatrix3D.h:27 AliCorrectionMatrix3D.h:28 AliCorrectionMatrix3D.h:29 AliCorrectionMatrix3D.h:30 AliCorrectionMatrix3D.h:31 AliCorrectionMatrix3D.h:32 AliCorrectionMatrix3D.h:33 AliCorrectionMatrix3D.h:34 AliCorrectionMatrix3D.h:35 AliCorrectionMatrix3D.h:36 AliCorrectionMatrix3D.h:37 AliCorrectionMatrix3D.h:38 AliCorrectionMatrix3D.h:39 AliCorrectionMatrix3D.h:40 AliCorrectionMatrix3D.h:41 AliCorrectionMatrix3D.h:42 AliCorrectionMatrix3D.h:43 AliCorrectionMatrix3D.h:44 AliCorrectionMatrix3D.h:45 AliCorrectionMatrix3D.h:46 AliCorrectionMatrix3D.h:47 AliCorrectionMatrix3D.h:48 AliCorrectionMatrix3D.h:49 AliCorrectionMatrix3D.h:50 AliCorrectionMatrix3D.h:51 AliCorrectionMatrix3D.h:52 AliCorrectionMatrix3D.h:53 AliCorrectionMatrix3D.h:54 AliCorrectionMatrix3D.h:55 AliCorrectionMatrix3D.h:56 AliCorrectionMatrix3D.h:57 AliCorrectionMatrix3D.h:58 AliCorrectionMatrix3D.h:59 AliCorrectionMatrix3D.h:60 AliCorrectionMatrix3D.h:61 AliCorrectionMatrix3D.h:62 AliCorrectionMatrix3D.h:63 AliCorrectionMatrix3D.h:64 AliCorrectionMatrix3D.h:65 AliCorrectionMatrix3D.h:66 AliCorrectionMatrix3D.h:67 AliCorrectionMatrix3D.h:68 AliCorrectionMatrix3D.h:69 AliCorrectionMatrix3D.h:70 AliCorrectionMatrix3D.h:71