ROOT logo
#ifndef ALICORRECTIONMATRIX2D_H
#define ALICORRECTIONMATRIX2D_H

/* $Id$ */

// ------------------------------------------------------
//
// Class to handle 2d-corrections.
//
// ------------------------------------------------------

#include <AliCorrectionMatrix.h>

class TH2F;
class TH1F;

class AliCorrectionMatrix2D : public AliCorrectionMatrix
{
public:
  AliCorrectionMatrix2D();
  AliCorrectionMatrix2D(const AliCorrectionMatrix2D& c);
  AliCorrectionMatrix2D(const Char_t* name, const Char_t* title,
         Int_t nBinX, Float_t Xmin, Float_t Xmax,
         Int_t nBinY, Float_t Ymin, Float_t Ymax);

  AliCorrectionMatrix2D(const Char_t* name, const Char_t* title,
         Int_t nBinX, Float_t *X,
         Int_t nBinY, Float_t *Y);

  virtual ~AliCorrectionMatrix2D();

  AliCorrectionMatrix2D& operator= (const AliCorrectionMatrix2D& c);

  TH2* GetGeneratedHistogram() const;
  TH2* GetMeasuredHistogram() const;

  TH2* GetCorrectionHistogram() {return (TH2*)fhCorr;}

  TH1* Get1DCorrection(const Char_t* opt="x", Float_t min=0, Float_t max=0) {return Get1DCorrectionHistogram(opt,min,max);}
  TH1* Get1DCorrectionHistogram(const Char_t* opt="x", Float_t min=0, Float_t max=0, Bool_t binomialErrors = kFALSE);

  void Rebin(Int_t x = 1, Int_t y = 1);

  void FillMeas(Float_t ax, Float_t ay);
  void FillGene(Float_t ax, Float_t ay);
  Float_t GetCorrection(Float_t ax, Float_t ay) const;

  void RemoveEdges(Float_t cut=2, Int_t nBinsX=0, Int_t nBinsY=0);

protected:
  ClassDef(AliCorrectionMatrix2D,1)

private:
};

#endif

 AliCorrectionMatrix2D.h:1
 AliCorrectionMatrix2D.h:2
 AliCorrectionMatrix2D.h:3
 AliCorrectionMatrix2D.h:4
 AliCorrectionMatrix2D.h:5
 AliCorrectionMatrix2D.h:6
 AliCorrectionMatrix2D.h:7
 AliCorrectionMatrix2D.h:8
 AliCorrectionMatrix2D.h:9
 AliCorrectionMatrix2D.h:10
 AliCorrectionMatrix2D.h:11
 AliCorrectionMatrix2D.h:12
 AliCorrectionMatrix2D.h:13
 AliCorrectionMatrix2D.h:14
 AliCorrectionMatrix2D.h:15
 AliCorrectionMatrix2D.h:16
 AliCorrectionMatrix2D.h:17
 AliCorrectionMatrix2D.h:18
 AliCorrectionMatrix2D.h:19
 AliCorrectionMatrix2D.h:20
 AliCorrectionMatrix2D.h:21
 AliCorrectionMatrix2D.h:22
 AliCorrectionMatrix2D.h:23
 AliCorrectionMatrix2D.h:24
 AliCorrectionMatrix2D.h:25
 AliCorrectionMatrix2D.h:26
 AliCorrectionMatrix2D.h:27
 AliCorrectionMatrix2D.h:28
 AliCorrectionMatrix2D.h:29
 AliCorrectionMatrix2D.h:30
 AliCorrectionMatrix2D.h:31
 AliCorrectionMatrix2D.h:32
 AliCorrectionMatrix2D.h:33
 AliCorrectionMatrix2D.h:34
 AliCorrectionMatrix2D.h:35
 AliCorrectionMatrix2D.h:36
 AliCorrectionMatrix2D.h:37
 AliCorrectionMatrix2D.h:38
 AliCorrectionMatrix2D.h:39
 AliCorrectionMatrix2D.h:40
 AliCorrectionMatrix2D.h:41
 AliCorrectionMatrix2D.h:42
 AliCorrectionMatrix2D.h:43
 AliCorrectionMatrix2D.h:44
 AliCorrectionMatrix2D.h:45
 AliCorrectionMatrix2D.h:46
 AliCorrectionMatrix2D.h:47
 AliCorrectionMatrix2D.h:48
 AliCorrectionMatrix2D.h:49
 AliCorrectionMatrix2D.h:50
 AliCorrectionMatrix2D.h:51
 AliCorrectionMatrix2D.h:52
 AliCorrectionMatrix2D.h:53
 AliCorrectionMatrix2D.h:54
 AliCorrectionMatrix2D.h:55
 AliCorrectionMatrix2D.h:56
 AliCorrectionMatrix2D.h:57