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