Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
KFVertex Class Reference

Mathematics for reconstruction of primary vertices based on KFParticle. More...

#include <KFParticle/blob/master/KFParticle/KFVertex.h>

+ Inheritance diagram for KFVertex:
+ Collaboration diagram for KFVertex:

Public Member Functions

 KFVertex ()
 
 KFVertex (const KFParticle &particle)
 Vertex is constructed from the current position of a given particle.
 
 KFVertex (const KFPVertex &vertex)
 
 ~KFVertex ()
 
Int_t GetNContributors () const
 Returns number of particles used for construction of the vertex.
 
void operator+= (const KFParticle &Daughter)
 Adds particle to a vertex.
 
KFVertex operator- (const KFParticle &Daughter) const
 Subtracts particle from a vertex, returns temporary object. Initial vertex stays untouched.
 
void operator-= (const KFParticle &Daughter)
 Subtracts particle from a current vertex.
 
void SetBeamConstraint (float X, float Y, float Z, float ErrX, float ErrY, float ErrZ)
 
void SetBeamConstraintOff ()
 
void ConstructPrimaryVertex (const KFParticle *vDaughters[], int nDaughters, Bool_t vtxFlag[], float ChiCut=3.5)
 
- Public Member Functions inherited from KFParticle
 KFParticle ()
 
 ~KFParticle ()
 
 KFParticle (const KFParticle &d1, const KFParticle &d2)
 
 KFParticle (const KFParticle &d1, const KFParticle &d2, const KFParticle &d3)
 
 KFParticle (const KFParticle &d1, const KFParticle &d2, const KFParticle &d3, const KFParticle &d4)
 
void Create (const float Param[], const float Cov[], Int_t Charge, float mass)
 
void Create (const Double_t Param[], const Double_t Cov[], Int_t Charge, float mass)
 
 KFParticle (const KFPTrack &track, const int PID)
 
 KFParticle (const KFPVertex &vertex)
 
void Initialize ()
 
float GetX () const
 Retruns X coordinate of the particle, fP[0].
 
float GetY () const
 Retruns Y coordinate of the particle, fP[1].
 
float GetZ () const
 Retruns Z coordinate of the particle, fP[2].
 
float GetPx () const
 Retruns X component of the momentum, fP[3].
 
float GetPy () const
 Retruns Y component of the momentum, fP[4].
 
float GetPz () const
 Retruns Z component of the momentum, fP[5].
 
float GetE () const
 Returns energy of the particle, fP[6].
 
float GetS () const
 Returns dS=l/p, l - decay length, fP[7], defined if production vertex is set.
 
char GetQ () const
 Returns charge of the particle.
 
float GetChi2 () const
 Returns Chi2 of the fit.
 
Int_t GetNDF () const
 Returns number of decrease of freedom.
 
Bool_t GetAtProductionVertex () const
 Returns a flag which shows if the particle is located at the production point.
 
void SetAtProductionVertex (Bool_t b)
 Set a flag that particle is at the production point.
 
const float & X () const
 Retruns X coordinate of the particle, fP[0].
 
const float & Y () const
 Retruns Y coordinate of the particle, fP[1].
 
const float & Z () const
 Retruns Z coordinate of the particle, fP[2].
 
const float & Px () const
 Retruns X component of the momentum, fP[3].
 
const float & Py () const
 Retruns Y component of the momentum, fP[4].
 
const float & Pz () const
 Retruns Z component of the momentum, fP[5].
 
const float & E () const
 Returns energy of the particle, fP[6].
 
const float & S () const
 Returns dS=l/p, l - decay length, fP[7], defined if production vertex is set.
 
const char & Q () const
 Returns charge of the particle.
 
const float & Chi2 () const
 Returns Chi2 of the fit.
 
const Int_t & NDF () const
 Returns number of decrease of freedom.
 
float GetParameter (int i) const
 Returns P[i] parameter.
 
float GetCovariance (int i) const
 Returns C[i] element of the covariance matrix in the lower triangular form.
 
float GetCovariance (int i, int j) const
 Returns C[i,j] element of the covariance matrix.
 
float GetP () const
 Returns momentum.
 
float GetPt () const
 Returns transverse momentum.
 
float GetEta () const
 Returns pseudorapidity.
 
float GetPhi () const
 Returns the azimuthal angle phi.
 
float GetMomentum () const
 Returns momentum.
 
float GetMass () const
 Returns mass.
 
float GetDecayLength () const
 Returns decay length.
 
float GetDecayLengthXY () const
 Returns decay length in XY.
 
float GetLifeTime () const
 Returns life time ctau [cm].
 
float GetR () const
 Returns distance to the origin of the coordinate system {0,0,0}.
 
float GetErrX () const
 Returns the error of X of current position.
 
float GetErrY () const
 Returns the error of Y of current position.
 
float GetErrZ () const
 Returns the error of Z of current position.
 
float GetErrPx () const
 Returns the error of X-compoment of the particle momentum.
 
float GetErrPy () const
 Returns the error of Y-compoment of the particle momentum.
 
float GetErrPz () const
 Returns the error of Z-compoment of the particle momentum.
 
float GetErrE () const
 Returns the error of energy.
 
float GetErrS () const
 Returns the error of decay length / momentum.
 
float GetErrP () const
 Returns the error of momentum.
 
float GetErrPt () const
 Returns the error of transverse momentum.
 
float GetErrEta () const
 Returns the error of pseudorapidity.
 
float GetErrPhi () const
 Returns the error of the azimuthal angle phi.
 
float GetErrMomentum () const
 Returns the error of momentum.
 
float GetErrMass () const
 Returns the error of mass.
 
float GetErrDecayLength () const
 Returns the error of decay length.
 
float GetErrDecayLengthXY () const
 Returns the error of decay length in XY.
 
float GetErrLifeTime () const
 Returns the error of life time.
 
float GetErrR () const
 Returns the error of distance to the origin of the coordinate system {0,0,0}.
 
int GetP (float &P, float &SigmaP) const
 
int GetPt (float &Pt, float &SigmaPt) const
 
int GetEta (float &Eta, float &SigmaEta) const
 
int GetPhi (float &Phi, float &SigmaPhi) const
 
int GetMomentum (float &P, float &SigmaP) const
 
int GetMass (float &M, float &SigmaM) const
 
int GetDecayLength (float &L, float &SigmaL) const
 
int GetDecayLengthXY (float &L, float &SigmaL) const
 
int GetLifeTime (float &T, float &SigmaT) const
 
int GetR (float &R, float &SigmaR) const
 
float GetRapidity () const
 Returns rapidity of the particle.
 
float GetTheta () const
 Returns the polar angle in RZ.
 
float & X ()
 Modifier of X coordinate of the particle, fP[0].
 
float & Y ()
 Modifier of Y coordinate of the particle, fP[1].
 
float & Z ()
 Modifier of Z coordinate of the particle, fP[2].
 
float & Px ()
 Modifier of X component of the momentum, fP[3].
 
float & Py ()
 Modifier of Y component of the momentum, fP[4].
 
float & Pz ()
 Modifier of Z component of the momentum, fP[5].
 
float & E ()
 Modifier of energy of the particle, fP[6].
 
float & S ()
 Modifier of dS=l/p, l - decay length, fP[7], defined if production vertex is set.
 
char & Q ()
 Modifier of charge of the particle.
 
float & Chi2 ()
 Modifier of Chi2 of the fit.
 
Int_t & NDF ()
 Modifier of number of decrease of freedom.
 
float & Parameter (int i)
 Modifier of P[i] parameter.
 
float & Covariance (int i)
 Modifier of C[i] element of the covariance matrix in the lower triangular form.
 
float & Covariance (int i, int j)
 Modifier of C[i,j] element of the covariance matrix.
 
float * Parameters ()
 Returns pointer to the parameters fP.
 
float * CovarianceMatrix ()
 Returns pointer to the covariance matrix fC.
 
void AddDaughter (const KFParticle &Daughter)
 
void operator+= (const KFParticle &Daughter)
 
void Construct (const KFParticle *vDaughters[], int nDaughters, const KFParticle *ProdVtx=0, float Mass=-1)
 
void TransportToPoint (const float xyz[])
 
void TransportToParticle (const KFParticle &p)
 
float GetDStoPoint (const float xyz[3], float dsdr[6]) const
 
void GetDStoParticle (const KFParticleBase &p, float dS[2], float dsdr[4][6]) const
 
Bool_t GetDistanceFromVertexXY (const float vtx[], float &val, float &err) const
 
Bool_t GetDistanceFromVertexXY (const float vtx[], const float Cv[], float &val, float &err) const
 
Bool_t GetDistanceFromVertexXY (const KFParticle &Vtx, float &val, float &err) const
 
float GetDistanceFromVertexXY (const float vtx[]) const
 
float GetDistanceFromVertexXY (const KFParticle &Vtx) const
 
float GetDistanceFromParticleXY (const KFParticle &p) const
 
float GetDeviationFromVertexXY (const float v[], const float Cv[]=0) const
 
float GetDeviationFromVertexXY (const KFParticle &Vtx) const
 
float GetDeviationFromParticleXY (const KFParticle &p) const
 
void GetParametersAtPoint (const float *point, const float *pointCov, float *m, float *mV)
 
float GetAngle (const KFParticle &p) const
 
float GetAngleXY (const KFParticle &p) const
 
float GetAngleRZ (const KFParticle &p) const
 
float GetPseudoProperDecayTime (const KFParticle &primVertex, const float &mass, float *timeErr2=0) const
 
void GetFieldValue (const float xyz[], float B[]) const
 
void Transport (float dS, const float *dsdr, float P[], float C[], float *dsdr1=0, float *F=0, float *F1=0) const
 
- Public Member Functions inherited from KFParticleBase
float GetDStoPointLine (const float xyz[3], float dsdr[6]) const
 
float GetDStoPointBz (float B, const float xyz[3], float dsdr[6], const float *param=0) const
 
float GetDStoPointBy (float By, const float xyz[3], float dsdr[6]) const
 
float GetDStoPointB (const float *B, const float xyz[3], float dsdr[6]) const
 
float GetDStoPointCBM (const float xyz[3], float dsdr[6]) const
 
void GetDStoParticleLine (const KFParticleBase &p, float dS[2], float dsdr[4][6]) const
 
void GetDStoParticleBz (float Bz, const KFParticleBase &p, float dS[2], float dsdr[4][6], const float *param1=0, const float *param2=0) const
 
void GetDStoParticleBy (float B, const KFParticleBase &p, float dS[2], float dsdr[4][6]) const
 
void GetDStoParticleCBM (const KFParticleBase &p, float dS[2], float dsdr[4][6]) const
 
virtual void Transport (float dS, const float dsdr[6], float P[], float C[], float *dsdr1=0, float *F=0, float *F1=0) const =0
 
 KFParticleBase ()
 
virtual ~KFParticleBase ()
 The default destructor.
 
void Initialize (const float Param[], const float Cov[], Int_t Charge, float Mass)
 
void Initialize ()
 
void SetConstructMethod (Int_t m)
 Defines the construction method for the current particle (see description of fConstructMethod).
 
void SetMassHypo (float m)
 Sets the mass hypothesis to the particle, is used when fConstructMethod = 2.
 
const float & GetMassHypo () const
 Returns the mass hypothesis.
 
const float & GetSumDaughterMass () const
 Returns the sum of masses of the daughters.
 
float GetX () const
 Retruns X coordinate of the particle, fP[0].
 
float GetY () const
 Retruns Y coordinate of the particle, fP[1].
 
float GetZ () const
 Retruns Z coordinate of the particle, fP[2].
 
float GetPx () const
 Retruns X component of the momentum, fP[3].
 
float GetPy () const
 Retruns Y component of the momentum, fP[4].
 
float GetPz () const
 Retruns Z component of the momentum, fP[5].
 
float GetE () const
 Returns energy of the particle, fP[6].
 
float GetS () const
 Returns dS=l/p, l - decay length, fP[7], defined if production vertex is set.
 
char GetQ () const
 Returns charge of the particle.
 
float GetChi2 () const
 Returns Chi2 of the fit.
 
Int_t GetNDF () const
 Returns number of decrease of freedom.
 
const float & X () const
 Retruns X coordinate of the particle, fP[0].
 
const float & Y () const
 Retruns Y coordinate of the particle, fP[1].
 
const float & Z () const
 Retruns Z coordinate of the particle, fP[2].
 
const float & Px () const
 Retruns X component of the momentum, fP[3].
 
const float & Py () const
 Retruns Y component of the momentum, fP[4].
 
const float & Pz () const
 Retruns Z component of the momentum, fP[5].
 
const float & E () const
 Returns energy of the particle, fP[6].
 
const float & S () const
 Returns dS=l/p, l - decay length, fP[7], defined if production vertex is set.
 
const char & Q () const
 Returns charge of the particle.
 
const float & Chi2 () const
 Returns Chi2 of the fit.
 
const Int_t & NDF () const
 Returns number of decrease of freedom.
 
float GetParameter (Int_t i) const
 Returns P[i] parameter.
 
float GetCovariance (Int_t i) const
 Returns C[i] element of the covariance matrix in the lower triangular form.
 
float GetCovariance (Int_t i, Int_t j) const
 Returns C[i,j] element of the covariance matrix.
 
Int_t GetMomentum (float &p, float &error) const
 
Int_t GetPt (float &pt, float &error) const
 
Int_t GetEta (float &eta, float &error) const
 
Int_t GetPhi (float &phi, float &error) const
 
Int_t GetMass (float &m, float &error) const
 
Int_t GetDecayLength (float &l, float &error) const
 
Int_t GetDecayLengthXY (float &l, float &error) const
 
Int_t GetLifeTime (float &ctau, float &error) const
 
Int_t GetR (float &r, float &error) const
 
float & X ()
 Modifier of X coordinate of the particle, fP[0].
 
float & Y ()
 Modifier of Y coordinate of the particle, fP[1].
 
float & Z ()
 Modifier of Z coordinate of the particle, fP[2].
 
float & Px ()
 Modifier of X component of the momentum, fP[3].
 
float & Py ()
 Modifier of Y component of the momentum, fP[4].
 
float & Pz ()
 Modifier of Z component of the momentum, fP[5].
 
float & E ()
 Modifier of energy of the particle, fP[6].
 
float & S ()
 Modifier of dS=l/p, l - decay length, fP[7], defined if production vertex is set.
 
char & Q ()
 Modifier of charge of the particle.
 
float & Chi2 ()
 Modifier of Chi2 of the fit.
 
Int_t & NDF ()
 Modifier of number of decrease of freedom.
 
float & Parameter (Int_t i)
 Modifier of P[i] parameter.
 
float & Covariance (Int_t i)
 Modifier of C[i] element of the covariance matrix in the lower triangular form.
 
float & Covariance (Int_t i, Int_t j)
 Modifier of C[i,j] element of the covariance matrix.
 
void operator+= (const KFParticleBase &Daughter)
 
void AddDaughter (const KFParticleBase &Daughter)
 
void SubtractDaughter (const KFParticleBase &Daughter)
 
void AddDaughterWithEnergyFit (const KFParticleBase &Daughter)
 
void AddDaughterWithEnergyFitMC (const KFParticleBase &Daughter)
 
void SetProductionVertex (const KFParticleBase &Vtx)
 
void SetNonlinearMassConstraint (float Mass)
 
void SetMassConstraint (float Mass, float SigmaMass=0)
 
void SetNoDecayLength ()
 
void Construct (const KFParticleBase *vDaughters[], Int_t nDaughters, const KFParticleBase *ProdVtx=0, float Mass=-1)
 
void TransportToDecayVertex ()
 
void TransportToProductionVertex ()
 
void TransportToDS (float dS, const float *dsdr)
 
void TransportBz (float Bz, float dS, const float *dsdr, float P[], float C[], float *dsdr1=0, float *F=0, float *F1=0) const
 
void TransportCBM (float dS, const float *dsdr, float P[], float C[], float *dsdr1=0, float *F=0, float *F1=0) const
 
float GetDistanceFromVertex (const float vtx[]) const
 
float GetDistanceFromVertex (const KFParticleBase &Vtx) const
 
float GetDistanceFromParticle (const KFParticleBase &p) const
 
float GetDeviationFromVertex (const float v[], const float Cv[]=0) const
 
float GetDeviationFromVertex (const KFParticleBase &Vtx) const
 
float GetDeviationFromParticle (const KFParticleBase &p) const
 
void SubtractFromVertex (KFParticleBase &Vtx) const
 
void SubtractFromParticle (KFParticleBase &Vtx) const
 
void RotateXY (float angle, float Vtx[3])
 
int Id () const
 Returns Id of the particle.
 
int NDaughters () const
 Returns number of daughter particles.
 
const std::vector< int > & DaughterIds () const
 Returns the vector with the indices of daughter particles.
 
void CleanDaughtersId ()
 Cleans the vector with the indices of daughter particles.
 
void SetId (int id)
 Sets the Id of the particle. After the construction of a particle should be set by user.
 
void AddDaughterId (int id)
 Adds index of the daughter particle.
 
void SetPDG (int pdg)
 Sets the PDG hypothesis.
 
int GetPDG () const
 Returns the PDG hypothesis.
 

Protected Attributes

Bool_t fIsConstrained
 Flag showing if the the beam constraint is set.
 

Additional Inherited Members

- Static Public Member Functions inherited from KFParticleBase
static void GetArmenterosPodolanski (KFParticleBase &positive, KFParticleBase &negative, float QtAlfa[2])
 
static void InvertCholetsky3 (float a[6])
 
static void MultQSQt (const float Q[], const float S[], float SOut[], const int kN)
 
- Protected Member Functions inherited from KFParticleBase
float & Cij (Int_t i, Int_t j)
 
void TransportLine (float S, const float *dsdr, float P[], float C[], float *dsdr1, float *F, float *F1) const
 
bool GetMeasurement (const KFParticleBase &daughter, float m[], float V[], float D[3][3])
 
void SetMassConstraint (float *mP, float *mC, float mJ[7][7], float mass)
 
- Static Protected Member Functions inherited from KFParticleBase
static Int_t IJ (Int_t i, Int_t j)
 

Detailed Description

Mathematics for reconstruction of primary vertices based on KFParticle.

Author
S.Gorbunov, I.Kisel, M.Zyzak
Date
05.02.2019
Version
1.0

The class is inherited from KFParticle, adds functionality for reconstruction of primary vertices.

Definition at line 39 of file KFVertex.h.

View newest version in sPHENIX GitHub at line 39 of file KFVertex.h

Constructor & Destructor Documentation

KFVertex::KFVertex ( )
inline

Definition at line 43 of file KFVertex.h.

View newest version in sPHENIX GitHub at line 43 of file KFVertex.h

KFVertex::KFVertex ( const KFParticle particle)
inline

Vertex is constructed from the current position of a given particle.

Definition at line 44 of file KFVertex.h.

View newest version in sPHENIX GitHub at line 44 of file KFVertex.h

KFVertex::KFVertex ( const KFPVertex vertex)

Constructor from KFPVertex.

Definition at line 29 of file KFVertex.cxx.

View newest version in sPHENIX GitHub at line 29 of file KFVertex.cxx

References KFParticleBase::fAtProductionVertex, KFParticleBase::fC, KFParticleBase::fChi2, KFParticleBase::fNDF, KFParticleBase::fP, KFParticleBase::fQ, KFParticleBase::fSFromDecay, KFPVertex::GetChi2(), KFPVertex::GetCovarianceMatrix(), KFPVertex::GetNContributors(), and KFPVertex::GetXYZ().

+ Here is the call graph for this function:

KFVertex::~KFVertex ( )
inline

Definition at line 46 of file KFVertex.h.

View newest version in sPHENIX GitHub at line 46 of file KFVertex.h

Member Function Documentation

void KFVertex::ConstructPrimaryVertex ( const KFParticle vDaughters[],
int  nDaughters,
Bool_t  vtxFlag[],
float  ChiCut = 3.5 
)

Reconstructs the primary vertex from a set of particles. Reconstruction is parformed in three steps:
1) vertex seed is constructed from all particles;
2) if particle deviates more then on the "ChiCut" it is rejected;
3) the final vertex is constructed from the set of remaining particles.
Rejected particles are marked with "false" in the output array of flags.

Parameters
[in]vDaughters- input array of pointers to the particles
[in]nDaughters- number of particles in the input array
[out]vtxFlag- array of flags showing if particle was used in the vertex fit, if yes - set to "true"
[in]ChiCut- cut on the chi2-deviation of the particle from the created seed, by default the cut is set to 3.5

Definition at line 67 of file KFVertex.cxx.

View newest version in sPHENIX GitHub at line 67 of file KFVertex.cxx

References KFParticle::Construct(), KFParticleBase::fC, KFParticleBase::fChi2, fIsConstrained, KFParticleBase::fNDF, KFParticleBase::fP, KFParticle::GetChi2(), KFParticleBase::GetDeviationFromVertex(), KFParticle::GetNDF(), i, it, and merge_hashes::p.

Referenced by KFParticlePVReconstructor::FindPrimaryClusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Int_t KFVertex::GetNContributors ( ) const
inline

Returns number of particles used for construction of the vertex.

Definition at line 48 of file KFVertex.h.

View newest version in sPHENIX GitHub at line 48 of file KFVertex.h

References fIsConstrained, and KFParticleBase::fNDF.

void KFVertex::operator+= ( const KFParticle Daughter)
inline

Adds particle to a vertex.

Definition at line 79 of file KFVertex.h.

View newest version in sPHENIX GitHub at line 79 of file KFVertex.h

References KFParticle::operator+=().

+ Here is the call graph for this function:

KFVertex KFVertex::operator- ( const KFParticle Daughter) const
inline

Subtracts particle from a vertex, returns temporary object. Initial vertex stays untouched.

Definition at line 90 of file KFVertex.h.

View newest version in sPHENIX GitHub at line 90 of file KFVertex.h

References KFParticleBase::SubtractFromVertex(), and Acts::Test::tmp().

+ Here is the call graph for this function:

void KFVertex::operator-= ( const KFParticle Daughter)
inline

Subtracts particle from a current vertex.

Definition at line 85 of file KFVertex.h.

View newest version in sPHENIX GitHub at line 85 of file KFVertex.h

References KFParticleBase::SubtractFromVertex().

+ Here is the call graph for this function:

void KFVertex::SetBeamConstraint ( float  X,
float  Y,
float  Z,
float  ErrX,
float  ErrY,
float  ErrZ 
)

Sets a soft beam constraint on the vertex position.

Parameters
[in]x,y,z- coordinates of the constraint
[in]errX,errY,errZ- corresponding errors

Definition at line 42 of file KFVertex.cxx.

View newest version in sPHENIX GitHub at line 42 of file KFVertex.cxx

References KFParticleBase::fC, fIsConstrained, KFParticleBase::fP, ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.

void KFVertex::SetBeamConstraintOff ( )

Switches off the constraint. Should be called before KFVertex::ConstructPrimaryVertex()

Definition at line 61 of file KFVertex.cxx.

View newest version in sPHENIX GitHub at line 61 of file KFVertex.cxx

References fIsConstrained.

Member Data Documentation

Bool_t KFVertex::fIsConstrained
protected

Flag showing if the the beam constraint is set.

Definition at line 64 of file KFVertex.h.

View newest version in sPHENIX GitHub at line 64 of file KFVertex.h

Referenced by ConstructPrimaryVertex(), GetNContributors(), SetBeamConstraint(), and SetBeamConstraintOff().


The documentation for this class was generated from the following files: