New classes for finding multiple vertices (in case of pile-up). They will be used...
[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, Float_t Xmin, Float_t Xmax,
24          Int_t nBinY, Float_t Ymin, Float_t Ymax);
25
26   AliCorrectionMatrix2D(const Char_t* name, const Char_t* title,
27          Int_t nBinX, Float_t *X,
28          Int_t nBinY, Float_t *Y);
29
30   virtual ~AliCorrectionMatrix2D();
31
32   AliCorrectionMatrix2D& operator= (const AliCorrectionMatrix2D& c);
33
34   TH2* GetGeneratedHistogram() const;
35   TH2* GetMeasuredHistogram() const;
36
37   TH2* GetCorrectionHistogram() {return (TH2*)fhCorr;}
38
39   TH1* Get1DCorrection(const Char_t* opt="x", Float_t min=0, Float_t max=0) {return Get1DCorrectionHistogram(opt,min,max);}
40   TH1* Get1DCorrectionHistogram(const Char_t* opt="x", Float_t min=0, Float_t max=0);
41
42   void Rebin(Int_t x = 1, Int_t y = 1);
43
44   void FillMeas(Float_t ax, Float_t ay);
45   void FillGene(Float_t ax, Float_t ay);
46   Float_t GetCorrection(Float_t ax, Float_t ay) const;
47
48   void RemoveEdges(Float_t cut=2, Int_t nBinsX=0, Int_t nBinsY=0);
49
50 protected:
51   ClassDef(AliCorrectionMatrix2D,1)
52
53 private:
54 };
55
56 #endif
57