//-------------------------------------------------------
// Primary Vertex Class
-//
+// for the Event Data Summary Class
// Origin: A.Dainese, Padova, andrea.dainese@pd.infn.it
//-------------------------------------------------------
* *
*****************************************************************************/
-//---- Root headers -----
-#include <TNamed.h>
+#include <TMath.h>
-class AliESDVertex : public TNamed {
+#include "AliVertex.h"
+
+class AliESDVertex : public AliVertex {
public:
AliESDVertex();
AliESDVertex(Double_t positionZ,Double_t sigmaZ,Int_t nContributors,
- Char_t *vtxName="Vertex");
+ const Char_t *vtxName="Vertex");
AliESDVertex(Double_t position[3],Double_t covmatrix[6],
Double_t chi2,Int_t nContributors,
- Char_t *vtxName="Vertex");
+ const Char_t *vtxName="Vertex");
AliESDVertex(Double_t position[3],Double_t sigma[3],
- Char_t *vtxName="Vertex");
+ const Char_t *vtxName="Vertex");
AliESDVertex(Double_t position[3],Double_t sigma[3],Double_t snr[3],
- Char_t *vtxName="Vertex");
+ const Char_t *vtxName="Vertex");
+ AliESDVertex(const AliESDVertex &source);
+ AliESDVertex &operator=(const AliESDVertex &source);
- virtual ~AliESDVertex();
+ virtual ~AliESDVertex() {}
- void GetXYZ(Double_t position[3]) const;
void GetSigmaXYZ(Double_t sigma[3]) const;
void GetCovMatrix(Double_t covmatrix[6]) const;
void GetSNR(Double_t snr[3]) const;
- Double_t GetXv() const;
- Double_t GetYv() const;
- Double_t GetZv() const;
- Double_t GetXRes() const;
- Double_t GetYRes() const;
- Double_t GetZRes() const;
+ Double_t GetXRes() const {return TMath::Sqrt(fCovXX);}
+ Double_t GetYRes() const {return TMath::Sqrt(fCovYY);}
+ Double_t GetZRes() const {return TMath::Sqrt(fCovZZ);}
Double_t GetXSNR() const { return fSNR[0]; }
Double_t GetYSNR() const { return fSNR[1]; }
Double_t GetZSNR() const { return fSNR[2]; }
Double_t GetChi2() const { return fChi2; }
Double_t GetChi2toNDF() const
{ return fChi2/(2.*(Double_t)fNContributors-3.); }
- Int_t GetNContributors() const { return fNContributors; }
-
- void PrintStatus() const;
- void SetDebug(Int_t dbg = 0) { fDebug = dbg; return; }
- void SetTruePos(Double_t *tp){for(Int_t i=0;i<3;i++)fTruePos[i]=tp[i];}
- void GetTruePos(Double_t &x,Double_t &y,Double_t &z) const
- {x=fTruePos[0]; y=fTruePos[1]; z=fTruePos[2];}
-
- private:
- void SetToZero();
+ void Print(Option_t* option = "") const;
+ void PrintStatus() const {Print();}
+
+ void Reset() { SetToZero(); SetName("Vertex"); }
protected:
- Double_t fPosition[3]; // vertex position
- Double_t fCovXX,fCovXY,fCovYY,fCovXZ,fCovYZ,fCovZZ; // vertex covariance matrix
- Double_t fSNR[3]; // S/N ratio
- Double_t fChi2; // chi2 of vertex fit
- Int_t fNContributors; // # of tracklets/tracks used for the estimate
- Int_t fDebug; //! for debugging
- Double_t fTruePos[3]; //true vertex position (for comparison purposes)
- ClassDef(AliESDVertex,4) // Class for Primary Vertex
- };
+ Double32_t fCovXX,fCovXY,fCovYY,fCovXZ,fCovYZ,fCovZZ; // vertex covariance matrix
+ Double32_t fSNR[3]; // S/N ratio
+ Double32_t fChi2; // chi2 of vertex fit
+
+ private:
+
+ void SetToZero();
+
+ ClassDef(AliESDVertex,6) // Class for Primary Vertex
+};
#endif