4 ///////////////////////////////////////////////////////////////////
6 // Base class for primary vertex reconstruction //
8 ///////////////////////////////////////////////////////////////////
14 class AliMultiplicity;
17 class AliVertexer : public TObject {
20 // default constructor
24 virtual ~AliVertexer();
25 // computes the vertex for the current event
26 virtual AliESDVertex* FindVertexForCurrentEvent(TTree *clustersTree)=0;
27 // computes the vertex for each event and stores it on file
28 AliMultiplicity* GetMultiplicity() const {return fMult;}
29 virtual void PrintStatus() const = 0;
30 void SetVtxStart(Double_t x,Double_t y,Double_t z)
31 { fNominalPos[0]=x; fNominalPos[1]=y; fNominalPos[2]=z; }
32 void SetVtxStartSigma(Double_t sx,Double_t sy,Double_t sz)
33 { fNominalCov[0]=sx*sx; fNominalCov[2]=sy*sy; fNominalCov[5]=sz*sz;
34 fNominalCov[1]=0.; fNominalCov[3]=0.; fNominalCov[4]=0.; }
35 void SetVtxStart(AliESDVertex *vtx);
37 const Double_t* GetNominalPos() const {return fNominalPos;}
40 AliESDVertex *fCurrentVertex; //! pointer to the current vertex
41 AliMultiplicity *fMult; //! Multiplicity object
44 // copy constructor (NO copy allowed: the constructor is protected
46 AliVertexer(const AliVertexer& vtxr);
47 // assignment operator (NO assignment allowed)
48 AliVertexer& operator=(const AliVertexer& /* vtxr */);
50 Double_t fNominalPos[3]; // initial knowledge on vertex position
51 Double_t fNominalCov[6]; // initial knowledge on vertex position
53 ClassDef(AliVertexer,4);