9#include <cdc/dbobjects/CDCDedxMeanPars.h>
10#include <framework/logging/Logger.h>
27 f = par[1] * std::pow(std::sqrt(x * x + 1), par[3]) / std::pow(x, par[3]) *
28 (par[2] - par[5] * std::log(1 / x)) - par[4] + std::exp(par[6] + par[7] * x);
30 f = par[1] * x * x * x + par[2] * x * x + par[3] * x + par[4];
32 f = -1.0 * par[1] * std::log(par[4] + std::pow(1 / x, par[2])) + par[3];
41 double A = 0, B = 0, C = 0;
54 if (params.size() < 15) B2FATAL(
"CDCDedxMeanPars: vector of parameters too short");
56 parsA[0] = 1; parsB[0] = 2; parsC[0] = 3;
57 for (
int i = 0; i < 15; ++i) {
58 if (i < 7) parsA[i + 1] = params[i];
59 else if (i < 11) parsB[i % 7 + 1] = params[i];
60 else parsC[i % 11 + 1] = params[i];
68 return (A * partA + B * partB + C * partC);
std::vector< double > m_meanpars
dE/dx mean parameters
double getMean(double bg) const
Returns the predicted dE/dx mean at given beta-gamma.
double meanCurve(double x, const double *par, int version) const
parameterized beta-gamma curve for predicted means
Abstract base class for different kinds of events.