ATLAS Offline Software
Loading...
Searching...
No Matches
MDTRIO_OnTrackErrorScaling.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
5#include <iostream>
6
8 "MDT Barrel",
9 "MDT Endcap"
10 };
11
12namespace {
13 inline double square(double a) { return a*a; }
14}
15
19
21 checkParameters("MDTRIO_OnTrackErrorScaling", kNParamTypes, s_names, 2);
22 return true;
23}
24
26 bool is_endcap) const
27{
28 Amg::MatrixX newCov(cov_input);
29 double a = (is_endcap) ? params()[kEndcap][0] : params()[kBarrel][0];
30 double b = (is_endcap) ? params()[kEndcap][1] : params()[kBarrel][1];
31 newCov(0,0) *= square(a);
32 newCov(0,0) += square(b);
33 return newCov;
34}
35
36
std::vector< Identifier > ID
uint32_t CLID
The Class ID type.
static Double_t a
virtual bool postProcess() override final
static const char *const s_names[kNParamTypes]
virtual CLID clid() const override final
Amg::MatrixX getScaledCovariance(const Amg::MatrixX &cov_input, bool is_endcap) const
void checkParameters(const char *label, unsigned int n_paramter_sets, const char *const *param_names, unsigned int n_paramters) const
Convenience function to check whether the number of parameters is correct.
std::vector< std::vector< double > > & params()
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Default, invalid implementation of ClassID_traits.