bf21645b |
1 | #ifndef ALICORRECTIONMATRIX3D_H |
2 | #define ALICORRECTIONMATRIX3D_H |
3 | |
4 | /* $Id$ */ |
5 | |
6 | // ------------------------------------------------------ |
7 | // |
8 | // Class to handle 3d-corrections. |
9 | // |
10 | // ------------------------------------------------------ |
11 | |
12 | #include <AliCorrectionMatrix.h> |
13 | |
14 | class TH3F; |
f10a1859 |
15 | class TH1F; |
bf21645b |
16 | |
17 | class AliCorrectionMatrix3D : public AliCorrectionMatrix |
18 | { |
19 | public: |
20 | AliCorrectionMatrix3D(); |
21 | AliCorrectionMatrix3D(const AliCorrectionMatrix3D& c); |
22 | AliCorrectionMatrix3D(const Char_t* name, const Char_t* title, |
083a636e |
23 | Int_t nBinX, Float_t Xmin, Float_t Xmax, |
24 | Int_t nBinY, Float_t Ymin, Float_t Ymax, |
25 | Int_t nBinZ, Float_t Zmin, Float_t Zmax); |
bf21645b |
26 | |
1afae8ff |
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); |
31 | |
083a636e |
32 | AliCorrectionMatrix3D(const Char_t* name, const Char_t* title, |
33 | Int_t nBinX, const Float_t* xbins, |
34 | Int_t nBinY, Float_t Ymin, Float_t Ymax, |
35 | Int_t nBinZ, const Float_t* zbins); |
36 | |
37 | AliCorrectionMatrix3D(const Char_t* name, const Char_t* title, |
38 | Int_t nBinX, const Float_t* xbins, |
39 | Int_t nBinY, const Float_t* ybins, |
40 | Int_t nBinZ, const Float_t* zbins); |
41 | |
42 | void CreateHists(Int_t nBinX, const Float_t* binLimitsX, |
43 | Int_t nBinY, const Float_t* binLimitsY, |
44 | Int_t nBinZ, const Float_t* binLimitsZ); |
45 | |
bf21645b |
46 | virtual ~AliCorrectionMatrix3D(); |
47 | |
61385583 |
48 | AliCorrectionMatrix3D& operator= (const AliCorrectionMatrix3D& c); |
49 | |
bf21645b |
50 | TH3F* GetGeneratedHistogram(); |
51 | TH3F* GetMeasuredHistogram(); |
52 | TH3F* GetCorrectionHistogram(); |
53 | |
54 | void FillMeas(Float_t ax, Float_t ay, Float_t az); |
55 | void FillGene(Float_t ax, Float_t ay, Float_t az); |
56 | |
57 | Float_t GetCorrection(Float_t ax, Float_t ay, Float_t az) const; |
58 | |
59 | void RemoveEdges(Float_t cut=2, Int_t nBinsXedge = 0, Int_t nBinsYedge = 0, Int_t nBinsZedge = 0); |
60 | |
61 | virtual void SaveHistograms(); |
bf21645b |
62 | |
f10a1859 |
63 | 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); |
64 | TH1F* PlotBinErrors(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax); |
65 | |
66 | |
bf21645b |
67 | protected: |
68 | ClassDef(AliCorrectionMatrix3D,1) |
69 | }; |
70 | |
71 | #endif |
72 | |