Analysis Software
Documentation for sPHENIX simulation software
|
The base of KFParticle class, describes particle objects. More...
#include <KFParticle/blob/master/KFParticle/KFParticleBase.h>
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. | |
The base of KFParticle class, describes particle objects.
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
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
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.
[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+=().
|
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().
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.
[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().
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.
[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().
|
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().
|
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.
|
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
Referenced by SetMassConstraint().
|
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().
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.
[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().
|
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
Referenced by KFParticle::Covariance(), and RotateXY().
|
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
|
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().
|
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().
|
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.
|
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 );
[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().
|
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().
|
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
Referenced by ClassImp(), KFParticle::GetCovariance(), and RotateXY().
|
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
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.
[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().
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.
[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().
float KFParticleBase::GetDeviationFromParticle | ( | const KFParticleBase & | p | ) | const |
Returns Chi2 deviation of the current particle from another particle in 3D.
[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().
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.
[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().
float KFParticleBase::GetDeviationFromVertex | ( | const KFParticleBase & | Vtx | ) | const |
Returns Chi2 deviation of the current particle from the vertex in the KFParticle format in 3D.
[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().
float KFParticleBase::GetDistanceFromParticle | ( | const KFParticleBase & | p | ) | const |
Returns the DCA distance from another particle p.
[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().
float KFParticleBase::GetDistanceFromVertex | ( | const float | vtx[] | ) | const |
Returns the DCA distance from vertex in 3D.
[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().
float KFParticleBase::GetDistanceFromVertex | ( | const KFParticleBase & | Vtx | ) | const |
Returns the DCA distance from vertex in the KFParticle format in 3D.
[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().
|
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().
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.
[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().
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.
[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().
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.
[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().
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.
[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().
|
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().
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.
[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().
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.
[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().
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.
[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().
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.
[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().
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.
[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.
|
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().
Int_t KFParticleBase::GetEta | ( | float & | eta, |
float & | error | ||
) | const |
Calculates particle pseudorapidity and its error. If they are well defined returns 0, otherwise 1.
[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().
|
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().
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.
[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().
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.
[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().
|
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.
|
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.
[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().
Int_t KFParticleBase::GetMomentum | ( | float & | p, |
float & | error | ||
) | const |
Calculates particle momentum and its error. If they are well defined returns 0, otherwise 1.
[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().
|
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().
|
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
Referenced by ClassImp(), and KFParticle::GetParameter().
|
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().
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.
[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().
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.
[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().
|
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().
|
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().
|
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().
|
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().
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.
[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().
|
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().
|
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.
|
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().
|
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().
|
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().
|
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=().
|
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().
void KFParticleBase::Initialize | ( | const float | Param[], |
const float | Cov[], | ||
Int_t | Charge, | ||
float | Mass | ||
) |
Sets the parameters of the particle:
[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().
|
static |
Inverts symmetric 3x3 matrix a using modified Choletsky decomposition. The result is stored to the same matrix a.
[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().
|
static |
Matrix multiplication SOut = Q*S*Q^T, where Q - square matrix, S - symmetric matrix.
[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
Referenced by GetDeviationFromParticle(), GetMeasurement(), KFParticle::GetParametersAtPoint(), SetProductionVertex(), TransportBz(), TransportCBM(), and TransportLine().
|
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().
|
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().
|
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.
[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+=().
|
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
Referenced by KFParticle::Parameter().
|
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().
|
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.
|
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().
|
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.
|
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().
|
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.
|
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().
|
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.
[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().
|
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().
|
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.
|
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().
|
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().
void KFParticleBase::SetMassConstraint | ( | float | Mass, |
float | SigmaMass = 0 |
||
) |
Sets linearised mass constraint on the current particle. The constraint can be set with an uncertainty.
[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().
|
protected |
Sets the exact nonlinear mass constraint on the state vector mP with the covariance matrix mC.
[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.
|
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().
void KFParticleBase::SetNonlinearMassConstraint | ( | float | Mass | ) |
Sets the exact nonlinear mass constraint on the current particle.
[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().
|
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
Referenced by KFParticle_eventReconstruction::buildChain(), KFParticle_Tools::buildMother(), KFParticleFinder::ConstructTrackV0Cand(), KFParticleFinder::ConstructV0(), KFParticleFinder::FindParticles(), KFParticle_eventReconstruction::getCandidateDecay(), KFParticleSIMD::GetKFParticle(), KFParticle::KFParticle(), and KFParticleFinder::NeutralDaughterDecay().
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.
[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().
void KFParticleBase::SubtractDaughter | ( | const KFParticleBase & | Daughter | ) |
Subtracts a daughter particle from the mother particle. The mathematics is similar to AddDaughterWithEnergyFit() but momentum is subtracted.
[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.
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().
[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.
void KFParticleBase::SubtractFromVertex | ( | KFParticleBase & | Vtx | ) | const |
Subtract the current particle from vertex Vtx using the Kalman filter mathematics.
[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-=().
|
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().
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.
[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().
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.
[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().
|
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.
[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().
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().
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.
[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().
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().
|
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().
|
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.
|
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().
|
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.
|
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().
|
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.
|
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().
|
protected |
Low-triangle covariance matrix of fP.
Definition at line 264 of file KFParticleBase.h.
View newest version in sPHENIX GitHub at line 264 of file KFParticleBase.h
Referenced by AddDaughter(), AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), Cij(), Construct(), KFVertex::ConstructPrimaryVertex(), Covariance(), KFParticle::CovarianceMatrix(), GetCovariance(), GetDecayLength(), GetDecayLengthXY(), GetDeviationFromParticle(), GetDeviationFromVertex(), KFParticle::GetDeviationFromVertexXY(), KFParticle::GetDistanceFromVertexXY(), GetEta(), GetLifeTime(), GetMass(), GetMeasurement(), GetMomentum(), GetPhi(), GetPt(), GetR(), Initialize(), KFParticle::KFParticle(), KFVertex::KFVertex(), KFVertex::SetBeamConstraint(), SetMassConstraint(), SetNoDecayLength(), SetNonlinearMassConstraint(), SetProductionVertex(), SubtractDaughter(), SubtractFromParticle(), SubtractFromVertex(), TransportBz(), TransportCBM(), TransportLine(), and TransportToDS().
|
protected |
Chi^2.
Definition at line 265 of file KFParticleBase.h.
View newest version in sPHENIX GitHub at line 265 of file KFParticleBase.h
Referenced by AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), Chi2(), KFParticle::Chi2(), Construct(), KFVertex::ConstructPrimaryVertex(), GetChi2(), Initialize(), KFParticle::KFParticle(), KFVertex::KFVertex(), SetMassConstraint(), SetNoDecayLength(), SetNonlinearMassConstraint(), SetProductionVertex(), SubtractDaughter(), SubtractFromParticle(), and SubtractFromVertex().
|
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().
|
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().
|
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
|
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().
|
protected |
Number of degrees of freedom.
Definition at line 269 of file KFParticleBase.h.
View newest version in sPHENIX GitHub at line 269 of file KFParticleBase.h
Referenced by AddDaughter(), AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), Construct(), KFVertex::ConstructPrimaryVertex(), GetMeasurement(), KFVertex::GetNContributors(), GetNDF(), Initialize(), KFParticle::KFParticle(), KFVertex::KFVertex(), NDF(), KFParticle::NDF(), SetMassConstraint(), SetNoDecayLength(), SetNonlinearMassConstraint(), SetProductionVertex(), SubtractDaughter(), SubtractFromParticle(), and SubtractFromVertex().
|
protected |
Particle parameters { X, Y, Z, Px, Py, Pz, E, S[=DecayLength/P]}.
Definition at line 263 of file KFParticleBase.h.
View newest version in sPHENIX GitHub at line 263 of file KFParticleBase.h
Referenced by AddDaughter(), AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), KFVertex::ConstructPrimaryVertex(), E(), KFParticle::E(), GetDecayLength(), GetDecayLengthXY(), GetDeviationFromVertex(), KFParticle::GetDeviationFromVertexXY(), GetDistanceFromVertex(), KFParticle::GetDistanceFromVertexXY(), GetDStoParticleBy(), GetDStoParticleBz(), GetDStoParticleCBM(), GetDStoParticleLine(), GetDStoPointB(), GetDStoPointBy(), GetDStoPointBz(), GetDStoPointCBM(), GetDStoPointLine(), GetE(), GetEta(), GetLifeTime(), GetMass(), GetMeasurement(), GetMomentum(), GetParameter(), GetPhi(), GetPt(), GetPx(), GetPy(), GetPz(), GetR(), KFParticle::GetRapidity(), GetS(), KFParticle::GetTheta(), GetX(), GetY(), GetZ(), Initialize(), KFParticle::KFParticle(), KFVertex::KFVertex(), Parameter(), KFParticle::Parameters(), Px(), KFParticle::Px(), Py(), KFParticle::Py(), Pz(), KFParticle::Pz(), RotateXY(), S(), KFParticle::S(), KFVertex::SetBeamConstraint(), SetMassConstraint(), SetNoDecayLength(), SetNonlinearMassConstraint(), SetProductionVertex(), SubtractDaughter(), SubtractFromParticle(), SubtractFromVertex(), TransportBz(), TransportCBM(), TransportLine(), TransportToDS(), TransportToProductionVertex(), X(), KFParticle::X(), Y(), KFParticle::Y(), Z(), and KFParticle::Z().
|
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
|
protected |
The charge of the particle in the units of the elementary charge.
Definition at line 278 of file KFParticleBase.h.
View newest version in sPHENIX GitHub at line 278 of file KFParticleBase.h
Referenced by AddDaughter(), AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), Construct(), GetDStoParticleBz(), GetDStoParticleCBM(), GetDStoPointBz(), GetQ(), Initialize(), KFParticle::KFParticle(), KFVertex::KFVertex(), Q(), KFParticle::Q(), SubtractDaughter(), SubtractFromParticle(), TransportBz(), and TransportCBM().
|
protected |
Distance from the decay vertex to the current position.
Definition at line 266 of file KFParticleBase.h.
View newest version in sPHENIX GitHub at line 266 of file KFParticleBase.h
Referenced by AddDaughter(), AddDaughterWithEnergyFit(), AddDaughterWithEnergyFitMC(), Construct(), Initialize(), KFParticle::KFParticle(), KFVertex::KFVertex(), SetProductionVertex(), SubtractDaughter(), SubtractFromParticle(), TransportToDecayVertex(), TransportToDS(), and TransportToProductionVertex().
|
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().