Added Reset function
[u/mrichter/AliRoot.git] / PWG0 / AliCorrectionMatrix.cxx
index 939d161ad3871a0a15f7350a207889c1133713d1..5264dd3b2bbaa16b15bf552f3225e6fdb20566d8 100644 (file)
@@ -27,6 +27,7 @@ AliCorrectionMatrix::AliCorrectionMatrix() : TNamed(),
   // default constructor
 }
 
+//____________________________________________________________________
 AliCorrectionMatrix::AliCorrectionMatrix(const Char_t* name, const Char_t* title) : TNamed(name, title),
   fhMeas(0),
   fhGene(0),
@@ -36,8 +37,10 @@ AliCorrectionMatrix::AliCorrectionMatrix(const Char_t* name, const Char_t* title
 }
 
 //____________________________________________________________________
-AliCorrectionMatrix::AliCorrectionMatrix(const AliCorrectionMatrix& c)
-  : TNamed(c)
+AliCorrectionMatrix::AliCorrectionMatrix(const AliCorrectionMatrix& c) : TNamed(c),
+  fhMeas(0),
+  fhGene(0),
+  fhCorr(0)
 {
   // copy constructor
   ((AliCorrectionMatrix &)c).Copy(*this);
@@ -74,7 +77,7 @@ AliCorrectionMatrix &AliCorrectionMatrix::operator=(const AliCorrectionMatrix &c
 {
   // assigment operator
 
-  if (this != &c) 
+  if (this != &c)
     ((AliCorrectionMatrix &) c).Copy(*this);
 
   return *this;
@@ -192,15 +195,14 @@ Bool_t AliCorrectionMatrix::LoadHistograms(const Char_t* fileName, const Char_t*
   if(fhMeas)  {delete fhMeas;  fhMeas=0;}
   
   fhMeas  = dynamic_cast<TH1*> (fin->Get(Form("%s/meas_%s", dir,GetName())));
-  if(!fhMeas)  Info("LoadHistograms","No meas  hist available");
+  if(!fhMeas)  Info("LoadHistograms","No meas. (%s) hist available",Form("%s/meas_%s", dir,GetName()));
 
   fhGene  = dynamic_cast<TH1*> (fin->Get(Form("%s/gene_%s",dir, GetName())));
-  if(!fhGene)  Info("LoadHistograms","No gene  hist available");
+  if(!fhGene)  Info("LoadHistograms","No gene. (%s) hist available",Form("%s/gene_%s",dir, GetName()));
 
   fhCorr  = dynamic_cast<TH1*> (fin->Get(Form("%s/corr_%s",dir, GetName())));
-  if(!fhCorr) 
-  {
-    Info("LoadHistograms","No corr  hist available");
+  if(!fhCorr) {
+    Info("LoadHistograms","No corr.(%s) hist available",Form("%s/corr_%s",dir, GetName()));
     return kFALSE;
   }
       
@@ -214,8 +216,11 @@ void AliCorrectionMatrix::SaveHistograms()
   // saves the histograms
   //
 
-  fhMeas ->Write();
-  fhGene ->Write();
+  if (fhMeas)
+    fhMeas ->Write();
+
+  if (fhGene)
+    fhGene ->Write();
 
   if (fhCorr)
     fhCorr->Write();
@@ -267,3 +272,18 @@ void AliCorrectionMatrix::ReduceInformation()
     fhGene = 0;
   }
 }
+
+//____________________________________________________________________
+void AliCorrectionMatrix::Reset(Option_t* option)
+{
+  // resets the histograms
+
+  if (fhGene)
+    fhGene->Reset(option);
+
+  if (fhMeas)
+    fhMeas->Reset(option);
+
+  if (fhCorr)
+    fhCorr->Reset(option);
+}