12 edm::LogWarning(
"CollinearFitAtTM2") <<
"Invalid state in TrajectoryMeasurement";
26 if ( tm.
recHit()->isValid() ) {
27 hitPos = tm.
recHit()->localPosition();
28 hitErr = tm.
recHit()->localPositionError();
31 fit(fwdPar,fwdCov,bwdPar,bwdCov,hitPos,hitErr);
46 fit(fwdParameters,fwdCovariance,bwdParameters,bwdCovariance,hitPosition,hitErrors);
55 for (
int i=0;
i<12; ++
i ) {
58 for (
int i=1;
i<5; ++
i ) {
78 for (
int i=0;
i<12; ++
i ) {
86 if ( hitErr.
xx()>0 ) {
102 edm::LogWarning(
"CollinearFitAtTM2") <<
"Inversion of input covariance matrix failed";
113 edm::LogWarning(
"CollinearFitAtTM2") <<
"Inversion of resulting weight matrix failed";
123 ROOT::Math::Similarity(projectedMeasurements_,
covariance_);
144 double pIn = 1./fabs(qpIn);
145 double pOut = 1./fabs(qpOut);
146 double sig2DeltaP = pIn/qpIn*pIn/qpIn*sig2In - 2*pIn/qpIn*pOut/qpOut*corrInOut +
147 pOut/qpOut*pOut/qpOut*sig2Out;
ConstRecHitPointer const & recHit() const
const LocalTrajectoryParameters & localParameters() const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
CollinearFitAtTM2(const TrajectoryMeasurement &tm)
static const uint16_t valid_
bool fit(const AlgebraicVector5 &fwdParameters, const AlgebraicSymMatrix55 &fwdCovariance, const AlgebraicVector5 &bwdParameters, const AlgebraicSymMatrix55 &bwdCovariance, const LocalPoint &hitPosition, const LocalError &hitErrors)
Perform the fit. Return value "true" for success.
AlgebraicVector5 vector() const
Measurement1D deltaP() const
estimated deltaP (out-in) from fit parameters
const AlgebraicSymMatrix55 & matrix() const
const LocalTrajectoryError & localError() const
ROOT::Math::SMatrix< double, 12, 12, ROOT::Math::MatRepSym< double, 12 > > weightMatrix_
TrajectoryStateOnSurface const & forwardPredictedState() const
Access to forward predicted state (from fitter or builder)
ROOT::Math::SVector< double, 5 > AlgebraicVector5
ROOT::Math::SVector< double, 6 > projectedMeasurements_
void initJacobian()
initialise the jacobian
ROOT::Math::SMatrix< double, 12, 6 > jacobian_
TrajectoryStateOnSurface const & updatedState() const
ROOT::Math::SVector< double, 12 > measurements_
TrajectoryStateOnSurface const & backwardPredictedState() const
Access to backward predicted state (from smoother)