16 return estimate<1>(tsos, aRecHit);
18 return estimate<2>(tsos, aRecHit);
24 LogDebug(
"MRHChi2MeasurementEstimator") <<
"WARNING:The hit is not 1D either 2D:" 25 <<
" does not count in the MRH Chi2 estimation.";
30 throw cms::Exception(
"Rec hit of invalid dimension (not 1,2,3,4,5)")
31 <<
"The value was " << aRecHit.
dimension() <<
", type is " <<
typeid(aRecHit).
name() <<
"\n";
35 template <
unsigned int N>
38 LogDebug(
"MRHChi2MeasurementEstimator") <<
"Calling MRHChi2MeasurementEstimator";
43 LogDebug(
"MRHChi2MeasurementEstimator") <<
"Current annealing factor is " << annealing;
46 LogDebug(
"MRHChi2MeasurementEstimator") <<
"this hit has " << components.size() <<
" components";
49 for (std::vector<const TrackingRecHit*>::const_iterator iter = components.begin(); iter != components.end();
60 holder.template setup<N>(&
r, &V, &
pf, &rMeas, &VMeas,
x,
C);
61 (**iter).getKfComponents(holder);
64 V = V * annealing + VMeas;
68 <<
"SiTrackerMultiRecHitUpdator::ComputeParameters2dim: W not valid!" << std::endl;
71 LogDebug(
"MRHChi2MeasurementEstimator") <<
"Hit with weight " << mHit.
weight(iComp);
72 est += ROOT::Math::Similarity(r, V) * mHit.
weight(iComp);
ROOT::Math::SMatrix< double, D1, D1, ROOT::Math::MatRepSym< double, D1 > > SymMatrix
const LocalTrajectoryParameters & localParameters() const
virtual double getAnnealingFactor() const
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
std::pair< bool, double > estimate(const TrajectoryStateOnSurface &tsos, const TrackingRecHit &aRecHit) const override
float weight(unsigned int i) const
AlgebraicVector5 vector() const
virtual int dimension() const =0
bool invertPosDefMatrix(ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > &m)
ROOT::Math::SVector< double, 5 > AlgebraicVector5
const AlgebraicSymMatrix55 & matrix() const
const LocalTrajectoryError & localError() const
std::pair< bool, double > returnIt(double est) const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
ROOT::Math::SVector< double, D1 > Vector
std::pair< bool, double > HitReturnType