19 #ifndef ALIKFPARTICLEBASE_H
20 #define ALIKFPARTICLEBASE_H
23 #include "RootTypesDef.h"
121 const Int_t &
Q ()
const {
return fQ; }
154 Int_t &
Q () {
return fQ; }
281 static Int_t
IJ( Int_t
i, Int_t j ){
282 return ( j<=i ) ? i*(i+1)/2+j :j*(j+1)/2+
i;
287 void Convert(
bool ToProduction );
const Double_t & Chi2() const
void SetConstructMethod(Int_t m)
Int_t GetDecayLength(Double_t &L, Double_t &SigmaL) const
void TransportToProductionVertex()
void TransportToDecayVertex()
Double_t GetDStoPointBz(Double_t Bz, const Double_t xyz[]) const
Int_t GetEta(Double_t &Eta, Double_t &SigmaEta) const
void SetNonlinearMassConstraint(Double_t Mass)
Double_t GetDStoPointBy(Double_t By, const Double_t xyz[]) const
static void MultQSQt(const Double_t Q[], const Double_t S[], Double_t SOut[])
Double_t GetDistanceFromParticle(const KFParticleBase &p) const
void GetMeasurement(const Double_t XYZ[], Double_t m[], Double_t V[]) const
void GetDStoParticleCBM(const KFParticleBase &p, Double_t &dS, Double_t &dS1) const
Double_t GetDStoPointCBM(const Double_t xyz[]) const
Int_t GetMass(Double_t &M, Double_t &SigmaM) const
void TransportCBM(Double_t dS, Double_t P[], Double_t C[]) const
void SetVtxGuess(Double_t x, Double_t y, Double_t z)
void operator+=(const KFParticleBase &Daughter)
void AddDaughterWithEnergyCalc(const KFParticleBase &Daughter)
static Int_t IJ(Int_t i, Int_t j)
Int_t GetPhi(Double_t &Phi, Double_t &SigmaPhi) const
const Int_t & NDF() const
void GetDStoParticleBy(Double_t B, const KFParticleBase &p, Double_t &dS, Double_t &dS1) const
const Double_t & Pz() const
virtual void GetDStoParticle(const KFParticleBase &p, Double_t &DS, Double_t &DSp) const =0
Double_t GetCovariance(Int_t i) const
const Double_t & Px() const
Double_t & Cij(Int_t i, Int_t j)
void GetDStoParticleLine(const KFParticleBase &p, Double_t &dS, Double_t &dS1) const
void SetMassHypo(Double_t m)
void Construct(const KFParticleBase *vDaughters[], Int_t nDaughters, const KFParticleBase *ProdVtx=0, Double_t Mass=-1, Bool_t IsConstrained=0)
void TransportLine(Double_t S, Double_t P[], Double_t C[]) const
void SetProductionVertex(const KFParticleBase &Vtx)
void TransportBz(Double_t Bz, Double_t dS, Double_t P[], Double_t C[]) const
virtual void Transport(Double_t dS, Double_t P[], Double_t C[]) const =0
virtual void GetFieldValue(const Double_t xyz[], Double_t B[]) const =0
const Double_t & S() const
Double_t GetCovariance(Int_t i, Int_t j) const
const Double_t & E() const
static Bool_t InvertSym3(const Double_t A[], Double_t Ainv[])
void GetDStoParticleBz(Double_t Bz, const KFParticleBase &p, Double_t &dS, Double_t &dS1) const
void SetMassConstraint(Double_t Mass, Double_t SigmaMass=0)
Int_t GetPt(Double_t &Pt, Double_t &SigmaPt) const
Int_t GetMomentum(Double_t &P, Double_t &SigmaP) const
void GetDSIter(const KFParticleBase &p, Double_t const &dS, Double_t x[3], Double_t dx[3], Double_t ddx[3]) const
static Double_t GetSCorrection(const Double_t Part[], const Double_t XYZ[])
Int_t GetLifeTime(Double_t &T, Double_t &SigmaT) const
Double_t GetDeviationFromParticle(const KFParticleBase &p) const
void RotateXY(Double_t angle, Double_t Vtx[3])
virtual ~KFParticleBase()
const Double_t & X() const
void AddDaughterWithEnergyFit(const KFParticleBase &Daughter)
const Double_t & Py() const
const Double_t & GetMassHypo() const
void AddDaughterId(int id)
void Convert(bool ToProduction)
void AddDaughterWithEnergyFitMC(const KFParticleBase &Daughter)
Double_t GetParameter(Int_t i) const
Double_t GetDStoPointLine(const Double_t xyz[]) const
void TransportToDS(Double_t dS)
const std::vector< int > & DaughterIds() const
void SubtractFromVertex(KFParticleBase &Vtx) const
const Double_t & Y() const
Bool_t fAtProductionVertex
Double_t & Covariance(Int_t i, Int_t j)
Int_t GetR(Double_t &R, Double_t &SigmaR) const
Double_t GetDistanceFromVertex(const Double_t vtx[]) const
void AddDaughter(const KFParticleBase &Daughter)
Double_t & Parameter(Int_t i)
std::vector< int > fDaughtersIds
static void GetArmenterosPodolanski(KFParticleBase &positive, KFParticleBase &negative, Double_t QtAlfa[2])
Int_t GetDecayLengthXY(Double_t &L, Double_t &SigmaL) const
Double_t GetDeviationFromVertex(const Double_t v[], const Double_t Cv[]=0) const
void ConstructGammaBz(const KFParticleBase &daughter1, const KFParticleBase &daughter2, double Bz)
virtual Double_t GetDStoPoint(const Double_t xyz[]) const =0
const Double_t & GetSumDaughterMass() const
Double_t & Covariance(Int_t i)
const Double_t & Z() const