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

The base of KFParticle class, describes particle objects. More...

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

+ Inheritance diagram for KFParticleBase:
+ Collaboration diagram for KFParticleBase:

Public Member Functions

virtual void GetFieldValue (const float xyz[], float B[]) const =0
 
virtual float GetDStoPoint (const float xyz[3], float dsdr[6]) const =0
 
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
 
virtual void GetDStoParticle (const KFParticleBase &p, float dS[2], float dsdr[4][6]) const =0
 
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.
 

Static Public Member Functions

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

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

static Int_t IJ (Int_t i, Int_t j)
 

Protected Attributes

float fP [8]
 Particle parameters { X, Y, Z, Px, Py, Pz, E, S[=DecayLength/P]}.
 
float fC [36]
 Low-triangle covariance matrix of fP.
 
float fChi2
 Chi^2.
 
float fSFromDecay
 Distance from the decay vertex to the current position.
 
float SumDaughterMass
 Sum of the daughter particles masses. Needed to set the constraint on the minimum mass during particle construction.
 
float fMassHypo
 The mass hypothesis, used for the constraints during particle construction.
 
Int_t fNDF
 Number of degrees of freedom.
 
int fId
 Id of the particle.
 
Bool_t fAtProductionVertex
 Flag shows if particle is at the production point.
 
char fQ
 The charge of the particle in the units of the elementary charge.
 
char fConstructMethod
 Determines the method for the particle construction.
0 - Energy considered as an independent veriable, fitted independently from momentum, without any constraints on mass
2 - Energy considered as an independent variable, fitted independently from momentum, with constraints on mass of daughter particle.
 
int fPDG
 The PDG hypothesis assigned to the particle.
 
std::vector< int > fDaughtersIds
 A vector with ids of the daughter particles:
1) if particle is created from a track - the index of the track, in this case the size of the vector is always equal to one;
2) if particle is constructed from other particles - indices of these particles in the same array.
 

Detailed Description

The base of KFParticle class, describes particle objects.

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

Contains the main mathematics of the KF Particle . Will be merged with the KFParticle class.

Definition at line 48 of file KFParticleBase.h.

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

Constructor & Destructor Documentation

KFParticleBase::KFParticleBase ( )
virtual KFParticleBase::~KFParticleBase ( )
inlinevirtual

The default destructor.

Definition at line 81 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 81 of file KFParticleBase.h

Member Function Documentation

void KFParticleBase::AddDaughter ( const KFParticleBase Daughter)

Adds daughter to the current particle. Depending on the selected construction method uses:
1) Either simplifyed fast mathematics which consideres momentum and energy as independent variables and thus ignores constraint on the fixed mass (fConstructMethod = 0). In this case the mass of the daughter particle can be corrupted when the constructed vertex is added as the measurement and the mass of the output short-lived particle can become unphysical - smaller then the threshold. Implemented in the AddDaughterWithEnergyFit() function
2) Or slower but correct mathematics which requires that the masses of daughter particles stays fixed in the construction process (fConstructMethod = 2). Implemented in the AddDaughterWithEnergyFitMC() function.

Parameters
[in]Daughter- the daughter particle

Definition at line 616 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 616 of file KFParticleBase.cxx

References AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), fC, fConstructMethod, fMassHypo, fNDF, fP, fQ, fSFromDecay, GetQ(), i, and SumDaughterMass.

Referenced by KFParticle::AddDaughter(), Construct(), and operator+=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::AddDaughterId ( int  id)
inline

Adds index of the daughter particle.

Definition at line 231 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 231 of file KFParticleBase.h

References fDaughtersIds.

Referenced by KFParticleFinder::CombinePartPart(), KFParticleFinder::ConstructTrackV0Cand(), KFParticleFinder::FindParticles(), KFParticleSIMD::GetKFParticle(), and KFParticleFinder::NeutralDaughterDecay().

+ Here is the caller graph for this function:

void KFParticleBase::AddDaughterWithEnergyFit ( const KFParticleBase Daughter)

Adds daughter to the current particle. Uses simplifyed fast mathematics which consideres momentum and energy as independent variables and thus ignores constraint on the fixed mass. In this case the mass of the daughter particle can be corrupted when the constructed vertex is added as the measurement and the mass of the output short-lived particle can become unphysical - smaller then the threshold.

Parameters
[in]Daughter- the daughter particle

Definition at line 651 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 651 of file KFParticleBase.cxx

References A, fC, fChi2, fNDF, fP, fQ, fSFromDecay, GetMeasurement(), GetQ(), i, IJ(), InvertCholetsky3(), j, k, and Acts::UnitConstants::m.

Referenced by AddDaughter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::AddDaughterWithEnergyFitMC ( const KFParticleBase Daughter)

Adds daughter to the current particle. Uses slower but correct mathematics which requires that the masses of daughter particles stays fixed in the construction process.

Parameters
[in]Daughter- the daughter particle

Definition at line 931 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 931 of file KFParticleBase.cxx

References A, fC, fChi2, fMassHypo, fNDF, fP, fQ, fSFromDecay, GetMeasurement(), GetQ(), i, IJ(), InvertCholetsky3(), j, k, Acts::UnitConstants::m, SetMassConstraint(), and SumDaughterMass.

Referenced by AddDaughter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const float& KFParticleBase::Chi2 ( ) const
inline

Returns Chi2 of the fit.

Definition at line 118 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 118 of file KFParticleBase.h

References fChi2.

Referenced by KFParticle::Chi2().

+ Here is the caller graph for this function:

float& KFParticleBase::Chi2 ( )
inline

Modifier of Chi2 of the fit.

Definition at line 151 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 151 of file KFParticleBase.h

References fChi2.

float& KFParticleBase::Cij ( Int_t  i,
Int_t  j 
)
inlineprotected

Return an element of the covariance matrix with {i,j} indices.

Definition at line 258 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 258 of file KFParticleBase.h

References fC, and IJ().

Referenced by SetMassConstraint().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::CleanDaughtersId ( )
inline

Cleans the vector with the indices of daughter particles.

Definition at line 228 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 228 of file KFParticleBase.h

References fDaughtersIds.

Referenced by KFParticleFinder::CombinePartPart(), KFParticleFinder::ConstructTrackV0Cand(), KFParticleFinder::FindParticles(), KFParticleSIMD::GetKFParticle(), and KFParticleFinder::NeutralDaughterDecay().

+ Here is the caller graph for this function:

void KFParticleBase::Construct ( const KFParticleBase vDaughters[],
Int_t  nDaughters,
const KFParticleBase ProdVtx = 0,
float  Mass = -1 
)

Constructs a short-lived particle from a set of daughter particles:
1) all parameters of the "this" objects are initialised;
2) daughters are added one after another;
3) if Parent pointer is not null, the production vertex is set to it;
4) if Mass hypothesis >=0 the mass constraint is set.

Parameters
[in]vDaughters- array of daughter particles
[in]nDaughters- number of daughter particles in the input array
[in]Parent- optional parrent particle
[in]Mass- optional mass hypothesis

Definition at line 1554 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1554 of file KFParticleBase.cxx

References AddDaughter(), fAtProductionVertex, fC, fChi2, fNDF, fQ, fSFromDecay, i, SetMassConstraint(), SetProductionVertex(), and SumDaughterMass.

Referenced by KFParticle::Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float& KFParticleBase::Covariance ( Int_t  i)
inline

Modifier of C[i] element of the covariance matrix in the lower triangular form.

Definition at line 155 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 155 of file KFParticleBase.h

References fC, and i.

Referenced by KFParticle::Covariance(), and RotateXY().

+ Here is the caller graph for this function:

float& KFParticleBase::Covariance ( Int_t  i,
Int_t  j 
)
inline

Modifier of C[i,j] element of the covariance matrix.

Definition at line 156 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 156 of file KFParticleBase.h

References fC, and IJ().

+ Here is the call graph for this function:

const std::vector<int>& KFParticleBase::DaughterIds ( ) const
inline

Returns the vector with the indices of daughter particles.

Definition at line 227 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 227 of file KFParticleBase.h

References fDaughtersIds.

Referenced by KFParticleFinder::CombinePartPart(), KFParticleFinder::ConstructTrackV0Cand(), KFParticleTopoReconstructor::GetListOfDaughterTracks(), and KFParticleSIMD::KFParticleSIMD().

+ Here is the caller graph for this function:

const float& KFParticleBase::E ( ) const
inline

Returns energy of the particle, fP[6].

Definition at line 115 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 115 of file KFParticleBase.h

References fP.

Referenced by KFParticle::E().

+ Here is the caller graph for this function:

float& KFParticleBase::E ( )
inline

Modifier of energy of the particle, fP[6].

Definition at line 148 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 148 of file KFParticleBase.h

References fP.

void KFParticleBase::GetArmenterosPodolanski ( KFParticleBase positive,
KFParticleBase negative,
float  QtAlfa[2] 
)
static

Calculates parameters for the Armenteros-Podolanski plot for two particles. Example how to use:
KFParticle PosParticle(...)
KFParticle NegParticle(...)
Gamma.ConstructGamma(PosParticle, NegParticle);
float VertexGamma[3] = {Gamma.GetX(), Gamma.GetY(), Gamma.GetZ()};
PosParticle.TransportToPoint(VertexGamma);
NegParticle.TransportToPoint(VertexGamma);
float armenterosQtAlfa[2] = {0.};
KFParticle::GetArmenterosPodolanski(PosParticle, NegParticle, armenterosQtAlfa );

Parameters
[in]positive- first particle, positive or neutral
[in]negative- second particle, negative or neutral
[out]QtAlfa[2]- parameters for the Armenteros-Podolanski plot: QtAlfa[0] = qt - projection of the momenta of the particles on the transverse direction with respect to the total momentum, same for both particles; QtAlfa[1] = (Pl+ - Pl-)/(Pl+ + Pl-) - combination of the longitudinal components.

Definition at line 3261 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 3261 of file KFParticleBase.cxx

References alpha, GetPx(), GetPy(), and GetPz().

+ Here is the call graph for this function:

float KFParticleBase::GetChi2 ( ) const
inline

Returns Chi2 of the fit.

Definition at line 106 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 106 of file KFParticleBase.h

References fChi2.

Referenced by ClassImp(), and KFParticle::GetChi2().

+ Here is the caller graph for this function:

float KFParticleBase::GetCovariance ( Int_t  i) const
inline

Returns C[i] element of the covariance matrix in the lower triangular form.

Definition at line 122 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 122 of file KFParticleBase.h

References fC, and i.

Referenced by ClassImp(), KFParticle::GetCovariance(), and RotateXY().

+ Here is the caller graph for this function:

float KFParticleBase::GetCovariance ( Int_t  i,
Int_t  j 
) const
inline

Returns C[i,j] element of the covariance matrix.

Definition at line 123 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 123 of file KFParticleBase.h

References fC, and IJ().

+ Here is the call graph for this function:

Int_t KFParticleBase::GetDecayLength ( float &  l,
float &  error 
) const

Calculates the decay length of the particle in the laboratory system and its error. If they are well defined returns 0, otherwise 1. The production point should be set before calling this function.

Parameters
[out]l- the decay length
[out]error- its error

Definition at line 358 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 358 of file KFParticleBase.cxx

References Acts::UnitConstants::e, fC, fP, t, ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.

Referenced by KFParticle::GetDecayLength(), and KFParticle::GetErrDecayLength().

+ Here is the caller graph for this function:

Int_t KFParticleBase::GetDecayLengthXY ( float &  l,
float &  error 
) const

Calculates the projection in the XY plane of the decay length of the particle in the laboratory system and its error. If they are well defined returns 0, otherwise 1. The production point should be set before calling this function.

Parameters
[out]l- the decay length
[out]error- its error

Definition at line 386 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 386 of file KFParticleBase.cxx

References Acts::UnitConstants::e, fC, fP, t, ambiguity_solver_full_chain::x, and y.

Referenced by KFParticle::GetDecayLengthXY(), and KFParticle::GetErrDecayLengthXY().

+ Here is the caller graph for this function:

float KFParticleBase::GetDeviationFromParticle ( const KFParticleBase p) const

Returns Chi2 deviation of the current particle from another particle in 3D.

Parameters
[in]p- the second particle

Definition at line 2993 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2993 of file KFParticleBase.cxx

References F1, F2, F3, F4, fC, GetDStoParticle(), MultQSQt(), and Transport().

+ Here is the call graph for this function:

float KFParticleBase::GetDeviationFromVertex ( const float  v[],
const float  Cv[] = 0 
) const

Returns Chi2 deviation of the current particle from the vertex v with the covariance matrix Cv in 3D.

Parameters
[in]v[3]- coordinates of the vertex {X, Y, Z}
[in]Cv[6]- covariance matrix of the vertex {Cxx, Cxy, Cyy, Cxz, Czy, Czz}

Definition at line 2932 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2932 of file KFParticleBase.cxx

References F, F1, GetDStoPoint(), i, IJ(), InvertCholetsky3(), j, k, and Transport().

Referenced by KFParticle_truthAndDetTools::allPVInfo(), KFParticle_Tools::calcMinIP(), KFParticle_Tools::constrainToVertex(), KFVertex::ConstructPrimaryVertex(), KFParticle_MVA::evaluateMVA(), KFParticle_nTuple::fillBranch(), GetDeviationFromVertex(), and KFParticle_eventReconstruction::selectBestCombination().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float KFParticleBase::GetDeviationFromVertex ( const KFParticleBase Vtx) const

Returns Chi2 deviation of the current particle from the vertex in the KFParticle format in 3D.

Parameters
[in]Vtx- the vertex in KFPartcile format

Definition at line 2922 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2922 of file KFParticleBase.cxx

References fC, fP, and GetDeviationFromVertex().

+ Here is the call graph for this function:

float KFParticleBase::GetDistanceFromParticle ( const KFParticleBase p) const

Returns the DCA distance from another particle p.

Parameters
[in]p- the second particle

Definition at line 2903 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2903 of file KFParticleBase.cxx

References dy, dz, GetDStoParticle(), and Transport().

Referenced by KFParticle_nTuple::fillBranch().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float KFParticleBase::GetDistanceFromVertex ( const float  vtx[]) const

Returns the DCA distance from vertex in 3D.

Parameters
[in]vtx[3]- the vertex coordinates {X, Y, Z}

Definition at line 2887 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2887 of file KFParticleBase.cxx

References GetDStoPoint(), and Transport().

Referenced by KFParticle_truthAndDetTools::allPVInfo(), KFParticle_Tools::calcMinIP(), KFParticle_nTuple::fillBranch(), KFParticle_truthAndDetTools::fillTruthBranch(), FilterEvents::get_dca(), and GetDistanceFromVertex().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float KFParticleBase::GetDistanceFromVertex ( const KFParticleBase Vtx) const

Returns the DCA distance from vertex in the KFParticle format in 3D.

Parameters
[in]Vtx- the vertex in the KFParticle format

Definition at line 2878 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2878 of file KFParticleBase.cxx

References fP, and GetDistanceFromVertex().

+ Here is the call graph for this function:

virtual void KFParticleBase::GetDStoParticle ( const KFParticleBase p,
float  dS[2],
float  dsdr[4][6] 
) const
pure virtual

Virtual method to get extrapolation parameter dS=l/p to another particle. Is defined in KFParticle.

Implemented in KFParticle.

Referenced by GetDeviationFromParticle(), GetDistanceFromParticle(), and GetMeasurement().

+ Here is the caller graph for this function:

void KFParticleBase::GetDStoParticleBy ( float  B,
const KFParticleBase p,
float  dS[2],
float  dsdr[4][6] 
) const

Calculates dS = l/p parameters for two particles, where
1) l - signed distance to the DCA point with the other particle;
2) p - momentum of the particle;
under the assumption of the constant homogeneous field By. dS[0] is the transport parameter for the current particle, dS[1] - for the particle "p". Also calculates partial derivatives dsdr of the parameters dS[0] and dS[1] over the state vectors of the particles:
1) dsdr[0][6] = d(dS[0])/d(param1);
2) dsdr[1][6] = d(dS[0])/d(param2);
3) dsdr[2][6] = d(dS[1])/d(param1);
4) dsdr[3][6] = d(dS[1])/d(param2);
where param1 are parameters of the current particle fP and param2 are parameters of the second particle p.fP. The particle parameters are transformed to the coordinate system, where the main component of the magnetic field By is directed along the Z axis: x->x, y->-z, z->y, and the function GetDStoPointBz() is called. Derivatives dsdr are transformed back to the coordinate system of the particle.

Parameters
[in]B- magnetic field By
[in]p- second particle
[out]dS[2]- transport parameters dS for the current particle (dS[0]) and the second particle "p" (dS[1])
[out]dsdr[4][6]- partial derivatives of the parameters dS[0] and dS[1] over the state vectors of the both particles

Definition at line 2453 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2453 of file KFParticleBase.cxx

References fP, and GetDStoParticleBz().

Referenced by GetDStoParticleCBM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::GetDStoParticleBz ( float  Bz,
const KFParticleBase p,
float  dS[2],
float  dsdr[4][6],
const float *  param1 = 0,
const float *  param2 = 0 
) const

Calculates dS = l/p parameters for two particles, where
1) l - signed distance to the DCA point with the other particle;
2) p - momentum of the particle;
under the assumption of the constant homogeneous field Bz. dS[0] is the transport parameter for the current particle, dS[1] - for the particle "p". Also calculates partial derivatives dsdr of the parameters dS[0] and dS[1] over the state vectors of the particles:
1) dsdr[0][6] = d(dS[0])/d(param1);
2) dsdr[1][6] = d(dS[0])/d(param2);
3) dsdr[2][6] = d(dS[1])/d(param1);
4) dsdr[3][6] = d(dS[1])/d(param2);
where param1 are parameters of the current particle (if the pointer is not provided it is initialised with fP) and param2 are parameters of the second particle "p" (if the pointer is not provided it is initialised with p.fP). Parameters param1 and param2 should be either provided both or both set to null pointers.

Parameters
[in]Bz- magnetic field Bz
[in]p- second particle
[out]dS[2]- transport parameters dS for the current particle (dS[0]) and the second particle "p" (dS[1])
[out]dsdr[4][6]- partial derivatives of the parameters dS[0] and dS[1] over the state vectors of the both particles
[in]param1- optional parameter, is used in case if the parameters of the current particles are rotated to other coordinate system (see GetDStoParticleBy() function), otherwise fP are used
[in]param2- optional parameter, is used in case if the parameters of the second particles are rotated to other coordinate system (see GetDStoParticleBy() function), otherwise p.fP are used

Definition at line 1881 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1881 of file KFParticleBase.cxx

References KFPMath::a, KFPMath::a2, KFPMath::b, c2, dy, dz, f, fP, fQ, GetDStoParticleLine(), and i.

Referenced by KFParticle::GetDStoParticle(), and GetDStoParticleBy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::GetDStoParticleCBM ( const KFParticleBase p,
float  dS[2],
float  dsdr[4][6] 
) const

Calculates dS = l/p parameters for two particles, where
1) l - signed distance to the DCA point with the other particle;
2) p - momentum of the particle;
in case of the CBM-like nonhomogeneous magnetic field. dS[0] is the transport parameter for the current particle, dS[1] - for the particle "p". Also calculates partial derivatives dsdr of the parameters dS[0] and dS[1] over the state vectors of the particles:
1) dsdr[0][6] = d(dS[0])/d(param1);
2) dsdr[1][6] = d(dS[0])/d(param2);
3) dsdr[2][6] = d(dS[1])/d(param1);
4) dsdr[3][6] = d(dS[1])/d(param2);
where param1 are parameters of the current particle fP and param2 are parameters of the second particle p.fP. For this the y-component of the magnetic field at the position of the current particle is obtained and the GetDStoParticleBy() is called. It is assumed that particles are already close to each other and that the difference in magnetic field approximation between two particles can be neglected. If the charge of both particles is zero or if the magnetic field is zero the function GetDStoParticleLine() is called.

Parameters
[in]p- second particle
[out]dS[2]- transport parameters dS for the current particle (dS[0]) and the second particle "p" (dS[1])
[out]dsdr[4][6]- partial derivatives of the parameters dS[0] and dS[1] over the state vectors of the both particles

Definition at line 2577 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2577 of file KFParticleBase.cxx

References f, fP, fQ, GetDStoParticleBy(), GetDStoParticleLine(), and GetFieldValue().

Referenced by KFParticle::GetDStoParticle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::GetDStoParticleLine ( const KFParticleBase p,
float  dS[2],
float  dsdr[4][6] 
) const

Calculates dS = l/p parameters for two particles, where
1) l - signed distance to the DCA point with the other particle;
2) p - momentum of the particle;
under the assumption of the straight line trajectory. Is used for particles with charge 0 or in case of zero magnetic field. dS[0] is the transport parameter for the current particle, dS[1] - for the particle "p". Also calculates partial derivatives dsdr of the parameters dS[0] and dS[1] over the state vectors of the particles:
1) dsdr[0][6] = d(dS[0])/d(param1);
2) dsdr[1][6] = d(dS[0])/d(param2);
3) dsdr[2][6] = d(dS[1])/d(param1);
4) dsdr[3][6] = d(dS[1])/d(param2);
where param1 are parameters of the current particle fP and param2 are parameters of the second particle p.fP.

Parameters
[in]p- second particle
[out]dS[2]- transport parameters dS for the current particle (dS[0]) and the second particle "p" (dS[1])
[out]dsdr[4][6]- partial derivatives of the parameters dS[0] and dS[1] over the state vectors of the both particles

Definition at line 2497 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2497 of file KFParticleBase.cxx

References KFPMath::a2, fP, and i.

Referenced by GetDStoParticleBz(), and GetDStoParticleCBM().

+ Here is the caller graph for this function:

virtual float KFParticleBase::GetDStoPoint ( const float  xyz[3],
float  dsdr[6] 
) const
pure virtual

Virtual method to get extrapolation parameter dS=l/p to . Is defined in KFParticle.

Implemented in KFParticle.

Referenced by GetDeviationFromVertex(), GetDistanceFromVertex(), GetMeasurement(), and SetProductionVertex().

+ Here is the caller graph for this function:

float KFParticleBase::GetDStoPointB ( const float *  B,
const float  xyz[3],
float  dsdr[6] 
) const

Returns dS = l/p parameter, where
1) l - signed distance to the DCA point with the input xyz point;
2) p - momentum of the particle;
under the assumption of the constant homogeneous field B. Also calculates partial derivatives dsdr of the parameter dS over the state vector of the current particle. The particle parameters are transformed to the coordinate system, where the magnetic field B is directed along the Z axis and the function GetDStoPointBz() is called. Derivatives dsdr are transformed back to the coordinate system of the particle.

Parameters
[in]B[3]- three components of the magnetic field at the current position of the particle
[in]xyz[3]- point, to which particle should be transported
[out]dsdr[6]= ds/dr - partial derivatives of the parameter dS over the state vector of the current particle

Definition at line 1804 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1804 of file KFParticleBase.cxx

References Acts::IntegrationTest::Bz, Acts::UnitConstants::e, f, fP, and GetDStoPointBz().

+ Here is the call graph for this function:

float KFParticleBase::GetDStoPointBy ( float  By,
const float  xyz[3],
float  dsdr[6] 
) const

Returns dS = l/p parameter, where
1) l - signed distance to the DCA point with the input xyz point;
2) p - momentum of the particle;
under the assumption of the constant homogeneous field By. Also calculates partial derivatives dsdr of the parameter dS over the state vector of the current particle. The particle parameters are transformed to the coordinate system, where the main component of the magnetic field By is directed along the Z axis: x->x, y->-z, z->y, and the function GetDStoPointBz() is called. Derivatives dsdr are transformed back to the coordinate system of the particle.

Parameters
[in]By- magnetic field By
[in]xyz[3]- point, to which particle should be transported
[out]dsdr[6]= ds/dr - partial derivatives of the parameter dS over the state vector of the current particle

Definition at line 1773 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1773 of file KFParticleBase.cxx

References fP, and GetDStoPointBz().

Referenced by GetDStoPointCBM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float KFParticleBase::GetDStoPointBz ( float  B,
const float  xyz[3],
float  dsdr[6],
const float *  param = 0 
) const

Returns dS = l/p parameter, where
1) l - signed distance to the DCA point with the input xyz point;
2) p - momentum of the particle;
under the assumption of the constant homogeneous field Bz. Also calculates partial derivatives dsdr of the parameter dS over the state vector of the current particle.

Parameters
[in]B- magnetic field Bz
[in]xyz[3]- point, to which particle should be transported
[out]dsdr[6]= ds/dr partial derivatives of the parameter dS over the state vector of the current particle
[in]param- optional parameter, is used in case if the parameters of the particle are rotated to other coordinate system (see GetDStoPointBy() function), otherwise fP are used

Definition at line 1647 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1647 of file KFParticleBase.cxx

References KFPMath::a, Acts::PhysicalConstants::c, dy, dz, Acts::UnitConstants::e, f, fP, fQ, mask, merge_hashes::p, physmon_simulation::s, ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.

Referenced by KFParticle::GetDStoPoint(), GetDStoPointB(), and GetDStoPointBy().

+ Here is the caller graph for this function:

float KFParticleBase::GetDStoPointCBM ( const float  xyz[3],
float  dsdr[6] 
) const

Returns dS = l/p parameter, where
1) l - signed distance to the DCA point with the input xyz point;
2) p - momentum of the particle;
in case of the CBM-like nonhomogeneous magnetic field. Also calculates partial derivatives dsdr of the parameter dS over the state vector of the current particle. For this the y-component of the magnetic field at the current position of the particle is obtained and the GetDStoPointBy() is called.

Parameters
[in]xyz[3]- point, to which particle should be transported
[out]dsdr[6]= ds/dr partial derivatives of the parameter dS over the state vector of the current particle

Definition at line 1860 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1860 of file KFParticleBase.cxx

References fP, GetDStoPointBy(), and GetFieldValue().

Referenced by KFParticle::GetDStoPoint().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float KFParticleBase::GetDStoPointLine ( const float  xyz[3],
float  dsdr[6] 
) const

Returns dS = l/p parameter, where
1) l - signed distance to the DCA point with the input xyz point;
2) p - momentum of the particle;
assuming the straigth line trajectory. Is used for particles with charge 0 or in case of zero magnetic field. Also calculates partial derivatives dsdr of the parameter dS over the state vector of the current particle.

Parameters
[in]xyz[3]- point where particle should be transported
[out]dsdr[6]= ds/dr partial derivatives of the parameter dS over the state vector of the current particle

Definition at line 1621 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1621 of file KFParticleBase.cxx

References KFPMath::a, Acts::UnitConstants::e, f, and fP.

float KFParticleBase::GetE ( ) const
inline

Returns energy of the particle, fP[6].

Definition at line 103 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 103 of file KFParticleBase.h

References fP.

Referenced by KFParticle::GetE().

+ Here is the caller graph for this function:

Int_t KFParticleBase::GetEta ( float &  eta,
float &  error 
) const

Calculates particle pseudorapidity and its error. If they are well defined returns 0, otherwise 1.

Parameters
[out]eta- pseudorapidity of the particle
[out]error- its error

Definition at line 239 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 239 of file KFParticleBase.cxx

References KFPMath::a, KFPMath::b, Acts::PhysicalConstants::c, Acts::UnitConstants::e, fC, fP, and merge_hashes::p.

Referenced by KFParticle::GetErrEta(), and KFParticle::GetEta().

+ Here is the caller graph for this function:

virtual void KFParticleBase::GetFieldValue ( const float  xyz[],
float  B[] 
) const
pure virtual

Abstract methods are defined in the KFParticle classVirtual method to access the magnetic field

Implemented in KFParticle.

Referenced by GetDStoParticleCBM(), GetDStoPointCBM(), and TransportCBM().

+ Here is the caller graph for this function:

Int_t KFParticleBase::GetLifeTime ( float &  ctau,
float &  error 
) const

Calculates the lifetime times speed of life (ctau) [cm] of the particle in the center of mass frame and its error. If they are well defined returns 0, otherwise 1. The production point should be set before calling this function.

Parameters
[out]ctau- lifetime of the particle [cm]
[out]error- its error

Definition at line 413 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 413 of file KFParticleBase.cxx

References fC, fP, GetMass(), and Acts::UnitConstants::m.

Referenced by ClassImp(), KFParticle::GetErrLifeTime(), and KFParticle::GetLifeTime().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Int_t KFParticleBase::GetMass ( float &  m,
float &  error 
) const

Calculates the mass of the particle and its error. If they are well defined returns 0, otherwise 1.

Parameters
[out]m- mass of the particle
[out]error- its error

Definition at line 317 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 317 of file KFParticleBase.cxx

References Acts::UnitConstants::e, fC, fP, Acts::UnitConstants::m, Acts::UnitConstants::m2, and physmon_simulation::s.

Referenced by ClassImp(), KFParticle::GetErrMass(), GetLifeTime(), and KFParticle::GetMass().

+ Here is the caller graph for this function:

const float& KFParticleBase::GetMassHypo ( ) const
inline

Returns the mass hypothesis.

Definition at line 88 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 88 of file KFParticleBase.h

References fMassHypo.

bool KFParticleBase::GetMeasurement ( const KFParticleBase daughter,
float  m[],
float  V[],
float  D[3][3] 
)
protected

Obtains the measurements from the current particle and the daughter to be added for the Kalman filter mathematics. If these are two first daughters they are transported to the point of the closest approach, if the third or higher daughter is added it is transported to the DCA point of the already constructed vertex. The correlations are taken into account in the covariance matrices of both measurements, the correlation matrix of two measurements is also calculated. Parameters of the current particle are modified by this function, the daughter is not changed, its parameters are stored to the output arrays after modifications.

Parameters
[in]daughter- the daughter particle to be added, stays unchanged
[out]m[8]- the output parameters of the daughter particle at the DCA point
[out]V[36]- the output covariance matrix of the daughter parameters, takes into account the correlation
[out]D[3][3]- the correlation matrix between the current and daughter particles

Definition at line 445 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 445 of file KFParticleBase.cxx

References C, f, F, F1, F2, F3, F4, fC, fNDF, fP, GetDStoParticle(), GetDStoPoint(), i, IJ(), j, k, MultQSQt(), and Transport().

Referenced by AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), SubtractDaughter(), SubtractFromParticle(), and SubtractFromVertex().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Int_t KFParticleBase::GetMomentum ( float &  p,
float &  error 
) const

Calculates particle momentum and its error. If they are well defined returns 0, otherwise 1.

Parameters
[out]p- momentum of the particle
[out]error- its error

Definition at line 193 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 193 of file KFParticleBase.cxx

References Acts::UnitConstants::e, fC, fP, merge_hashes::p, ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.

Referenced by ClassImp(), KFParticle::GetErrMomentum(), KFParticle::GetErrP(), KFParticle::GetMomentum(), and KFParticle::GetP().

+ Here is the caller graph for this function:

Int_t KFParticleBase::GetNDF ( ) const
inline

Returns number of decrease of freedom.

Definition at line 107 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 107 of file KFParticleBase.h

References fNDF.

Referenced by ClassImp(), and KFParticle::GetNDF().

+ Here is the caller graph for this function:

float KFParticleBase::GetParameter ( Int_t  i) const
inline

Returns P[i] parameter.

Definition at line 121 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 121 of file KFParticleBase.h

References fP, and i.

Referenced by ClassImp(), and KFParticle::GetParameter().

+ Here is the caller graph for this function:

int KFParticleBase::GetPDG ( ) const
inline

Returns the PDG hypothesis.

Definition at line 234 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 234 of file KFParticleBase.h

References fPDG.

Referenced by KFParticleFinder::AddCandidate(), KFParticle_DST::buildSvtxTrack(), ClassImp(), KFPHistogram::Fill(), KFParticle_nTuple::fillBranch(), KFParticle_Tools::identify(), KFParticleSIMD::KFParticleSIMD(), and ResonanceJetTagging::tagHFHadronic().

+ Here is the caller graph for this function:

Int_t KFParticleBase::GetPhi ( float &  phi,
float &  error 
) const

Calculates particle polar angle at the current point and its error. If they are well defined returns 0, otherwise 1.

Parameters
[out]phi- polar angle of the particle
[out]error- its error

Definition at line 274 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 274 of file KFParticleBase.cxx

References Acts::UnitConstants::e, fC, and fP.

Referenced by KFParticle::GetErrPhi(), and KFParticle::GetPhi().

+ Here is the caller graph for this function:

Int_t KFParticleBase::GetPt ( float &  pt,
float &  error 
) const

Calculates particle transverse momentum and its error. If they are well defined returns 0, otherwise 1.

Parameters
[out]pt- transverse momentum of the particle
[out]error- its error

Definition at line 217 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 217 of file KFParticleBase.cxx

References Acts::UnitConstants::e, fC, fP, and physmon_track_finding_ttbar::pt.

Referenced by KFParticle::GetErrPt(), and KFParticle::GetPt().

+ Here is the caller graph for this function:

float KFParticleBase::GetPx ( ) const
inline

Retruns X component of the momentum, fP[3].

Definition at line 100 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 100 of file KFParticleBase.h

References fP.

Referenced by GetArmenterosPodolanski(), and KFParticle::GetPx().

+ Here is the caller graph for this function:

float KFParticleBase::GetPy ( ) const
inline

Retruns Y component of the momentum, fP[4].

Definition at line 101 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 101 of file KFParticleBase.h

References fP.

Referenced by GetArmenterosPodolanski(), and KFParticle::GetPy().

+ Here is the caller graph for this function:

float KFParticleBase::GetPz ( ) const
inline

Retruns Z component of the momentum, fP[5].

Definition at line 102 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 102 of file KFParticleBase.h

References fP.

Referenced by GetArmenterosPodolanski(), and KFParticle::GetPz().

+ Here is the caller graph for this function:

char KFParticleBase::GetQ ( ) const
inline

Returns charge of the particle.

Definition at line 105 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 105 of file KFParticleBase.h

References fQ.

Referenced by AddDaughter(), AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), ClassImp(), KFParticle::GetQ(), SubtractDaughter(), and SubtractFromParticle().

+ Here is the caller graph for this function:

Int_t KFParticleBase::GetR ( float &  r,
float &  error 
) const

Calculates the distance to the point {0,0,0} and its error. If they are well defined returns 0, otherwise 1.

Parameters
[out]r- polar angle of the particle
[out]error- its error

Definition at line 296 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 296 of file KFParticleBase.cxx

References Acts::UnitConstants::e, fC, fP, physmon_track_finding_ttbar::r, ambiguity_solver_full_chain::x, and y.

Referenced by KFParticle::GetErrR(), and KFParticle::GetR().

+ Here is the caller graph for this function:

float KFParticleBase::GetS ( ) const
inline

Returns dS=l/p, l - decay length, fP[7], defined if production vertex is set.

Definition at line 104 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 104 of file KFParticleBase.h

References fP.

Referenced by KFParticle::GetS().

+ Here is the caller graph for this function:

const float& KFParticleBase::GetSumDaughterMass ( ) const
inline

Returns the sum of masses of the daughters.

Definition at line 89 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 89 of file KFParticleBase.h

References SumDaughterMass.

float KFParticleBase::GetX ( ) const
inline

Retruns X coordinate of the particle, fP[0].

Definition at line 97 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 97 of file KFParticleBase.h

References fP.

Referenced by KFParticle::GetX(), and RotateXY().

+ Here is the caller graph for this function:

float KFParticleBase::GetY ( ) const
inline

Retruns Y coordinate of the particle, fP[1].

Definition at line 98 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 98 of file KFParticleBase.h

References fP.

Referenced by KFParticle::GetY(), and RotateXY().

+ Here is the caller graph for this function:

float KFParticleBase::GetZ ( ) const
inline

Retruns Z coordinate of the particle, fP[2].

Definition at line 99 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 99 of file KFParticleBase.h

References fP.

Referenced by KFParticle::GetZ(), and RotateXY().

+ Here is the caller graph for this function:

int KFParticleBase::Id ( ) const
inline

Returns Id of the particle.

Definition at line 225 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 225 of file KFParticleBase.h

References fId.

Referenced by KFParticle_Container::addParticle(), KFParticle_nTuple::fillBranch(), KFParticle_truthAndDetTools::fillCaloBranch(), KFParticle_truthAndDetTools::fillDetectorBranch(), KFParticle_truthAndDetTools::fillTruthBranch(), KFParticle_truthAndDetTools::getHepMCInfo(), KFParticle_Tools::getTracksFromVertex(), KFParticle_Tools::identify(), KFParticle_Container::KFParticle_Container(), KFParticleSIMD::KFParticleSIMD(), and KFParticle_Container::operator=().

+ Here is the caller graph for this function:

static Int_t KFParticleBase::IJ ( Int_t  i,
Int_t  j 
)
inlinestaticprotected

Converts a pair of indices {i,j} of the covariance matrix to one index corresponding to the triangular form.

Definition at line 254 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 254 of file KFParticleBase.h

References i.

Referenced by AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), Cij(), Covariance(), GetCovariance(), GetDeviationFromVertex(), GetMeasurement(), SetMassConstraint(), SetProductionVertex(), and SubtractDaughter().

+ Here is the caller graph for this function:

void KFParticleBase::Initialize ( const float  Param[],
const float  Cov[],
Int_t  Charge,
float  Mass 
)

Sets the parameters of the particle:

Parameters
[in]Param[6]= { X, Y, Z, Px, Py, Pz } - position and momentum
[in]Cov[21]- lower-triangular part of the covariance matrix:
          (  0  .  .  .  .  . )
          (  1  2  .  .  .  . )
Cov[21] = (  3  4  5  .  .  . )
          (  6  7  8  9  .  . )
          ( 10 11 12 13 14  . )
          ( 15 16 17 18 19 20 )
[in]Charge- charge of the particle in elementary charge units
[in]mass- the mass hypothesis

Definition at line 118 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 118 of file KFParticleBase.cxx

References energy, fAtProductionVertex, fC, fChi2, fMassHypo, fNDF, fP, fQ, fSFromDecay, h1, h2, and SumDaughterMass.

void KFParticleBase::Initialize ( )

Initialises the parameters by default:
1) all parameters are set to 0;
2) all elements of the covariance matrix are set to 0 except Cxx=Cyy=Czz=100;
3) Q = 0;
4) chi2 is set to 0;
5) NDF = -3, since 3 parameters should be fitted: X, Y, Z.

Definition at line 170 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 170 of file KFParticleBase.cxx

References fAtProductionVertex, fC, fChi2, fMassHypo, fNDF, fP, fQ, fSFromDecay, i, and SumDaughterMass.

Referenced by KFParticle::Create(), and KFParticle::Initialize().

+ Here is the caller graph for this function:

void KFParticleBase::InvertCholetsky3 ( float  a[6])
static

Inverts symmetric 3x3 matrix a using modified Choletsky decomposition. The result is stored to the same matrix a.

Parameters
[in,out]a- 3x3 symmetric matrix

Definition at line 3370 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 3370 of file KFParticleBase.cxx

References Acts::UnitConstants::e, f, i, j, k, and physmon_ckf_tracking::u.

Referenced by AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), GetDeviationFromVertex(), SetProductionVertex(), SubtractDaughter(), SubtractFromParticle(), and SubtractFromVertex().

+ Here is the caller graph for this function:

void KFParticleBase::MultQSQt ( const float  Q[],
const float  S[],
float  SOut[],
const int  kN 
)
static

Matrix multiplication SOut = Q*S*Q^T, where Q - square matrix, S - symmetric matrix.

Parameters
[in]Q- square matrix
[in]S- input symmetric matrix
[out]SOut- output symmetric matrix
[in]kN- dimensionality of the matrices

Definition at line 3429 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 3429 of file KFParticleBase.cxx

References i, j, and k.

Referenced by GetDeviationFromParticle(), GetMeasurement(), KFParticle::GetParametersAtPoint(), SetProductionVertex(), TransportBz(), TransportCBM(), and TransportLine().

+ Here is the caller graph for this function:

int KFParticleBase::NDaughters ( ) const
inline

Returns number of daughter particles.

Definition at line 226 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 226 of file KFParticleBase.h

References fDaughtersIds.

Referenced by KFParticleFinder::CombinePartPart(), KFParticleFinder::ConstructTrackV0Cand(), KFParticleTopoReconstructor::GetListOfDaughterTracks(), KFParticleSIMD::KFParticleSIMD(), and KFParticleTopoReconstructor::ParticleHasRepeatingDaughters().

+ Here is the caller graph for this function:

const Int_t& KFParticleBase::NDF ( ) const
inline

Returns number of decrease of freedom.

Definition at line 119 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 119 of file KFParticleBase.h

References fNDF.

Referenced by KFParticle::NDF().

+ Here is the caller graph for this function:

Int_t& KFParticleBase::NDF ( )
inline

Modifier of number of decrease of freedom.

Definition at line 152 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 152 of file KFParticleBase.h

References fNDF.

void KFParticleBase::operator+= ( const KFParticleBase Daughter)

Operator to add daughter to the current particle. Calls AddDaughter() function.

Parameters
[in]Daughter- the daughter particle

Definition at line 436 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 436 of file KFParticleBase.cxx

References AddDaughter().

Referenced by KFParticle::operator+=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float& KFParticleBase::Parameter ( Int_t  i)
inline

Modifier of P[i] parameter.

Definition at line 154 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 154 of file KFParticleBase.h

References fP, and i.

Referenced by KFParticle::Parameter().

+ Here is the caller graph for this function:

const float& KFParticleBase::Px ( ) const
inline

Retruns X component of the momentum, fP[3].

Definition at line 112 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 112 of file KFParticleBase.h

References fP.

Referenced by KFParticle::Px().

+ Here is the caller graph for this function:

float& KFParticleBase::Px ( )
inline

Modifier of X component of the momentum, fP[3].

Definition at line 145 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 145 of file KFParticleBase.h

References fP.

const float& KFParticleBase::Py ( ) const
inline

Retruns Y component of the momentum, fP[4].

Definition at line 113 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 113 of file KFParticleBase.h

References fP.

Referenced by KFParticle::Py().

+ Here is the caller graph for this function:

float& KFParticleBase::Py ( )
inline

Modifier of Y component of the momentum, fP[4].

Definition at line 146 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 146 of file KFParticleBase.h

References fP.

const float& KFParticleBase::Pz ( ) const
inline

Retruns Z component of the momentum, fP[5].

Definition at line 114 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 114 of file KFParticleBase.h

References fP.

Referenced by KFParticle::Pz().

+ Here is the caller graph for this function:

float& KFParticleBase::Pz ( )
inline

Modifier of Z component of the momentum, fP[5].

Definition at line 147 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 147 of file KFParticleBase.h

References fP.

const char& KFParticleBase::Q ( ) const
inline

Returns charge of the particle.

Definition at line 117 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 117 of file KFParticleBase.h

References fQ.

Referenced by KFParticle::Q().

+ Here is the caller graph for this function:

char& KFParticleBase::Q ( )
inline

Modifier of charge of the particle.

Definition at line 150 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 150 of file KFParticleBase.h

References fQ.

void KFParticleBase::RotateXY ( float  angle,
float  Vtx[3] 
)

Rotates the KFParticle object around OZ axis, OZ axis is set by the vertex position.

Parameters
[in]angle- angle of rotation in XY plane in [rad]
[in]Vtx[3]- position of the vertex in [cm]

Definition at line 3302 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 3302 of file KFParticleBase.cxx

References Acts::PhysicalConstants::c, Covariance(), fP, GetCovariance(), GetX(), GetY(), GetZ(), i, j, k, physmon_simulation::s, X(), Y(), and Z().

+ Here is the call graph for this function:

const float& KFParticleBase::S ( ) const
inline

Returns dS=l/p, l - decay length, fP[7], defined if production vertex is set.

Definition at line 116 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 116 of file KFParticleBase.h

References fP.

Referenced by KFParticle::S().

+ Here is the caller graph for this function:

float& KFParticleBase::S ( )
inline

Modifier of dS=l/p, l - decay length, fP[7], defined if production vertex is set.

Definition at line 149 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 149 of file KFParticleBase.h

References fP.

void KFParticleBase::SetConstructMethod ( Int_t  m)
inline

Defines the construction method for the current particle (see description of fConstructMethod).

Definition at line 86 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 86 of file KFParticleBase.h

References fConstructMethod, and Acts::UnitConstants::m.

Referenced by KFParticle_Tools::buildMother(), and KFParticlePVReconstructor::FindPrimaryClusters().

+ Here is the caller graph for this function:

void KFParticleBase::SetId ( int  id)
inline

Sets the Id of the particle. After the construction of a particle should be set by user.

Definition at line 230 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 230 of file KFParticleBase.h

References fId, and train_ambiguity_solver::id.

Referenced by KFParticle_eventReconstruction::buildChain(), KFParticleFinder::CombinePartPart(), KFParticleFinder::ConstructTrackV0Cand(), KFParticleFinder::ConstructV0(), KFParticle_eventReconstruction::createFakePV(), KFParticleFinder::FindParticles(), FilterEvents::get_dca(), KFParticle_eventReconstruction::getCandidateDecay(), FullJetFinder::GetDistanceFromVertexXY(), KFParticleSIMD::GetKFParticle(), KFParticle_Tools::makeParticle(), and KFParticleFinder::NeutralDaughterDecay().

+ Here is the caller graph for this function:

void KFParticleBase::SetMassConstraint ( float  Mass,
float  SigmaMass = 0 
)

Sets linearised mass constraint on the current particle. The constraint can be set with an uncertainty.

Parameters
[in]Mass- the mass to be set on the state vector mP
[in]SigmaMass- uncertainty of the constraint

Definition at line 1474 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1474 of file KFParticleBase.cxx

References Cij(), Acts::UnitConstants::e, fC, fChi2, fMassHypo, fNDF, fP, i, j, Acts::UnitConstants::m2, and SumDaughterMass.

Referenced by AddDaughterWithEnergyFitMC(), Construct(), and SetNonlinearMassConstraint().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::SetMassConstraint ( float *  mP,
float *  mC,
float  mJ[7][7],
float  mass 
)
protected

Sets the exact nonlinear mass constraint on the state vector mP with the covariance matrix mC.

Parameters
[in,out]mP- the state vector to be modified
[in,out]mC- the corresponding covariance matrix
[in,out]mJ- the Jacobian between initial and modified parameters
[in]mass- the mass to be set on the state vector mP

Definition at line 1346 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1346 of file KFParticleBase.cxx

References KFPMath::a, KFPMath::b, Acts::PhysicalConstants::c, perf_headwind::df, f, i, IJ(), j, k, lambda0, and mass.

+ Here is the call graph for this function:

void KFParticleBase::SetMassHypo ( float  m)
inline

Sets the mass hypothesis to the particle, is used when fConstructMethod = 2.

Definition at line 87 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 87 of file KFParticleBase.h

References fMassHypo, and Acts::UnitConstants::m.

void KFParticleBase::SetNoDecayLength ( )

Sets constraint on the zero decay length. When the production point is set the measurement from this particle is created at the decay point.

Definition at line 1523 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1523 of file KFParticleBase.cxx

References Acts::UnitConstants::e, fC, fChi2, fNDF, fP, h, i, j, physmon_simulation::s, and TransportToDecayVertex().

+ Here is the call graph for this function:

void KFParticleBase::SetNonlinearMassConstraint ( float  Mass)

Sets the exact nonlinear mass constraint on the current particle.

Parameters
[in]mass- the mass to be set on the particle

Definition at line 1450 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1450 of file KFParticleBase.cxx

References energy, f, fC, fChi2, fMassHypo, fNDF, fP, mass, SetMassConstraint(), and SumDaughterMass.

Referenced by KFParticleFinder::CombinePartPart(), and KFParticleFinder::ConstructTrackV0Cand().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::SetPDG ( int  pdg)
inline

Sets the PDG hypothesis.

Definition at line 233 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 233 of file KFParticleBase.h

References fPDG, and pdg.

Referenced by KFParticle_eventReconstruction::buildChain(), KFParticle_Tools::buildMother(), KFParticleFinder::ConstructTrackV0Cand(), KFParticleFinder::ConstructV0(), KFParticleFinder::FindParticles(), KFParticle_eventReconstruction::getCandidateDecay(), KFParticleSIMD::GetKFParticle(), KFParticle::KFParticle(), and KFParticleFinder::NeutralDaughterDecay().

+ Here is the caller graph for this function:

void KFParticleBase::SetProductionVertex ( const KFParticleBase Vtx)

Adds a vertex as a point-like measurement to the current particle. The eights parameter of the state vector is filled with the decay length to the momentum ratio (s = l/p). The corresponding covariances are calculated as well. The parameters of the particle are stored at the position of the production vertex.

Parameters
[in]Vtx- the assumed producation vertex

Definition at line 1160 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1160 of file KFParticleBase.cxx

References A, f, F, F1, fAtProductionVertex, fC, fChi2, fNDF, fP, fSFromDecay, GetDStoPoint(), i, IJ(), InvertCholetsky3(), j, k, Acts::UnitConstants::m, MultQSQt(), Transport(), TransportToDecayVertex(), X(), Y(), and Z().

Referenced by KFParticle_Tools::buildMother(), KFParticle_Tools::constrainToVertex(), Construct(), KFParticle_nTuple::fillBranch(), KFParticleTest::RunTestSingle(), and KFParticleTopoReconstructor::SelectParticleCandidates().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::SubtractDaughter ( const KFParticleBase Daughter)

Subtracts a daughter particle from the mother particle. The mathematics is similar to AddDaughterWithEnergyFit() but momentum is subtracted.

Parameters
[in]Daughter- the daughter particle

Definition at line 796 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 796 of file KFParticleBase.cxx

References A, fC, fChi2, fNDF, fP, fQ, fSFromDecay, GetMeasurement(), GetQ(), i, IJ(), InvertCholetsky3(), j, k, and Acts::UnitConstants::m.

+ Here is the call graph for this function:

void KFParticleBase::SubtractFromParticle ( KFParticleBase Vtx) const

Subtract the current particle from another particle Vtx using the Kalman filter mathematics. The function is depricated and is kept for compatibility reasons. Should be replaced with SubtractDaughter().

Parameters
[in]Vtx- particle from which the current particle should be subtracted

Definition at line 3097 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 3097 of file KFParticleBase.cxx

References fC, fChi2, fNDF, fP, fQ, fSFromDecay, GetMeasurement(), GetQ(), i, InvertCholetsky3(), j, k, and Acts::UnitConstants::m.

+ Here is the call graph for this function:

void KFParticleBase::SubtractFromVertex ( KFParticleBase Vtx) const

Subtract the current particle from vertex Vtx using the Kalman filter mathematics.

Parameters
[in]Vtx- vertex from which particle should be subtracted

Definition at line 3036 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 3036 of file KFParticleBase.cxx

References fC, fChi2, fNDF, fP, GetMeasurement(), i, InvertCholetsky3(), j, k, and Acts::UnitConstants::m.

Referenced by KFVertex::operator-(), and KFVertex::operator-=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void KFParticleBase::Transport ( float  dS,
const float  dsdr[6],
float  P[],
float  C[],
float *  dsdr1 = 0,
float *  F = 0,
float *  F1 = 0 
) const
pure virtual

Virtual method to transport a particle on a certain distance along the trajectory. Is defined in KFParticle.

Referenced by GetDeviationFromParticle(), GetDeviationFromVertex(), GetDistanceFromParticle(), GetDistanceFromVertex(), GetMeasurement(), SetProductionVertex(), and TransportToDS().

+ Here is the caller graph for this function:

void KFParticleBase::TransportBz ( float  Bz,
float  dS,
const float *  dsdr,
float  P[],
float  C[],
float *  dsdr1 = 0,
float *  F = 0,
float *  F1 = 0 
) const

Transports the parameters and their covariance matrix of the current particle assuming constant homogeneous magnetic field Bz on the length defined by the transport parameter dS = l/p, where l is the signed distance and p is the momentum of the current particle. The obtained parameters and covariance matrix are stored to the arrays P and C respectively. P and C can be set to the parameters fP and covariance matrix fC of the current particle. In this case the particle parameters will be modified. Dependence of the transport parameter dS on the state vector of the current particle is taken into account in the covariance matrix using partial derivatives dsdr = d(dS)/d(fP). If a pointer to F is initialised the transport jacobian F = d(fP new)/d(fP old) is stored. Since dS can depend on the state vector r1 of other particle or vertex, the corelation matrix F1 = d(fP new)/d(r1) can be optionally calculated if a pointer F1 is provided. Parameters F and F1 should be either both initialised or both set to null pointer.

Parameters
[in]Bz- z-component of the constant homogeneous magnetic field Bz
[in]dS- transport parameter which defines the distance to which particle should be transported
[in]dsdr[6]= ds/dr - partial derivatives of the parameter dS over the state vector of the current particle
[out]P[8]- array, where transported parameters should be stored
[out]C[36]- array, where transported covariance matrix (8x8) should be stored in the lower triangular form
[in]dsdr1[6]= ds/dr - partial derivatives of the parameter dS over the state vector of another particle or vertex
[out]F[36]- optional parameter, transport jacobian, 6x6 matrix F = d(fP new)/d(fP old)
[out]F1[36]- optional parameter, corelation 6x6 matrix betweeen the current particle and particle or vertex with the state vector r1, to which the current particle is being transported, F1 = d(fP new)/d(r1)

Definition at line 2789 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2789 of file KFParticleBase.cxx

References Acts::IntegrationTest::Bz, Acts::PhysicalConstants::c, Acts::UnitConstants::e, fC, fP, fQ, j, MultQSQt(), and physmon_simulation::s.

Referenced by KFParticle::Transport().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::TransportCBM ( float  dS,
const float *  dsdr,
float  P[],
float  C[],
float *  dsdr1 = 0,
float *  F = 0,
float *  F1 = 0 
) const

Transports the parameters and their covariance matrix of the current particle assuming CBM-like nonhomogeneous magnetic field on the length defined by the transport parameter dS = l/p, where l is the signed distance and p is the momentum of the current particle. The obtained parameters and covariance matrix are stored to the arrays P and C respectively. P and C can be set to the parameters fP and covariance matrix fC of the current particle. In this case the particle parameters will be modified. Dependence of the transport parameter dS on the state vector of the current particle is taken into account in the covariance matrix using partial derivatives dsdr = d(dS)/d(fP). If a pointer to F is initialised the transport jacobian F = d(fP new)/d(fP old) is stored. Since dS can depend on the state vector r1 of other particle or vertex, the corelation matrix F1 = d(fP new)/d(r1) can be optionally calculated if a pointer F1 is provided. Parameters F and F1 should be either both initialised or both set to null pointer.

Parameters
[in]dS- transport parameter which defines the distance to which particle should be transported
[in]dsdr[6]= ds/dr - partial derivatives of the parameter dS over the state vector of the current particle
[out]P[8]- array, where transported parameters should be stored
[out]C[36]- array, where transported covariance matrix (8x8) should be stored in the lower triangular form
[in]dsdr1[6]= ds/dr - partial derivatives of the parameter dS over the state vector of another particle or vertex
[out]F[36]- optional parameter, transport jacobian, 6x6 matrix F = d(fP new)/d(fP old)
[out]F1[36]- optional parameter, corelation 6x6 matrix betweeen the current particle and particle or vertex with the state vector r1, to which the current particle is being transported, F1 = d(fP new)/d(r1)

Definition at line 2614 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 2614 of file KFParticleBase.cxx

References Acts::PhysicalConstants::c, f, fC, fP, fQ, GetFieldValue(), j, Acts::UnitConstants::m, MultQSQt(), n, and TransportLine().

Referenced by KFParticle::Transport().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::TransportLine ( float  S,
const float *  dsdr,
float  P[],
float  C[],
float *  dsdr1,
float *  F,
float *  F1 
) const
protected

Transports the parameters and their covariance matrix of the current particle assuming the straight line trajectory on the length defined by the transport parameter dS = l/p, where l is the signed distance and p is the momentum of the current particle. The obtained parameters and covariance matrix are stored to the arrays P and C respectively. P and C can be set to the parameters fP and covariance matrix fC of the current particle. In this case the particle parameters will be modified. Dependence of the transport parameter dS on the state vector of the current particle is taken into account in the covariance matrix using partial derivatives dsdr = d(dS)/d(fP). If a pointer to F is initialised the transport jacobian F = d(fP new)/d(fP old) is stored. Since dS can depend on the state vector r1 of other particle or vertex, the corelation matrix F1 = d(fP new)/d(r1) can be optionally calculated if a pointer F1 is provided. Parameters F and F1 should be either both initialised or both set to null pointer.

Parameters
[in]dS- transport parameter which defines the distance to which particle should be transported
[in]dsdr[6]= ds/dr - partial derivatives of the parameter dS over the state vector of the current particle
[out]P[8]- array, where transported parameters should be stored
[out]C[36]- array, where transported covariance matrix (8x8) should be stored in the lower triangular form
[in]dsdr1[6]= ds/dr - partial derivatives of the parameter dS over the state vector of another particle or vertex
[out]F[36]- optional parameter, transport jacobian, 6x6 matrix F = d(fP new)/d(fP old)
[out]F1[36]- optional parameter, corelation 6x6 matrix betweeen the current particle and particle or vertex with the state vector r1, to which the current particle is being transported, F1 = d(fP new)/d(r1)

Definition at line 3191 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 3191 of file KFParticleBase.cxx

References fC, fP, j, and MultQSQt().

Referenced by TransportCBM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::TransportToDecayVertex ( )

Transports the particle to its decay vertex

Definition at line 1590 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1590 of file KFParticleBase.cxx

References fAtProductionVertex, fSFromDecay, and TransportToDS().

Referenced by KFParticle_Tools::constrainToVertex(), SetNoDecayLength(), and SetProductionVertex().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::TransportToDS ( float  dS,
const float *  dsdr 
)

Transport the particle on a certain distane. The distance is defined by the dS=l/p parameter, where
1) l - signed distance;
2) p - momentum of the particle.

Parameters
[in]dS= l/p - distance normalised to the momentum of the particle to be transported on
[in]dsdr[6]= ds/dr partial derivatives of the parameter dS over the state vector of the current particle

Definition at line 1607 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1607 of file KFParticleBase.cxx

References fC, fP, fSFromDecay, and Transport().

Referenced by TransportToDecayVertex(), KFParticle::TransportToParticle(), KFParticle::TransportToPoint(), and TransportToProductionVertex().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void KFParticleBase::TransportToProductionVertex ( )

Transports the particle to its production vertex

Definition at line 1598 of file KFParticleBase.cxx.

View newest version in sPHENIX GitHub at line 1598 of file KFParticleBase.cxx

References fAtProductionVertex, fP, fSFromDecay, and TransportToDS().

+ Here is the call graph for this function:

const float& KFParticleBase::X ( ) const
inline

Retruns X coordinate of the particle, fP[0].

Definition at line 109 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 109 of file KFParticleBase.h

References fP.

Referenced by RotateXY(), SetProductionVertex(), and KFParticle::X().

+ Here is the caller graph for this function:

float& KFParticleBase::X ( )
inline

Modifier of X coordinate of the particle, fP[0].

Definition at line 142 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 142 of file KFParticleBase.h

References fP.

const float& KFParticleBase::Y ( ) const
inline

Retruns Y coordinate of the particle, fP[1].

Definition at line 110 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 110 of file KFParticleBase.h

References fP.

Referenced by RotateXY(), SetProductionVertex(), and KFParticle::Y().

+ Here is the caller graph for this function:

float& KFParticleBase::Y ( )
inline

Modifier of Y coordinate of the particle, fP[1].

Definition at line 143 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 143 of file KFParticleBase.h

References fP.

const float& KFParticleBase::Z ( ) const
inline

Retruns Z coordinate of the particle, fP[2].

Definition at line 111 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 111 of file KFParticleBase.h

References fP.

Referenced by RotateXY(), SetProductionVertex(), and KFParticle::Z().

+ Here is the caller graph for this function:

float& KFParticleBase::Z ( )
inline

Modifier of Z coordinate of the particle, fP[2].

Definition at line 144 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 144 of file KFParticleBase.h

References fP.

Member Data Documentation

Bool_t KFParticleBase::fAtProductionVertex
protected

Flag shows if particle is at the production point.

Definition at line 277 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 277 of file KFParticleBase.h

Referenced by Construct(), KFParticle::GetAtProductionVertex(), Initialize(), KFParticle::KFParticle(), KFVertex::KFVertex(), KFParticle::SetAtProductionVertex(), SetProductionVertex(), TransportToDecayVertex(), and TransportToProductionVertex().

char KFParticleBase::fConstructMethod
protected

Determines the method for the particle construction.
0 - Energy considered as an independent veriable, fitted independently from momentum, without any constraints on mass
2 - Energy considered as an independent variable, fitted independently from momentum, with constraints on mass of daughter particle.

Definition at line 284 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 284 of file KFParticleBase.h

Referenced by AddDaughter(), and SetConstructMethod().

std::vector<int> KFParticleBase::fDaughtersIds
protected

A vector with ids of the daughter particles:
1) if particle is created from a track - the index of the track, in this case the size of the vector is always equal to one;
2) if particle is constructed from other particles - indices of these particles in the same array.

Definition at line 291 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 291 of file KFParticleBase.h

Referenced by AddDaughterId(), CleanDaughtersId(), DaughterIds(), and NDaughters().

int KFParticleBase::fId
protected

Id of the particle.

Definition at line 270 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 270 of file KFParticleBase.h

Referenced by Id(), and SetId().

float KFParticleBase::fMassHypo
protected

The mass hypothesis, used for the constraints during particle construction.

Definition at line 268 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 268 of file KFParticleBase.h

Referenced by AddDaughter(), AddDaughterWithEnergyFitMC(), GetMassHypo(), Initialize(), SetMassConstraint(), SetMassHypo(), and SetNonlinearMassConstraint().

float KFParticleBase::fP[8]
protected
int KFParticleBase::fPDG
protected

The PDG hypothesis assigned to the particle.

Definition at line 285 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 285 of file KFParticleBase.h

Referenced by GetPDG(), and SetPDG().

char KFParticleBase::fQ
protected
float KFParticleBase::fSFromDecay
protected
float KFParticleBase::SumDaughterMass
protected

Sum of the daughter particles masses. Needed to set the constraint on the minimum mass during particle construction.

Definition at line 267 of file KFParticleBase.h.

View newest version in sPHENIX GitHub at line 267 of file KFParticleBase.h

Referenced by AddDaughter(), AddDaughterWithEnergyFitMC(), Construct(), GetSumDaughterMass(), Initialize(), SetMassConstraint(), and SetNonlinearMassConstraint().


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