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

An implementation of a time slew correction function for AMT digitization chip. More...

#include <MdtSlewCorFuncHardcoded.h>

Inheritance diagram for MuonCalib::MdtSlewCorFuncHardcoded:
Collaboration diagram for MuonCalib::MdtSlewCorFuncHardcoded:

Public Types

typedef std::vector< double > ParVec
 

Public Member Functions

 MdtSlewCorFuncHardcoded (const CalibFunc::ParVec &vec)
 
virtual std::string name () const override
 
virtual double correction (double t, double adc) const override
 Return time correction (ns). More...
 
virtual std::string typeName () const
 
unsigned int nPar () const
 
const ParVecparameters () const
 
double par (unsigned int index) const
 

Static Public Member Functions

static unsigned int nUsedPar ()
 

Private Attributes

ParVec m_parameters
 

Detailed Description

An implementation of a time slew correction function for AMT digitization chip.

Definition at line 15 of file MdtSlewCorFuncHardcoded.h.

Member Typedef Documentation

◆ ParVec

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

Definition at line 36 of file CalibFunc.h.

Constructor & Destructor Documentation

◆ MdtSlewCorFuncHardcoded()

MuonCalib::MdtSlewCorFuncHardcoded::MdtSlewCorFuncHardcoded ( const CalibFunc::ParVec vec)
inlineexplicit

Definition at line 17 of file MdtSlewCorFuncHardcoded.h.

17 : IMdtSlewCorFunc(vec) {}

Member Function Documentation

◆ correction()

double MuonCalib::MdtSlewCorFuncHardcoded::correction ( double  t,
double  adc 
) const
overridevirtual

Return time correction (ns).

Input: t = drift-time [ns], adc = ADC count after ADC-calibration correction

Implements MuonCalib::IMdtSlewCorFunc.

Definition at line 23 of file MdtSlewCorFuncHardcoded.cxx.

23  {
24  // Timeslew correction is negligible (<0.05 ns) for ADC>400 so do not bother computing it.
25  // In addition there are very few hits with ADC>400
26  // Constant 109 is from an optimization of the timeslew correction
27  // calibrated_p(i) is the integrated charge as a function of ADC
28  if (adc > 400. || adc < 0.) return 0.;
29  static const double A = 109. * std::exp(-1.11925e+00);
30  constexpr double adc_chan_conversion = 25. / 32.;
31  constexpr double Lambda = -2.08708e-02 * adc_chan_conversion; // ADC to ns
32  // Convert ADC to integrated charge for AMT chip, see ATL-MUON-2002-003
33  return A * std::exp(adc * Lambda);
34  }

◆ name()

virtual std::string MuonCalib::MdtSlewCorFuncHardcoded::name ( ) const
inlineoverridevirtual

Implements MuonCalib::CalibFunc.

Definition at line 18 of file MdtSlewCorFuncHardcoded.h.

18 { return "MdtSlewCorFuncHardCoded"; }

◆ nPar()

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

Definition at line 39 of file CalibFunc.h.

39 { return m_parameters.size(); }

◆ nUsedPar()

static unsigned int MuonCalib::MdtSlewCorFuncHardcoded::nUsedPar ( )
inlinestatic

Definition at line 19 of file MdtSlewCorFuncHardcoded.h.

19 { return 0; }

◆ 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::IMdtSlewCorFunc::typeName ( ) const
inlinevirtualinherited

Implements MuonCalib::CalibFunc.

Definition at line 18 of file IMdtSlewCorFunc.h.

18 { return "IMdtSlewCorFunc"; }

Member Data Documentation

◆ m_parameters

ParVec MuonCalib::CalibFunc::m_parameters
privateinherited

Definition at line 51 of file CalibFunc.h.


The documentation for this class was generated from the following files:
index
Definition: index.py:1
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
dqt_zlumi_alleff_HIST.A
A
Definition: dqt_zlumi_alleff_HIST.py:110
MuonCalib::IMdtSlewCorFunc::IMdtSlewCorFunc
IMdtSlewCorFunc(const CalibFunc::ParVec &vec)
Definition: IMdtSlewCorFunc.h:16
DeMoScan.index
string index
Definition: DeMoScan.py:362
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
ReadFloatFromCool.adc
adc
Definition: ReadFloatFromCool.py:48
MuonCalib::CalibFunc::m_parameters
ParVec m_parameters
Definition: CalibFunc.h:51
MuonCalib::CalibFunc::nPar
unsigned int nPar() const
Definition: CalibFunc.h:39
FlavorTagDiscriminants::TruthDecoratorHelpers::TruthType::Lambda
@ Lambda
Definition: TruthDecoratorHelpers.h:21