ROOT logo
AliRoot » STEER » ESD » AliKFVertex

class AliKFVertex: public AliKFParticle

 Implementation of the AliKFVertex class
 .
 @author  S.Gorbunov, I.Kisel
 @version 1.0
 @since   13.05.07

 Class to reconstruct and store primary and secondary vertices
 The method is described in CBM-SOFT note 2007-003,
 ``Reconstruction of decayed particles based on the Kalman filter'',
 http://www.gsi.de/documents/DOC-2007-May-14-1.pdf

 This class is ALICE interface to general mathematics in AliKFParticleCore

  -= Copyright &copy ALICE HLT Group =-

Function Members (Methods)

public:
AliKFVertex()
AliKFVertex(const AliVVertex& vertex)
AliKFVertex(const AliKFVertex&)
virtual~AliKFVertex()
voidTObject::AbstractMethod(const char* method) const
voidAliKFParticle::AddDaughter(const AliKFParticle& Daughter)
voidAliKFParticleBase::AddDaughterWithEnergyCalc(const AliKFParticleBase& Daughter)
voidAliKFParticleBase::AddDaughterWithEnergyFit(const AliKFParticleBase& Daughter)
voidAliKFParticleBase::AddDaughterWithEnergyFitMC(const AliKFParticleBase& Daughter)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
const Double_t&AliKFParticle::Chi2() const
Double_t&AliKFParticle::Chi2()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
voidAliKFParticle::Construct(const AliKFParticle** vDaughters, int NDaughters, const AliKFParticle* ProdVtx = 0, Double_t Mass = -1, Bool_t IsConstrained = 0)
voidAliKFParticle::ConstructGamma(const AliKFParticle& daughter1, const AliKFParticle& daughter2)
voidAliKFParticleBase::ConstructGammaBz(const AliKFParticleBase& daughter1, const AliKFParticleBase& daughter2, double Bz)
voidConstructPrimaryVertex(const AliKFParticle** vDaughters, int NDaughters, Bool_t* vtxFlag, Double_t ChiCut = 3.5)
virtual voidTObject::Copy(TObject& object) const
Double_t&AliKFParticle::Covariance(int i)
Double_t&AliKFParticle::Covariance(int i, int j)
Double_t*AliKFParticle::CovarianceMatrix()
voidAliKFParticle::Create(const Double_t* Param, const Double_t* Cov, Int_t Charge, Int_t PID)
voidAliKFParticle::Create(const Double_t* Param, const Double_t* Cov, Int_t Charge, Double_t Mass)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
const Double_t&AliKFParticle::E() const
Double_t&AliKFParticle::E()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tAliKFParticle::GetAngle(const AliKFParticle& p) const
Double_tAliKFParticle::GetAngleRZ(const AliKFParticle& p) const
Double_tAliKFParticle::GetAngleXY(const AliKFParticle& p) const
static voidAliKFParticleBase::GetArmenterosPodolanski(AliKFParticleBase& positive, AliKFParticleBase& negative, Double_t* QtAlfa)
Double_tAliKFParticle::GetChi2() const
Double_tAliKFParticle::GetCovariance(int i) const
Double_tAliKFParticle::GetCovariance(int i, int j) const
Double_tAliKFParticle::GetDecayLength() const
intAliKFParticle::GetDecayLength(Double_t& L, Double_t& SigmaL) const
Double_tAliKFParticle::GetDecayLengthXY() const
intAliKFParticle::GetDecayLengthXY(Double_t& L, Double_t& SigmaL) const
Double_tAliKFParticle::GetDeviationFromParticle(const AliKFParticle& p) const
Double_tAliKFParticle::GetDeviationFromParticleXY(const AliKFParticle& p) const
Double_tAliKFParticle::GetDeviationFromVertex(const AliKFParticle& Vtx) const
Double_tAliKFParticle::GetDeviationFromVertex(const AliVVertex& Vtx) const
Double_tAliKFParticle::GetDeviationFromVertex(const Double_t* v, const Double_t* Cv = 0) const
Double_tAliKFParticle::GetDeviationFromVertexXY(const AliKFParticle& Vtx) const
Double_tAliKFParticle::GetDeviationFromVertexXY(const AliVVertex& Vtx) const
Double_tAliKFParticle::GetDeviationFromVertexXY(const Double_t* v, const Double_t* Cv = 0) const
Double_tAliKFParticle::GetDistanceFromParticle(const AliKFParticle& p) const
Double_tAliKFParticle::GetDistanceFromParticleXY(const AliKFParticle& p) const
Double_tAliKFParticle::GetDistanceFromVertex(const Double_t* vtx) const
Double_tAliKFParticle::GetDistanceFromVertex(const AliKFParticle& Vtx) const
Double_tAliKFParticle::GetDistanceFromVertex(const AliVVertex& Vtx) const
Double_tAliKFParticle::GetDistanceFromVertexXY(const Double_t* vtx) const
Double_tAliKFParticle::GetDistanceFromVertexXY(const AliKFParticle& Vtx) const
Double_tAliKFParticle::GetDistanceFromVertexXY(const AliVVertex& Vtx) const
Bool_tAliKFParticle::GetDistanceFromVertexXY(const Double_t* vtx, Double_t& val, Double_t& err) const
Bool_tAliKFParticle::GetDistanceFromVertexXY(const AliKFParticle& Vtx, Double_t& val, Double_t& err) const
Bool_tAliKFParticle::GetDistanceFromVertexXY(const AliVVertex& Vtx, Double_t& val, Double_t& err) const
Bool_tAliKFParticle::GetDistanceFromVertexXY(const Double_t* vtx, const Double_t* Cv, Double_t& val, Double_t& err) const
virtual Option_t*TObject::GetDrawOption() const
voidAliKFParticle::GetDStoParticle(const AliKFParticle& p, Double_t& DS, Double_t& DSp) const
voidAliKFParticleBase::GetDStoParticleBz(Double_t Bz, const AliKFParticleBase& p, Double_t& dS, Double_t& dS1) const
voidAliKFParticle::GetDStoParticleXY(const AliKFParticleBase& p, Double_t& DS, Double_t& DSp) const
virtual Double_tAliKFParticle::GetDStoPoint(const Double_t* xyz) const
Double_tAliKFParticleBase::GetDStoPointBz(Double_t Bz, const Double_t* xyz) const
static Long_tTObject::GetDtorOnly()
Double_tAliKFParticle::GetE() const
Double_tAliKFParticle::GetErrDecayLength() const
Double_tAliKFParticle::GetErrDecayLengthXY() const
Double_tAliKFParticle::GetErrE() const
Double_tAliKFParticle::GetErrEta() const
Double_tAliKFParticle::GetErrLifeTime() const
Double_tAliKFParticle::GetErrMass() const
Double_tAliKFParticle::GetErrMomentum() const
Double_tAliKFParticle::GetErrP() const
Double_tAliKFParticle::GetErrPhi() const
Double_tAliKFParticle::GetErrPt() const
Double_tAliKFParticle::GetErrPx() const
Double_tAliKFParticle::GetErrPy() const
Double_tAliKFParticle::GetErrPz() const
Double_tAliKFParticle::GetErrR() const
Double_tAliKFParticle::GetErrS() const
Double_tAliKFParticle::GetErrX() const
Double_tAliKFParticle::GetErrY() const
Double_tAliKFParticle::GetErrZ() const
Double_tAliKFParticle::GetEta() const
intAliKFParticle::GetEta(Double_t& Eta, Double_t& SigmaEta) const
virtual const char*TObject::GetIconName() const
Double_tAliKFParticle::GetLifeTime() const
intAliKFParticle::GetLifeTime(Double_t& T, Double_t& SigmaT) const
Double_tAliKFParticle::GetMass() const
intAliKFParticle::GetMass(Double_t& M, Double_t& SigmaM) const
const Double_t&AliKFParticleBase::GetMassHypo() const
Double_tAliKFParticle::GetMomentum() const
intAliKFParticle::GetMomentum(Double_t& P, Double_t& SigmaP) const
virtual const char*TObject::GetName() const
Int_tGetNContributors() const
Int_tAliKFParticle::GetNDF() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tAliKFParticle::GetP() const
intAliKFParticle::GetP(Double_t& P, Double_t& SigmaP) const
Double_tAliKFParticle::GetParameter(int i) const
Double_tAliKFParticle::GetPhi() const
intAliKFParticle::GetPhi(Double_t& Phi, Double_t& SigmaPhi) const
Double_tAliKFParticle::GetPseudoProperDecayTime(const AliKFParticle& primVertex, const Double_t& mass, Double_t* timeErr2 = 0) const
Double_tAliKFParticle::GetPt() const
intAliKFParticle::GetPt(Double_t& Pt, Double_t& SigmaPt) const
Double_tAliKFParticle::GetPx() const
Double_tAliKFParticle::GetPy() const
Double_tAliKFParticle::GetPz() const
Int_tAliKFParticle::GetQ() const
Double_tAliKFParticle::GetR() const
intAliKFParticle::GetR(Double_t& R, Double_t& SigmaR) const
Double_tAliKFParticle::GetS() const
const Double_t&AliKFParticleBase::GetSumDaughterMass() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tAliKFParticle::GetX() const
Double_tAliKFParticle::GetY() const
Double_tAliKFParticle::GetZ() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
voidAliKFParticle::Initialize()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
const Int_t&AliKFParticle::NDF() const
Int_t&AliKFParticle::NDF()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
voidoperator+=(const AliKFParticle& Daughter)
AliKFVertexoperator-(const AliKFParticle& Daughter) const
voidoperator-=(const AliKFParticle& Daughter)
AliKFVertex&operator=(const AliKFVertex&)
virtual voidTObject::Paint(Option_t* option = "")
Double_t&AliKFParticle::Parameter(int i)
Double_t*AliKFParticle::Parameters()
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
const Double_t&AliKFParticle::Px() const
Double_t&AliKFParticle::Px()
const Double_t&AliKFParticle::Py() const
Double_t&AliKFParticle::Py()
const Double_t&AliKFParticle::Pz() const
Double_t&AliKFParticle::Pz()
const Int_t&AliKFParticle::Q() const
Int_t&AliKFParticle::Q()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidAliKFParticleBase::RotateXY(Double_t angle, Double_t* Vtx)
const Double_t&AliKFParticle::S() const
Double_t&AliKFParticle::S()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetBeamConstraint(Double_t X, Double_t Y, Double_t Z, Double_t ErrX, Double_t ErrY, Double_t ErrZ)
voidSetBeamConstraintOff()
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliKFParticleBase::SetConstructMethod(Int_t m)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidAliKFParticle::SetField(Double_t Bz)
voidAliKFParticle::SetMassConstraint(Double_t Mass, Double_t SigmaMass = 0)
voidAliKFParticleBase::SetMassHypo(Double_t m)
voidAliKFParticle::SetNoDecayLength()
voidAliKFParticleBase::SetNonlinearMassConstraint(Double_t Mass)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliKFParticle::SetProductionVertex(const AliKFParticle& Vtx)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliKFParticle::SetVtxGuess(Double_t x, Double_t y, Double_t z)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
voidAliKFParticle::SubtractFromVertex(AliKFParticle& v) const
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidAliKFParticleBase::TransportBz(Double_t Bz, Double_t dS, Double_t* P, Double_t* C) const
voidAliKFParticleBase::TransportCBM(Double_t dS, Double_t* P, Double_t* C) const
voidAliKFParticle::TransportToDecayVertex()
voidAliKFParticle::TransportToDS(Double_t dS)
voidAliKFParticle::TransportToParticle(const AliKFParticle& p)
voidAliKFParticle::TransportToPoint(const Double_t* xyz)
voidAliKFParticle::TransportToProductionVertex()
voidAliKFParticle::TransportToVertex(const AliVVertex& v)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
const Double_t&AliKFParticle::X() const
Double_t&AliKFParticle::X()
const Double_t&AliKFParticle::Y() const
Double_t&AliKFParticle::Y()
const Double_t&AliKFParticle::Z() const
Double_t&AliKFParticle::Z()
protected:
Double_t&AliKFParticleBase::Cij(Int_t i, Int_t j)
voidAliKFParticleBase::Convert(bool ToProduction)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidAliKFParticle::GetDStoParticle(const AliKFParticleBase& p, Double_t& DS, Double_t& DSp) const
Double_tAliKFParticleBase::GetDStoPointLine(const Double_t* xyz) const
static voidAliKFParticle::GetExternalTrackParam(const AliKFParticleBase& p, Double_t& X, Double_t& Alpha, Double_t* P)
static Double_tAliKFParticle::GetFieldAlice()
virtual voidAliKFParticle::GetFieldValue(const Double_t* xyz, Double_t* B) const
voidAliKFParticleBase::GetMeasurement(const Double_t* XYZ, Double_t* m, Double_t* V) const
static Double_tAliKFParticleBase::GetSCorrection(const Double_t* Part, const Double_t* XYZ)
static Int_tAliKFParticleBase::IJ(Int_t i, Int_t j)
static Bool_tAliKFParticleBase::InvertSym3(const Double_t* A, Double_t* Ainv)
voidTObject::MakeZombie()
static voidAliKFParticleBase::MultQSQt(const Double_t* Q, const Double_t* S, Double_t* SOut)
virtual voidAliKFParticle::Transport(Double_t dS, Double_t* P, Double_t* C) const
voidAliKFParticleBase::TransportLine(Double_t S, Double_t* P, Double_t* C) const

Data Members

protected:
Double_tAliKFParticleBase::SumDaughterMass* sum of the daughter particles masses
Bool_tAliKFParticleBase::fAtProductionVertex* Flag shows that the particle error along
Double_tAliKFParticleBase::fC[36]* Low-triangle covariance matrix of fP
Double_tAliKFParticleBase::fChi2* Chi^2
Int_tAliKFParticleBase::fConstructMethod* Determines the method for the particle construction.
Bool_tfIsConstrainedIs the beam constraint set
Bool_tAliKFParticleBase::fIsLinearized* Flag shows that the guess is present
Double_tAliKFParticleBase::fMassHypo* sum of the daughter particles masses
Int_tAliKFParticleBase::fNDF* Number of degrees of freedom
Double_tAliKFParticleBase::fP[8]* Main particle parameters {X,Y,Z,Px,Py,Pz,E,S[=DecayLength/P]}
Int_tAliKFParticleBase::fQ* Particle charge
Double_tAliKFParticleBase::fSFromDecay* Distance from decay vertex to current position
Double_tAliKFParticleBase::fVtxGuess[3]* Guess for the position of the decay vertex

Class Charts

Inheritance Chart:
TObject
AliKFParticleBase
AliKFParticle
AliKFVertex

Function documentation

AliKFVertex(const AliVVertex& vertex)
 Constructor from ALICE VVertex
void SetBeamConstraint(Double_t X, Double_t Y, Double_t Z, Double_t ErrX, Double_t ErrY, Double_t ErrZ)
 Set beam constraint to the vertex
void SetBeamConstraintOff()
void ConstructPrimaryVertex(const AliKFParticle** vDaughters, int NDaughters, Bool_t* vtxFlag, Double_t ChiCut = 3.5)
* Primary vertex finder with simple rejection of outliers
AliKFVertex()
*
*  INITIALIZATION
*
* Constructor (empty)
{ }
~AliKFVertex()
* Destructor (empty)
{}
AliKFVertex(const AliVVertex& vertex)
* Initialisation from VVertex
Int_t GetNContributors() const
*
*  ACCESSORS
*
* Number of tracks composing the vertex
{ return fIsConstrained ?fNDF/2:(fNDF+3)/2; }