]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG0/AliCorrectionMatrix3D.h
Reverting changes from AliZDCQADataMakerRec.cxx
[u/mrichter/AliRoot.git] / PWG0 / AliCorrectionMatrix3D.h
index 7edadfec5b835f2e5630de6fb686829089e64290..e27167c4f566ce22a9fb1c57964efd925940a7ce 100644 (file)
 // ------------------------------------------------------
 
 #include <AliCorrectionMatrix.h>
+#include <AliCorrectionMatrix2D.h>
+
+class TH3;
+class TH2;
+class TH1;
 
-class TH3F;
 
 class AliCorrectionMatrix3D : public AliCorrectionMatrix
 {
@@ -19,20 +23,32 @@ public:
   AliCorrectionMatrix3D();
   AliCorrectionMatrix3D(const AliCorrectionMatrix3D& c);
   AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
-                    Int_t nBinX=10, Float_t Xmin=0., Float_t Xmax=10.,
-                    Int_t nBinY=10, Float_t Ymin=0., Float_t Ymax=10.,
-                    Int_t nBinZ=10, Float_t Zmin=0., Float_t Zmax=10.);
+                    Int_t nBinX, Float_t Xmin, Float_t Xmax,
+                    Int_t nBinY, Float_t Ymin, Float_t Ymax,
+                    Int_t nBinZ, Float_t Zmin, Float_t Zmax);
 
   AliCorrectionMatrix3D(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,
          Int_t nBinZ, const Float_t* zbins);
 
+  AliCorrectionMatrix3D(const Char_t* name, const Char_t* title, TH3* hBinning);
   virtual ~AliCorrectionMatrix3D();
 
-  TH3F* GetGeneratedHistogram();
-  TH3F* GetMeasuredHistogram();
-  TH3F* GetCorrectionHistogram();
+  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);
+
+  TH3* GetGeneratedHistogram();
+  TH3* GetMeasuredHistogram();
+  TH3* 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);
@@ -43,6 +59,10 @@ 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);
+  TH1* PlotBinErrors(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax);
+
+
 protected:
   ClassDef(AliCorrectionMatrix3D,1)
 };