13 inline double square(
double a) {
return a*
a; }
22 std::stringstream message;
23 message <<
" TRTRIO_OnTrackErrorScaling: Expecting parameters for et least 2 parameters for";
28 message <<
" But got " <<
params().size() <<
".";
29 throw std::runtime_error( message.str() );
31 for (
unsigned int idx=0; idx<
params().size(); ++idx) {
32 if (
params()[idx].size() != 3) {
33 if (
params()[idx].size() == 2) {
34 params()[idx].push_back(0.);
38 std::stringstream message;
39 message <<
" TRTRIO_OnTrackErrorScaling: Expected 2 or 3 parameters for " <<
s_names[idx] <<
" but got " <<
params()[idx].size()
41 throw std::runtime_error( message.str() );
56 newCov(0,0) *= square(
a);
57 newCov(0,0) += square(b);
58 newCov(0,0) *= (1. + mu * c);
std::vector< Identifier > ID
uint32_t CLID
The Class ID type.
std::atomic< const char * > ClassID_traits< ViewVector< DV > >::s_name
std::vector< std::vector< double > > & params()
Amg::MatrixX getScaledCovariance(Amg::MatrixX &&cov_input, bool is_endcap, double mu) const
virtual CLID clid() const override final
virtual bool postProcess() override final
static const char *const s_names[kNParamTypes]
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Default, invalid implementation of ClassID_traits.