11#include <framework/logging/Logger.h>
35 return (this->*f)(snr, size) ;
61 void set_a1(
double a1_1,
double a1_2,
double a1_3,
double a1_4,
double a1_5)
70 void set_a2(
double a2_1,
double a2_2,
double a2_3,
double a2_4,
double a2_5)
79 void set_b1(
double b1_1,
double b1_2,
double b1_3,
double b1_4,
double b1_5)
89 void set_c1(
double c1_1,
double c1_2,
double c1_3,
double c1_4,
double c1_5)
128 double v0(
double clSNR,
int clSize)
const
131 double x =
sqrt(clSize) * clSNR;
136 double A =
m_a1[clSize - 1] / (x +
m_a2[clSize - 1]);
137 double B =
m_b1[clSize - 1] * x;
138 double C =
m_c1[clSize - 1];
140 return sqrt(A * A + B * B + C * C);
class to contain the Cluster Position Error Formulae
static const int maxClusterSize
total number of cluster sizes
void set_b1(double b1_1, double b1_2, double b1_3, double b1_4, double b1_5)
set the b1 cluster size dependent parameters
static std::vector< posErrFunction > m_implementations
vector of functions for position error, we use the m_current
double m_a1[maxClusterSize]
function parameters & implementations
double m_a2[maxClusterSize]
size dependent a2-parameter
void set_a2(double a2_1, double a2_2, double a2_3, double a2_4, double a2_5)
set the a2 cluster size dependent parameters
ClassDef(SVDPositionErrorFunction, 2)
Do not stream this, please throw it in the WC.
int m_current
current function ID
double m_c1[maxClusterSize]
size dependent c1-parameter
double getPositionError(double snr, int size) const
returns the position error, depending on the cluster SNR and size
void set_a1(double a1_1, double a1_2, double a1_3, double a1_4, double a1_5)
set the a1 cluster size dependent parameters
double v0(double clSNR, int clSize) const
v0 implementation
double(SVDPositionErrorFunction::* posErrFunction)(double, int) const
typedef of the return value of the position error function
void set_current(int current)
allows to choose the function version
void set_c1(double c1_1, double c1_2, double c1_3, double c1_4, double c1_5)
set the c1 cluster size dependent parameters
SVDPositionErrorFunction & operator=(const Belle2::SVDPositionErrorFunction &a)
operator =
SVDPositionErrorFunction()
constructor
double m_b1[maxClusterSize]
size dependent b1-parameter
double sqrt(double a)
sqrt for double
Abstract base class for different kinds of events.