]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG0/AliCorrectionMatrix3D.h
correct.C
[u/mrichter/AliRoot.git] / PWG0 / AliCorrectionMatrix3D.h
index c8a1a5c1e1d9cfda18f278855faa66b7f6a8aa7a..4e54a21bd671b37255ef667fde8be0b8ade6b8f6 100644 (file)
 // ------------------------------------------------------
 
 #include <AliCorrectionMatrix.h>
+#include <AliCorrectionMatrix2D.h>
+
+class TH3;
+class TH2;
+class TH1;
 
-class TH3F;
-class TH1F;
 
 class AliCorrectionMatrix3D : public AliCorrectionMatrix
 {
@@ -29,30 +32,26 @@ public:
          Int_t nBinY, Float_t Ymin, Float_t Ymax,
          Int_t nBinZ, const Float_t* zbins);
 
-  AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
-         Int_t nBinX, const Float_t* xbins,
-         Int_t nBinY, Float_t Ymin, Float_t Ymax,
-         Int_t nBinZ, const Float_t* zbins);
+  AliCorrectionMatrix3D(const Char_t* name, const Char_t* title, TH3* hBinning);
+  virtual ~AliCorrectionMatrix3D();
 
-  AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
-         Int_t nBinX, const Float_t* xbins,
-         Int_t nBinY, const Float_t* ybins,
-         Int_t nBinZ, const Float_t* zbins);
+  AliCorrectionMatrix3D& operator= (const AliCorrectionMatrix3D& c);
 
   void CreateHists(Int_t nBinX, const Float_t* binLimitsX,
-         Int_t nBinY, const Float_t* binLimitsY,
-         Int_t nBinZ, const Float_t* binLimitsZ);
+                  Int_t nBinY, const Float_t* binLimitsY,
+                  Int_t nBinZ, const Float_t* binLimitsZ);
 
-  virtual ~AliCorrectionMatrix3D();
-
-  AliCorrectionMatrix3D& operator= (const AliCorrectionMatrix3D& c);
+  TH3* GetGeneratedHistogram();
+  TH3* GetMeasuredHistogram();
+  TH3* GetCorrectionHistogram();
 
-  TH3F* GetGeneratedHistogram();
-  TH3F* GetMeasuredHistogram();
-  TH3F* GetCorrectionHistogram();
+  AliCorrectionMatrix2D* Get2DCorrection(Option_t* opt, Float_t aMin, Float_t aMax);
+  TH2* Get2DCorrectionHistogram(Option_t* opt, Float_t aMin, Float_t aMax)     {return Get2DCorrection(opt,aMin,aMax)->GetCorrectionHistogram();}
+  TH1* Get1DCorrectionHistogram(Option_t* opt, Float_t aMins1=0, Float_t aMax1=0, Float_t aMins2=0, Float_t aMax2=0);
 
-  void FillMeas(Float_t ax, Float_t ay, Float_t az);
-  void FillGene(Float_t ax, Float_t ay, Float_t az);
+  void FillMeas(Float_t ax, Float_t ay, Float_t az, Double_t weight = 1.);
+  void FillGene(Float_t ax, Float_t ay, Float_t az, Double_t weight = 1.);
 
   Float_t GetCorrection(Float_t ax, Float_t ay, Float_t az) const;
 
@@ -61,7 +60,7 @@ public:
   virtual void SaveHistograms();
 
   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);
-  TH1F* PlotBinErrors(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax);
+  TH1* PlotBinErrors(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax);
 
 
 protected: