Belle II Software  release-08-01-10
SVDCoGCalibrationFunction Class Reference

class to contain the CoG Time calibrations More...

#include <SVDCoGCalibrationFunction.h>

Inheritance diagram for SVDCoGCalibrationFunction:
Collaboration diagram for SVDCoGCalibrationFunction:

Public Types

typedef double(SVDCoGCalibrationFunction::* cogFunction) (double, int) const
 typedef of the return value of the calibration function
 
typedef double(SVDCoGCalibrationFunction::* cogFunctionErr) (double, double, int) const
 typedef of the return value of the calibration function ERROR
 

Public Member Functions

double calibratedValue (double raw_time, int trigger_bin) const
 returns the calibrated value of raw_time, depending on the trigger bin
 
double calibratedValueError (double raw_time, double raw_timeErr, int trigger_bin) const
 returns the error of the calibrated value of raw_time, depending on the trigger bin
 
 SVDCoGCalibrationFunction ()
 constructor
 
void set_current (int current)
 allows to choose the function version
 
void set_bias (double tb0, double tb1, double tb2, double tb3)
 set the trigger bin dependent shift
 
void set_scale (double tb0, double tb1, double tb2, double tb3)
 set the trigger bin dependent scale
 
void set_pol3parameters (double a, double b, double c, double d)
 set the pol3 TB independent parameters
 
void set_pol5parameters (double a, double b, double c, double d, double e, double f)
 set the pol5 TB independent parameters
 
void set_elsparameters (double a, double b, double c, double d)
 set the parameters for the ELS TB independent function
 
 SVDCoGCalibrationFunction (const Belle2::SVDCoGCalibrationFunction &a)
 copy constructor
 
SVDCoGCalibrationFunctionoperator= (const Belle2::SVDCoGCalibrationFunction &a)
 operator =
 

Private Member Functions

double pol1TBdep (double raw_time, int tb) const
 pol1 TB dep version implementation
 
double pol1TBdepErr (double, double raw_timeErr, int tb) const
 implementation of pol1 TB dep error
 
double pol3TBindep (double raw_time, int) const
 ID = 1, pol3TBindep VERSION: (TB independent) correctedValue = par[0] + t * par[1] + t^2 * par[2] + t^3 * par[3]. More...
 
double pol3TBindepErr (double raw_time, double raw_timeErr, int) const
 implementation of pol3 TB indep error
 
double pol5TBindep (double raw_time, int) const
 ID = 2, pol5TBindep VERSION: (TB independent) correctedValue = par[0] + t * par[1] + t^2 * par[2] + t^3 * par[3] + t^4 * par[4] + t^5*par[5]. More...
 
double pol5TBindepErr (double raw_time, double raw_timeErr, int) const
 implementation of pol5 TB indep error
 
double elsTBindep (double raw_time, int) const
 ID = 3, elsTBindep VERSION: (TB independent) correctedValue = par[0] + t * par[1] + par[2]/(t - par[3]) if t<=par[3]-sqrt(-par[2])/4 correctedValue = NaN otherwise. More...
 
double elsTBindepErr (double raw_time, double raw_timeErr, int) const
 implementation of els TB indep error
 

Private Attributes

double m_bias [nTriggerBins] = {0}
 function parameters & implementations More...
 
double m_scale [nTriggerBins] = {0}
 trigger-bin dependent scale
 
double m_par [m_nPar] = {0}
 vector of parameters
 
int m_current
 current function ID
 

Static Private Attributes

static const int nTriggerBins = 4
 total number of trigger bins
 
static const int m_nPar = 6
 number of parameters of highest-order implemented pol (5)
 
static std::vector< cogFunctionm_implementations
 vector of fuctions for time calibration, we use the m_current
 
static std::vector< cogFunctionErrm_implementationsErr
 Do not stream this, please throw it in the WC. More...
 

Detailed Description

class to contain the CoG Time calibrations

Definition at line 23 of file SVDCoGCalibrationFunction.h.

Member Function Documentation

◆ elsTBindep()

double elsTBindep ( double  raw_time,
int   
) const
inlineprivate

ID = 3, elsTBindep VERSION: (TB independent) correctedValue = par[0] + t * par[1] + par[2]/(t - par[3]) if t<=par[3]-sqrt(-par[2])/4 correctedValue = NaN otherwise.

els TB indep version implementation

Definition at line 196 of file SVDCoGCalibrationFunction.h.

197  {
198  if (raw_time > m_par[3] - sqrt(-m_par[2]) / 4)
199  return std::numeric_limits<float>::quiet_NaN();
200 
201  return m_par[0] + m_par[1] * raw_time + m_par[2] / (raw_time - m_par[3]);
202  };
double m_par[m_nPar]
vector of parameters
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28

◆ pol3TBindep()

double pol3TBindep ( double  raw_time,
int   
) const
inlineprivate

ID = 1, pol3TBindep VERSION: (TB independent) correctedValue = par[0] + t * par[1] + t^2 * par[2] + t^3 * par[3].

pol3 TB indep version implementation

Definition at line 166 of file SVDCoGCalibrationFunction.h.

◆ pol5TBindep()

double pol5TBindep ( double  raw_time,
int   
) const
inlineprivate

ID = 2, pol5TBindep VERSION: (TB independent) correctedValue = par[0] + t * par[1] + t^2 * par[2] + t^3 * par[3] + t^4 * par[4] + t^5*par[5].

pol5 TB indep version implementation

Definition at line 179 of file SVDCoGCalibrationFunction.h.

Member Data Documentation

◆ m_bias

double m_bias[nTriggerBins] = {0}
private

function parameters & implementations

ID = {0}, pol1TBdep VERSION: correctedValue = t * scale[tb] + bias[tb] trigger-bin dependent bias

Definition at line 146 of file SVDCoGCalibrationFunction.h.

◆ m_implementationsErr

std::vector< SVDCoGCalibrationFunction::cogFunctionErr > m_implementationsErr
staticprivate

Do not stream this, please throw it in the WC.

vector of fuctions for time error calibration, we use the m_current

Definition at line 220 of file SVDCoGCalibrationFunction.h.


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