//-----------------------------------------------------------------
// Implementation of the Primary Vertex class
-//
+// for the Event Data Summary class
+// This class contains the Primary Vertex
+// of the event coming from reconstruction
// Origin: A.Dainese, Padova, andrea.dainese@pd.infn.it
//-----------------------------------------------------------------
//---- Root headers --------
#include <TMath.h>
#include <TROOT.h>
-#include <TNamed.h>
//---- AliRoot headers -----
#include "AliESDVertex.h"
ClassImp(AliESDVertex)
//--------------------------------------------------------------------------
-AliESDVertex::AliESDVertex() {
-//
-// Default Constructor, set everything to 0
-//
+AliESDVertex::AliESDVertex() :
+ TNamed(),
+ fCovXX(0.005*0.005),
+ fCovXY(0),
+ fCovYY(0.005*0.005),
+ fCovXZ(0),
+ fCovYZ(0),
+ fCovZZ(5.3*5.3),
+ fChi2(0),
+ fNContributors(0)
+{
+ //
+ // Default Constructor, set everything to 0
+ //
SetToZero();
}
+
//--------------------------------------------------------------------------
AliESDVertex::AliESDVertex(Double_t positionZ,Double_t sigmaZ,
- Int_t nContributors,Char_t *vtxName) {
+ Int_t nContributors,const Char_t *vtxName) :
+ TNamed(vtxName,""),
+ fCovXX(0.005*0.005),
+ fCovXY(0),
+ fCovYY(0.005*0.005),
+ fCovXZ(0),
+ fCovYZ(0),
+ fCovZZ(sigmaZ*sigmaZ),
+ fChi2(0),
+ fNContributors(nContributors)
+{
//
// Constructor for vertex Z from pixels
//
SetToZero();
fPosition[2] = positionZ;
- fCovZZ = sigmaZ*sigmaZ;
- fNContributors = nContributors;
- SetName(vtxName);
}
+
//-------------------------------------------------------------------------
AliESDVertex::AliESDVertex(Double_t position[3],Double_t covmatrix[6],
- Double_t chi2,Int_t nContributors,Char_t *vtxName) {
-//
-// Constructor for vertex in 3D from tracks
-//
+ Double_t chi2,Int_t nContributors,
+ const Char_t *vtxName) :
+ TNamed(vtxName,""),
+ fCovXX(covmatrix[0]),
+ fCovXY(covmatrix[1]),
+ fCovYY(covmatrix[2]),
+ fCovXZ(covmatrix[3]),
+ fCovYZ(covmatrix[4]),
+ fCovZZ(covmatrix[5]),
+ fChi2(chi2),
+ fNContributors(nContributors)
+{
+ //
+ // Constructor for vertex in 3D from tracks
+ //
SetToZero();
- fPosition[0] = position[0];
- fPosition[1] = position[1];
- fPosition[2] = position[2];
- fCovXX = covmatrix[0];
- fCovXY = covmatrix[1];
- fCovYY = covmatrix[2];
- fCovXZ = covmatrix[3];
- fCovYZ = covmatrix[4];
- fCovZZ = covmatrix[5];
-
-
- fChi2 = chi2;
- fNContributors = nContributors;
-
- SetName(vtxName);
+ fPosition[0] = position[0];
+ fPosition[1] = position[1];
+ fPosition[2] = position[2];
}
//--------------------------------------------------------------------------
AliESDVertex::AliESDVertex(Double_t position[3],Double_t sigma[3],
- Char_t *vtxName) {
-//
-// Constructor for smearing of true position
-//
+ const Char_t *vtxName) :
+ TNamed(vtxName,""),
+ fCovXX(sigma[0]*sigma[0]),
+ fCovXY(0),
+ fCovYY(sigma[1]*sigma[1]),
+ fCovXZ(0),
+ fCovYZ(0),
+ fCovZZ(sigma[2]*sigma[2]),
+ fChi2(0),
+ fNContributors(0)
+{
+ //
+ // Constructor for smearing of true position
+ //
SetToZero();
- fPosition[0] = position[0];
- fPosition[1] = position[1];
- fPosition[2] = position[2];
- fCovXX = sigma[0]*sigma[0];
- fCovXY = 0;
- fCovYY = sigma[1]*sigma[1];
- fCovXZ = 0;
- fCovYZ = 0;
- fCovZZ = sigma[2]*sigma[2];
-
-
- SetName(vtxName);
+ fPosition[0] = position[0];
+ fPosition[1] = position[1];
+ fPosition[2] = position[2];
}
//--------------------------------------------------------------------------
AliESDVertex::AliESDVertex(Double_t position[3],Double_t sigma[3],
- Double_t snr[3],Char_t *vtxName) {
+ Double_t snr[3], const Char_t *vtxName) :
+ TNamed(vtxName,""),
+ fCovXX(sigma[0]*sigma[0]),
+ fCovXY(0),
+ fCovYY(sigma[1]*sigma[1]),
+ fCovXZ(0),
+ fCovYZ(0),
+ fCovZZ(sigma[2]*sigma[2]),
+ fChi2(0),
+ fNContributors(0)
+{
//
// Constructor for Pb-Pb
//
fPosition[0] = position[0];
fPosition[1] = position[1];
fPosition[2] = position[2];
- fCovXX = sigma[0]*sigma[0];
- fCovXY = 0;
- fCovYY = sigma[1]*sigma[1];
- fCovXZ = 0;
- fCovYZ = 0;
- fCovZZ = sigma[2]*sigma[2];
fSNR[0] = snr[0];
fSNR[1] = snr[1];
fSNR[2] = snr[2];
- SetName(vtxName);
-
}
+
//--------------------------------------------------------------------------
void AliESDVertex::SetToZero() {
//
- // Set some data members to 0. Used by constructors
+ // Set the content of arrays to 0. Used by constructors
//
for(Int_t i=0; i<3; i++){
fPosition[i] = 0.;
fTruePos[i] = 0;
fSNR[i] = 0.;
}
- fCovXX = 0;
- fCovXY = 0;
- fCovYY = 0;
- fCovXZ = 0;
- fCovYZ = 0;
- fCovZZ = 0;
-
- fChi2 = 0;
- fNContributors = 0;
-
- SetDebug();
}
//--------------------------------------------------------------------------
AliESDVertex::~AliESDVertex() {
//
-// Default Destructor
+// Destructor
//
}
return;
}
//--------------------------------------------------------------------------
-void AliESDVertex::PrintStatus() const {
+void AliESDVertex::Print(Option_t* /*option*/) const {
//
// Print out information on all data members
//
- printf(" Vertex position:\n");
+ printf("ESD vertex position:\n");
printf(" x = %f +- %f\n",fPosition[0],TMath::Sqrt(fCovXX));
printf(" y = %f +- %f\n",fPosition[1],TMath::Sqrt(fCovYY));
printf(" z = %f +- %f\n",fPosition[2],TMath::Sqrt(fCovZZ));