]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTMonitorFunction.cxx
New version including TOF
[u/mrichter/AliRoot.git] / HBTAN / AliHBTMonitorFunction.cxx
index 72bf0badde6431815ace2857eb94badc4b157407..18fd54c95d63e6c084a1ab77e6e8de625638e72a 100644 (file)
@@ -1,4 +1,23 @@
 #include "AliHBTMonitorFunction.h"
+//__________________________________________________________________
+////////////////////////////////////////////////////////////////////
+//
+// class AliHBTMonitorFunction
+//
+// class AliHBTMonOneParticleFctn
+// class AliHBTMonTwoParticleFctn
+//
+// class AliHBTMonOneParticleFctn1D
+// class AliHBTMonOneParticleFctn2D
+// class AliHBTMonOneParticleFctn3D
+//
+// class AliHBTMonTwoParticleFctn1D
+// class AliHBTMonTwoParticleFctn2D
+// class AliHBTMonTwoParticleFctn3D
+//
+// Base Classes for monitoring functions
+// author: chajecki@if.pw.edu.pl
+//
 /******************************************************************/
 /*
 Base classes for monitor functions
@@ -19,10 +38,9 @@ Base classes for monitor functions
 Zbigniew.Chajecki@cern.ch
 
 */
-/******************************************************************/
-/******************************************************************/
+///////////////////////////////////////////////////////////////////////
+
 
-#include <Riostream.h>
 ClassImp( AliHBTMonitorFunction )
 
 AliHBTMonitorFunction::AliHBTMonitorFunction():
@@ -43,20 +61,23 @@ AliHBTMonitorFunction::AliHBTMonitorFunction(const AliHBTMonitorFunction& /*in*/
  fParticleCut(new AliHBTEmptyParticleCut())
 {
   //cpy ctor
+  // We cannot copy because it is a mess with names (histogram and functions)
   MayNotUse("AliHBTMonitorFunction(const AliHBTMonitorFunction&");
 }
 /******************************************************************/
-const AliHBTMonitorFunction& AliHBTMonitorFunction::operator=(const AliHBTMonitorFunction& /*in*/)
+AliHBTMonitorFunction& AliHBTMonitorFunction::operator=(const AliHBTMonitorFunction& /*in*/)
 {
-  //assigment operator
+  //assigment operator 
+  // We cannot copy because it is a mess with names (histogram and functions)
   MayNotUse("operator=");
   return *this;
 }
+/******************************************************************/
 
 AliHBTMonitorFunction::~AliHBTMonitorFunction()
  {
   //dtor
-  if (fParticleCut) delete fParticleCut;
+  delete fParticleCut;
  }
 /******************************************************************/
 
@@ -67,7 +88,22 @@ void AliHBTMonitorFunction::Write()
  }
 /******************************************************************/
 
+void AliHBTMonitorFunction::Init()
+ {
+   //Writes an function to disk
+   if (AliHBTParticle::GetDebug()>0) Info("Init","%s",GetName());
+   
+   if (GetResult() == 0x0)
+    {
+      Warning("Init","Function has NULL result histogram!");
+      return;
+    }
+   GetResult()->Reset();
+   GetResult()->SetDirectory(0x0);
+   if (AliHBTParticle::GetDebug()>0) Info("Init","%s Done.",GetName());
+ }
 /******************************************************************/
+
 void AliHBTMonitorFunction::SetParticleCut(AliHBTParticleCut* cut)
 {
 //Sets new Particle Cut. Old one is deleted
@@ -156,6 +192,8 @@ AliHBTMonOneParticleFctn1D::AliHBTMonOneParticleFctn1D(const Char_t *name, const
                                            //result histogram
          
    fResult   = new TH1D(numstr.Data(),numstr.Data(),nbins,minXval,maxXval);
+   fResult->SetDirectory(0x0);
+   
 }
 /******************************************************************/
 AliHBTMonOneParticleFctn1D::~AliHBTMonOneParticleFctn1D()
@@ -187,6 +225,7 @@ AliHBTMonOneParticleFctn2D::AliHBTMonOneParticleFctn2D(Int_t nXbins, Double_t ma
    fResult   = new TH2D(numstr.Data(),numstr.Data(),
                            nXbins,minXval,maxXval,
               nYbins,minYval,maxYval);
+   fResult->SetDirectory(0x0);
 }        
 /******************************************************************/
 
@@ -227,6 +266,7 @@ AliHBTMonOneParticleFctn3D(Int_t nXbins, Double_t maxXval, Double_t minXval,
                            nXbins,minXval,maxXval,
               nYbins,minYval,maxYval,
               nZbins,minZval,maxZval);
+   fResult->SetDirectory(0x0);
 
 }        
 /******************************************************************/
@@ -253,7 +293,7 @@ AliHBTMonTwoParticleFctn1D(Int_t nbins, Double_t maxval, Double_t minval)
          
    fResult   = new TH1D(numstr.Data(),numstr.Data(),
                            nbins,minval,maxval);
-              
+   fResult->SetDirectory(0x0);
  }
 
 AliHBTMonTwoParticleFctn1D::
@@ -267,7 +307,7 @@ AliHBTMonTwoParticleFctn1D(const Char_t* name, const Char_t* title,
 
    fResult   = new TH1D(numstr.Data(),numstr.Data(),
                            nbins,minval,maxval);
-              
+   fResult->SetDirectory(0x0);
  }
 
 
@@ -308,7 +348,7 @@ AliHBTMonTwoParticleFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval ,
    fResult   = new TH2D(numstr.Data(),numstr.Data(),
                            nXbins,minXval,maxXval,
               nYbins,minYval,maxYval);
-              
+   fResult->SetDirectory(0x0);
 }        
 /******************************************************************/
 AliHBTMonTwoParticleFctn2D::~AliHBTMonTwoParticleFctn2D()