#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
Zbigniew.Chajecki@cern.ch
*/
-/******************************************************************/
-/******************************************************************/
+///////////////////////////////////////////////////////////////////////
+
-#include <Riostream.h>
ClassImp( AliHBTMonitorFunction )
AliHBTMonitorFunction::AliHBTMonitorFunction():
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;
}
/******************************************************************/
}
/******************************************************************/
+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
//result histogram
fResult = new TH1D(numstr.Data(),numstr.Data(),nbins,minXval,maxXval);
+ fResult->SetDirectory(0x0);
+
}
/******************************************************************/
AliHBTMonOneParticleFctn1D::~AliHBTMonOneParticleFctn1D()
fResult = new TH2D(numstr.Data(),numstr.Data(),
nXbins,minXval,maxXval,
nYbins,minYval,maxYval);
+ fResult->SetDirectory(0x0);
}
/******************************************************************/
nXbins,minXval,maxXval,
nYbins,minYval,maxYval,
nZbins,minZval,maxZval);
+ fResult->SetDirectory(0x0);
}
/******************************************************************/
fResult = new TH1D(numstr.Data(),numstr.Data(),
nbins,minval,maxval);
-
+ fResult->SetDirectory(0x0);
}
AliHBTMonTwoParticleFctn1D::
fResult = new TH1D(numstr.Data(),numstr.Data(),
nbins,minval,maxval);
-
+ fResult->SetDirectory(0x0);
}
fResult = new TH2D(numstr.Data(),numstr.Data(),
nXbins,minXval,maxXval,
nYbins,minYval,maxYval);
-
+ fResult->SetDirectory(0x0);
}
/******************************************************************/
AliHBTMonTwoParticleFctn2D::~AliHBTMonTwoParticleFctn2D()