9#include <reconstruction/utility/CDCDedxSigmaPred.h>
21 f = par[1] + par[2] * x[0];
22 }
else if (par[0] == 2) {
23 f = par[1] * std::pow(x[0], 4) + par[2] * std::pow(x[0], 3) +
24 par[3] * x[0] * x[0] + par[4] * x[0] + par[5];
25 }
else if (par[0] == 3) {
26 f = par[1] * exp(-0.5 * pow(((x[0] - par[2]) / par[3]), 2)) +
27 par[4] * pow(x[0], 6) + par[5] * pow(x[0], 5) + par[6] * pow(x[0], 4) +
28 par[7] * pow(x[0], 3) + par[8] * x[0] * x[0] + par[9] * x[0] + par[10];
50 for (
int i = 0; i < 5; ++i) {
58 int nhit_min = 8, nhit_max = 37;
60 if (nhit < nhit_min) {
63 }
else if (nhit > nhit_max) {
81 for (
int i = 0; i < 2; ++i) {
102 for (
int i = 0; i < 10; ++i) {
113 for (
int i = 0; i < 5; ++i) {
117 double sin =
sqrt(1 - cos * cos);
118 if (sin > 0.99) sin = 0.99;
double ionzPrediction(double dedx)
Return sigma from the ionization parameterization.
double sigmaCurve(double *x, const double *par, int version) const
resolution functions depending on dE/dx, nhit, and cos(theta)
double getSigma(double dedx, double nhit, double cos, double timereso)
Return the predicted resolution depending on dE/dx, nhit, and cos(theta)
double cosPrediction(double cos)
Return sigma from the cos parameterization.
std::vector< double > m_sigmapars
dE/dx resolution parameters
double nhitPrediction(double nhit)
Return sigma from the nhit parameterization.
std::vector< double > getSigmaVector() const
Return the resolution vector from payload.
double sqrt(double a)
sqrt for double
Abstract base class for different kinds of events.