15 return estimate<1>(tsos, aRecHit);
17 return estimate<2>(tsos, aRecHit);
23 LogDebug(
"MRHChi2MeasurementEstimator") <<
"WARNING:The hit is not 1D either 2D:"
24 <<
" does not count in the MRH Chi2 estimation.";
29 throw cms::Exception(
"Rec hit of invalid dimension (not 1,2,3,4,5)")
30 <<
"The value was " << aRecHit.
dimension() <<
", type is " <<
typeid(aRecHit).
name() <<
"\n";
34 template <
unsigned int N>
37 LogDebug(
"MRHChi2MeasurementEstimator") <<
"Calling MRHChi2MeasurementEstimator";
42 LogDebug(
"MRHChi2MeasurementEstimator") <<
"Current annealing factor is " << annealing;
45 LogDebug(
"MRHChi2MeasurementEstimator") <<
"this hit has " << components.size() <<
" components";
48 for (std::vector<const TrackingRecHit*>::const_iterator iter = components.begin(); iter != components.end();
59 holder.template setup<N>(&
r, &
V, &pf, &rMeas, &VMeas,
x,
C);
60 (**iter).getKfComponents(holder);
63 V = V * annealing + VMeas;
67 <<
"SiTrackerMultiRecHitUpdator::ComputeParameters2dim: W not valid!" << std::endl;
70 LogDebug(
"MRHChi2MeasurementEstimator") <<
"Hit with weight " << mHit.
weight(iComp);
71 est += ROOT::Math::Similarity(r, V) * mHit.
weight(iComp);
virtual int dimension() const =0
ROOT::Math::SMatrix< double, D1, D1, ROOT::Math::MatRepSym< double, D1 > > SymMatrix
const LocalTrajectoryParameters & localParameters() const
virtual double getAnnealingFactor() const
Log< level::Error, false > LogError
float weight(unsigned int i) const
AlgebraicVector5 vector() const
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t V
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 > estimate(const TrajectoryStateOnSurface &tsos, const TrackingRecHit &aRecHit) const override
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
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)