ba29869d44a8f3a29607bdad7c49ed3e9a80a77a
[u/mrichter/AliRoot.git] / PWG0 / AliCorrectionMatrix2D.h
1 #ifndef ALICORRECTIONMATRIX2D_H
2 #define ALICORRECTIONMATRIX2D_H
3
4 /* $Id$ */
5
6 // ------------------------------------------------------
7 //
8 // Class to handle 2d-corrections.
9 //
10 // ------------------------------------------------------
11
12 #include <AliCorrectionMatrix.h>
13
14 class TH2F;
15 class TH1F;
16
17 class AliCorrectionMatrix2D : public AliCorrectionMatrix
18 {
19 public:
20   AliCorrectionMatrix2D();
21   AliCorrectionMatrix2D(const AliCorrectionMatrix2D& c);
22   AliCorrectionMatrix2D(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
26   AliCorrectionMatrix2D(const Char_t* name, const Char_t* title,
27                      Int_t nBinX, Float_t *X, Int_t nBinY, Float_t *Y);
28
29   virtual ~AliCorrectionMatrix2D();
30
31   AliCorrectionMatrix2D& operator= (const AliCorrectionMatrix2D& c);
32
33   TH2F* GetGeneratedHistogram() const;
34   TH2F* GetMeasuredHistogram() const;
35
36   TH1F* Get1DCorrection(Char_t* opt="x");
37
38   void FillMeas(Float_t ax, Float_t ay);
39   void FillGene(Float_t ax, Float_t ay);
40   Float_t GetCorrection(Float_t ax, Float_t ay) const;
41
42   void RemoveEdges(Float_t cut=2, Int_t nBinsX=0, Int_t nBinsY=0);
43
44 protected:
45   ClassDef(AliCorrectionMatrix2D,1)
46
47 private:
48 };
49
50 #endif
51