13 throw cms::Exception(
"MRHChi2MeasurementEstimator") <<
"Invalid RecHit passed to the MRHChi2MeasurementEstimator ";
20 TSiTrackerMultiRecHit
const & mHit =
dynamic_cast<TSiTrackerMultiRecHit
const &
>(aRecHit);
23 double annealing = mHit.getAnnealingFactor();
24 LogDebug(
"MRHChi2MeasurementEstimator") <<
"Current annealing factor is " << annealing;
26 LogDebug(
"MRHChi2MeasurementEstimator") <<
"this hit has " << components.size() <<
" components";
27 for (TransientTrackingRecHit::ConstRecHitContainer::const_iterator iter = components.begin(); iter != components.end(); iter++){
29 Mat
R = asSMatrix<2>((*iter)->parametersError())*annealing + me.
measuredError<2>(**iter);
32 LogDebug(
"MRHChi2MeasurementEstimator") <<
"Hit with weight " << (*iter)->weight();
33 est += ROOT::Math::Similarity(r, R)*((*iter)->weight());
ROOT::Math::SMatrix< double, D1, D1, ROOT::Math::MatRepSym< double, D1 > > SymMatrix
std::pair< bool, double > returnIt(double est) const
virtual std::pair< bool, double > estimate(const TrajectoryStateOnSurface &, const TransientTrackingRecHit &) const
bool invertPosDefMatrix(ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > &m)
std::vector< ConstRecHitPointer > ConstRecHitContainer
ROOT::Math::SVector< double, D1 > Vector
virtual ConstRecHitContainer transientHits() const
Composite interface: returns the component hits, if any.