25 : theValidityFlag(
false),
26 theParticleMass(particleMass),
27 theParameters(tbd.decayParameters()),
29 theOriginalTsos(tsos),
30 thePrimaryMass(tbd.primaryMass()),
51 GlobalVector p1(secondaryMomenta.first[0], secondaryMomenta.first[1], secondaryMomenta.first[2]);
53 GlobalVector p2(secondaryMomenta.second[0], secondaryMomenta.second[1], secondaryMomenta.second[2]);
67 deriv1.sub(4, 4, derivatives.first);
71 deriv2.sub(4, 4, derivatives.second);
74 if (propagateErrors) {
101 pair<TrajectoryStateOnSurface, double> tsosWithPath = propagator.propagateWithPath(fts, surface);
104 if (!tsosWithPath.first.isValid())
113 gtp, tsosWithPath.first.globalPosition(), tsosWithPath.first.globalMomentum(), tsosWithPath.second);
125 tsos = tsosWithPath.first;
128 endDeriv = hepMatDeriv * startDeriv;
TsosContainer theOriginalTsos
CLHEP::HepMatrix asHepMatrix(const ROOT::Math::SMatrix< double, N1, N2, typename ROOT::Math::MatRepStd< double, N1, N2 > > &rm)
Derivative< X, A >::type derivative(const A &_)
const AlgebraicMatrix55 & jacobian() const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepStd< double, 5, 5 > > AlgebraicMatrix55
const AlgebraicMatrix56 & jacobian() const
TwoBodyDecayTrajectoryState(const TsosContainer &tsos, const TwoBodyDecay &tbd, double particleMass, const MagneticField *magField, bool propagateErrors=false)
const std::pair< AlgebraicMatrix, AlgebraicMatrix > derivatives(const TwoBodyDecay &tbd) const
ROOT::Math::SMatrix< double, 5, 6, ROOT::Math::MatRepStd< double, 5, 6 > > AlgebraicMatrix56
const Derivatives & derivatives(void) const
Derivatives theDerivatives
CLHEP::HepMatrix AlgebraicMatrix
void setError(FreeTrajectoryState &fts, AlgebraicMatrix &derivative) const
bool propagateSingleState(const FreeTrajectoryState &fts, const GlobalTrajectoryParameters >p, const AlgebraicMatrix &startDeriv, const Surface &surface, const MagneticField *magField, TrajectoryStateOnSurface &tsos, AlgebraicMatrix &endDeriv) const
TwoBodyDecayParameters theParameters
void setCartesianError(const CartesianTrajectoryError &err)
std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > TsosContainer
void rescaleError(double scale)
const AlgebraicSymMatrix & covariance(void) const
Get error matrix.
void construct(const MagneticField *magField, bool propagateErrors)
CLHEP::HepSymMatrix AlgebraicSymMatrix
const AlgebraicMatrix55 & jacobian() const
tuple AnalyticalPropagator
const std::pair< AlgebraicVector, AlgebraicVector > cartesianSecondaryMomenta(const AlgebraicVector ¶m)
TsosContainer theRefittedTsos