ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
MuonCalib::WireSagCorFunc Class Reference

#include <WireSagCorFunc.h>

Inheritance diagram for MuonCalib::WireSagCorFunc:
Collaboration diagram for MuonCalib::WireSagCorFunc:

Public Types

typedef std::vector< double > ParVec
 

Public Member Functions

 WireSagCorFunc (const CalibFunc::ParVec &params)
 
std::string name () const
 class name More...
 
double correction (double signedDriftRadius, double effectiveSag) const
 correction function More...
 
virtual std::string typeName () const
 
unsigned int nPar () const
 
const ParVecparameters () const
 
double par (unsigned int index) const
 

Private Member Functions

void init (const CalibFunc::ParVec &params)
 initialization method More...
 

Private Attributes

std::vector< double > m_params
 data members More...
 
ParVec m_parameters
 

Detailed Description

Definition at line 64 of file WireSagCorFunc.h.

Member Typedef Documentation

◆ ParVec

typedef std::vector<double> MuonCalib::CalibFunc::ParVec
inherited

Definition at line 36 of file CalibFunc.h.

Constructor & Destructor Documentation

◆ WireSagCorFunc()

MuonCalib::WireSagCorFunc::WireSagCorFunc ( const CalibFunc::ParVec params)
inlineexplicit

Definition at line 66 of file WireSagCorFunc.h.

Member Function Documentation

◆ correction()

double WireSagCorFunc::correction ( double  signedDriftRadius,
double  effectiveSag 
) const
virtual

correction function

polynomial coefficients

scale factor needed, as correction function was normalized to 100um wire sag

Calculate dT using polynomial coefficients

Implements MuonCalib::IMdtWireSagCorFunc.

Definition at line 37 of file WireSagCorFunc.cxx.

37  {
39 
40  double coeff[6] = {-4.47741E-3, 1.75541E-2, -1.32913E-2, 2.57938E-3, -4.55015E-5, -1.70821E-7};
41 
43  double scaleFactor = effectiveSag / 100.;
44 
46  double dT = 0;
47  for (int i = 0; i < 5; i++) { dT = dT + coeff[i] * std::pow(signedDriftRadius, i); }
48 
49  return scaleFactor * dT;
50 }

◆ init()

void WireSagCorFunc::init ( const CalibFunc::ParVec params)
private

initialization method

initialization method (might eventually pass coefficients this way)

Definition at line 27 of file WireSagCorFunc.cxx.

27  {
28  MsgStream log(Athena::getMessageSvc(), "WireSagCorFunc");
29  m_params = params;
30  if (!m_params.empty()) { log << MSG::ERROR << "Wrong number of parameters: " << m_params.size() << endmsg; }
31 }

◆ name()

std::string WireSagCorFunc::name ( ) const
virtual

class name

name method

Implements MuonCalib::CalibFunc.

Definition at line 34 of file WireSagCorFunc.cxx.

34 { return std::string("WireSagCorFunc"); }

◆ nPar()

unsigned int MuonCalib::CalibFunc::nPar ( ) const
inlineinherited

Definition at line 39 of file CalibFunc.h.

39 { return m_parameters.size(); }

◆ par()

double MuonCalib::CalibFunc::par ( unsigned int  index) const
inlineinherited

Definition at line 41 of file CalibFunc.h.

41  {
42  if (index < nPar())
43  return m_parameters[index];
44  else
45  return 0.;
46  }

◆ parameters()

const ParVec& MuonCalib::CalibFunc::parameters ( ) const
inlineinherited

Definition at line 40 of file CalibFunc.h.

40 { return m_parameters; }

◆ typeName()

virtual std::string MuonCalib::IMdtWireSagCorFunc::typeName ( ) const
inlinevirtualinherited

Implements MuonCalib::CalibFunc.

Definition at line 18 of file IMdtWireSagCorFunc.h.

18 { return "IMdtWireSagCorFunc"; }

Member Data Documentation

◆ m_parameters

ParVec MuonCalib::CalibFunc::m_parameters
privateinherited

Definition at line 51 of file CalibFunc.h.

◆ m_params

std::vector<double> MuonCalib::WireSagCorFunc::m_params
private

data members

Definition at line 76 of file WireSagCorFunc.h.


The documentation for this class was generated from the following files:
MuonCalib::IMdtWireSagCorFunc::IMdtWireSagCorFunc
IMdtWireSagCorFunc(const CalibFunc::ParVec &vec)
Definition: IMdtWireSagCorFunc.h:16
index
Definition: index.py:1
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
TRT::Hit::signedDriftRadius
@ signedDriftRadius
Definition: HitInfo.h:40
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
MuonCalib::WireSagCorFunc::init
void init(const CalibFunc::ParVec &params)
initialization method
Definition: WireSagCorFunc.cxx:27
lumiFormat.i
int i
Definition: lumiFormat.py:92
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
MuonCalib::WireSagCorFunc::m_params
std::vector< double > m_params
data members
Definition: WireSagCorFunc.h:76
DeMoScan.index
string index
Definition: DeMoScan.py:362
MuonCalib::CalibFunc::m_parameters
ParVec m_parameters
Definition: CalibFunc.h:51
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
MuonCalib::CalibFunc::nPar
unsigned int nPar() const
Definition: CalibFunc.h:39
PowhegControl_ttFCNC_NLO.params
params
Definition: PowhegControl_ttFCNC_NLO.py:226