ATLAS Offline Software
Loading...
Searching...
No Matches
MuonEtaPhiRIO_OnTrackErrorScaling Class Referencefinal

#include <MuonEtaPhiRIO_OnTrackErrorScaling.h>

Inheritance diagram for MuonEtaPhiRIO_OnTrackErrorScaling:
Collaboration diagram for MuonEtaPhiRIO_OnTrackErrorScaling:

Public Types

enum  EMuonEtaPhiErrorScalingRegions { kPhi , kEta , kNParamTypes }
enum  Type {
  Pixel = 0 , SCT = 1 , TRT = 2 , MuonEtaPhi = 3 ,
  Unknown = 99
}

Public Member Functions

virtual CLID clid () const override final
Amg::MatrixX getScaledCovariance (Amg::MatrixX &&cov_input, const Trk::ParamDefs measuredCoord) const
virtual Type type () const override final
virtual bool postProcess () override final
std::vector< std::vector< double > > & params ()
const std::vector< std::vector< double > > & params () const

Static Public Member Functions

static const char *const * paramNames ()

Static Public Attributes

static constexpr RIO_OnTrackErrorScaling::Type s_type = RIO_OnTrackErrorScaling::MuonEtaPhi

Protected Member Functions

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.

Static Protected Attributes

static const char *const s_names [kNParamTypes]

Private Attributes

std::vector< std::vector< double > > m_params

Detailed Description

Definition at line 10 of file MuonEtaPhiRIO_OnTrackErrorScaling.h.

Member Enumeration Documentation

◆ EMuonEtaPhiErrorScalingRegions

◆ Type

Enumerator
Pixel 
SCT 
TRT 
MuonEtaPhi 
Unknown 

Definition at line 16 of file RIO_OnTrackErrorScaling.h.

Member Function Documentation

◆ checkParameters()

void RIO_OnTrackErrorScaling::checkParameters ( const char * label,
unsigned int n_paramter_sets,
const char *const * param_names,
unsigned int n_paramters ) const
protectedinherited

Convenience function to check whether the number of parameters is correct.

Parameters
labela label for the error scaling class in case an error is issued.
n_paramter_setsthe number of parameter sets
param_namesthe names of the parameter sets
n_paramtersthe number of parameters per set.

Definition at line 14 of file RIO_OnTrackErrorScaling.cxx.

18{
19 if (params().size() != n_paramter_sets ) {
20 std::stringstream message;
21 message << label << ": Expecting parameters for 2 parameters for";
22 for (unsigned int idx=0; idx < n_paramter_sets; ++idx) {
23 message << " " << param_names[idx];
24 }
25 message << " But got " << params().size() << ".";
26 throw std::runtime_error( message.str() );
27 }
28 for (unsigned int idx=0; idx<params().size(); ++idx) {
29 if (params()[idx].size() != n_paramters) {
30 assert( idx < n_paramter_sets );
31 std::stringstream message;
32 message << label << ": Expected 2 parameters for " << param_names[idx] << " but got " << params()[idx].size()
33 << ".";
34 throw std::runtime_error( message.str() );
35 }
36 }
37}
std::vector< std::vector< double > > & params()
std::string label(const std::string &format, int i)
Definition label.h:19

◆ clid()

CLID MuonEtaPhiRIO_OnTrackErrorScaling::clid ( ) const
finaloverridevirtual

Reimplemented from RIO_OnTrackErrorScaling.

Definition at line 16 of file MuonEtaPhiRIO_OnTrackErrorScaling.cxx.

16 {
17 return ClassID_traits<CondCont<MuonEtaPhiRIO_OnTrackErrorScaling> >::ID();
18}
std::vector< Identifier > ID

◆ getScaledCovariance()

Amg::MatrixX MuonEtaPhiRIO_OnTrackErrorScaling::getScaledCovariance ( Amg::MatrixX && cov_input,
const Trk::ParamDefs measuredCoord ) const

Definition at line 25 of file MuonEtaPhiRIO_OnTrackErrorScaling.cxx.

27{
28 Amg::MatrixX newCov(std::move(cov_input));
29 double a,b = 0.0;
30 if (measuredCoord == Trk::distPhi) {
31 a = params()[kPhi][0];
32 b = params()[kPhi][1];
33 } else if (measuredCoord == Trk::distEta) {
34 a = params()[kEta][0];
35 b = params()[kEta][1];
36 } else {
37 throw std::runtime_error("Invalid measured coordinate. Only Trk::distPhi and Trk::distEta are supported.");
38 }
39 newCov(0,0) *= square(a);
40 newCov(0,0) += square(b);
41 return newCov;
42}
static Double_t a
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
@ distEta
readout for silicon
Definition ParamDefs.h:51
@ distPhi
Definition ParamDefs.h:50

◆ paramNames()

const char *const * MuonEtaPhiRIO_OnTrackErrorScaling::paramNames ( )
inlinestatic

Definition at line 25 of file MuonEtaPhiRIO_OnTrackErrorScaling.h.

25{ return s_names; }
static const char *const s_names[kNParamTypes]

◆ params() [1/2]

std::vector< std::vector< double > > & RIO_OnTrackErrorScaling::params ( )
inlineinherited

Definition at line 29 of file RIO_OnTrackErrorScaling.h.

29{ return m_params; }
std::vector< std::vector< double > > m_params

◆ params() [2/2]

const std::vector< std::vector< double > > & RIO_OnTrackErrorScaling::params ( ) const
inlineinherited

Definition at line 30 of file RIO_OnTrackErrorScaling.h.

30{ return m_params; }

◆ postProcess()

bool MuonEtaPhiRIO_OnTrackErrorScaling::postProcess ( )
finaloverridevirtual

Reimplemented from RIO_OnTrackErrorScaling.

Definition at line 20 of file MuonEtaPhiRIO_OnTrackErrorScaling.cxx.

20 {
21 checkParameters("MuonEtaPhiRIO_OnTrackErrorScaling", kNParamTypes, s_names, 2);
22 return true;
23}
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.

◆ type()

virtual Type MuonEtaPhiRIO_OnTrackErrorScaling::type ( ) const
inlinefinaloverridevirtual

Reimplemented from RIO_OnTrackErrorScaling.

Definition at line 26 of file MuonEtaPhiRIO_OnTrackErrorScaling.h.

26{return s_type;}
static constexpr RIO_OnTrackErrorScaling::Type s_type

Member Data Documentation

◆ m_params

std::vector<std::vector<double> > RIO_OnTrackErrorScaling::m_params
privateinherited

Definition at line 47 of file RIO_OnTrackErrorScaling.h.

◆ s_names

const char *const MuonEtaPhiRIO_OnTrackErrorScaling::s_names
staticprotected
Initial value:
={
"Phi",
"Eta"
}

Definition at line 7 of file MuonEtaPhiRIO_OnTrackErrorScaling.h.

◆ s_type

RIO_OnTrackErrorScaling::Type MuonEtaPhiRIO_OnTrackErrorScaling::s_type = RIO_OnTrackErrorScaling::MuonEtaPhi
staticconstexpr

Definition at line 14 of file MuonEtaPhiRIO_OnTrackErrorScaling.h.


The documentation for this class was generated from the following files: