1 #ifndef ALICORRECTIONMATRIX3D_H
2 #define ALICORRECTIONMATRIX3D_H
6 // ------------------------------------------------------
8 // Class to handle 3d-corrections.
10 // ------------------------------------------------------
12 #include <AliCorrectionMatrix.h>
17 class AliCorrectionMatrix3D : public AliCorrectionMatrix
20 AliCorrectionMatrix3D();
21 AliCorrectionMatrix3D(const AliCorrectionMatrix3D& c);
22 AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
23 Int_t nBinX=10, Float_t Xmin=0., Float_t Xmax=10.,
24 Int_t nBinY=10, Float_t Ymin=0., Float_t Ymax=10.,
25 Int_t nBinZ=10, Float_t Zmin=0., Float_t Zmax=10.);
27 AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
28 Int_t nBinX, Float_t Xmin, Float_t Xmax,
29 Int_t nBinY, Float_t Ymin, Float_t Ymax,
30 Int_t nBinZ, const Float_t* zbins);
32 virtual ~AliCorrectionMatrix3D();
34 AliCorrectionMatrix3D& operator= (const AliCorrectionMatrix3D& c);
36 TH3F* GetGeneratedHistogram();
37 TH3F* GetMeasuredHistogram();
38 TH3F* GetCorrectionHistogram();
40 void FillMeas(Float_t ax, Float_t ay, Float_t az);
41 void FillGene(Float_t ax, Float_t ay, Float_t az);
43 Float_t GetCorrection(Float_t ax, Float_t ay, Float_t az) const;
45 void RemoveEdges(Float_t cut=2, Int_t nBinsXedge = 0, Int_t nBinsYedge = 0, Int_t nBinsZedge = 0);
47 virtual void SaveHistograms();
49 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);
50 TH1F* PlotBinErrors(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax);
54 ClassDef(AliCorrectionMatrix3D,1)