25 bool propagateErrors )
26 : theValidityFlag(
false ),
27 theParticleMass( particleMass ),
28 theParameters( tbd.decayParameters() ),
30 theOriginalTsos( tsos ),
31 thePrimaryMass( tbd.primaryMass() ),
32 thePrimaryWidth( tbd.primaryWidth() )
48 bool propagateErrors )
59 secondaryMomenta.first[1],
60 secondaryMomenta.first[2] );
63 secondaryMomenta.second[1],
64 secondaryMomenta.second[2] );
78 deriv1.sub( 4, 4, derivatives.first );
82 deriv2.sub( 4, 4, derivatives.second );
85 if ( propagateErrors ) {
115 pair< TrajectoryStateOnSurface, double > tsosWithPath = propagator.
propagateWithPath( fts, surface );
118 if ( !tsosWithPath.first.isValid() )
return false;
126 tsosWithPath.first.globalMomentum(),
127 tsosWithPath.second );
139 tsos = tsosWithPath.first;
142 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 &_)
ROOT::Math::SMatrix< double, 5, 6, ROOT::Math::MatRepStd< double, 5, 6 > > AlgebraicMatrix56
const AlgebraicMatrix55 & jacobian() const
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
const Derivatives & derivatives(void) const
Derivatives theDerivatives
CLHEP::HepMatrix AlgebraicMatrix
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &fts, const Plane &plane) const
propagation to plane with path length
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
std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > TsosContainer
TwoBodyDecayParameters theParameters
void setCartesianError(const CartesianTrajectoryError &err)
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
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepStd< double, 5, 5 > > AlgebraicMatrix55
const std::pair< AlgebraicVector, AlgebraicVector > cartesianSecondaryMomenta(const AlgebraicVector ¶m)
TsosContainer theRefittedTsos