9#include <cdc/utilities/CDCDedxMeanPred.h>
18 B2FATAL(
"No dE/dx mean parameters!");
20 std::vector<double> meanpar;
23 for (
int i = 0; i < 15; ++i)
31 B2INFO(
"\n\tWidgetParameterization: Using parameters from file --> " << infile);
34 fin.open(infile.c_str());
36 if (!fin.good()) B2FATAL(
"\tWARNING: CANNOT FIND" << infile);
40 B2INFO(
"\t --> Curve parameters");
41 for (
int i = 0; i < 15; ++i) {
52 B2INFO(
"\tCDCDedxMeanPred: Printing parameters to file --> " << outfile.c_str());
55 std::ofstream fout(outfile.c_str());
57 for (
int i = 1; i < 16; ++i) fout << i <<
"\t" <<
m_meanpars[i - 1] << std::endl;
65 double A = 0, B = 0, C = 0;
68 else if (bg < 10) B = 1;
71 double x[1]; x[0] = bg;
76 parsA[0] = 1; parsB[0] = 2; parsC[0] = 3;
77 for (
int i = 0; i < 15; ++i) {
79 else if (i < 11) parsB[i % 7 + 1] =
m_meanpars[i];
85 double partA = gc.
meanCurve(x, std::vector<double>(parsA, parsA + 8));
86 double partB = gc.
meanCurve(x, std::vector<double>(parsB, parsB + 5));
87 double partC = gc.
meanCurve(x, std::vector<double>(parsC, parsC + 5));
89 return (A * partA + B * partB + C * partC);
double m_meanpars[15]
parameters for beta-gamma curve
void setParameters()
set the parameters
const DBObjPtr< CDCDedxMeanPars > m_DBMeanPars
db object for dE/dx mean parameters
void printParameters(std::string infile)
write the parameters in file
double getMean(double bg)
Return the predicted mean value as a function of beta-gamma (bg)
Abstract base class for different kinds of events.