1 #ifndef _LDFFinderKG_EnergyConversion_h_
2 #define _LDFFinderKG_EnergyConversion_h_
9 namespace LDFFinderKG {
28 const std::vector<double>& par1,
29 const std::vector<double>& par2);
31 double GetS38(
const double s1000,
const double cosTheta)
const;
33 void GetEnergy(
const double cosTheta,
const double s1000,
34 const double s1000Err,
const double s1000Sys,
35 double& energy,
double& energyErr,
double& energySys)
const;
39 double GetX(
const double cosTheta)
const
44 AttenuationFunction(
const double x,
const double s38)
50 const double s = (s38 < s1) ? s1 : ((s38 >
s2) ? s2 : s38);
void GetEnergy(const double cosTheta, const double s1000, const double s1000Err, const double s1000Sys, double &energy, double &energyErr, double &energySys) const
constexpr T Sqr(const T &x)
std::vector< double > fCicParameters[fgOrderInTheta]
return EvalPoly({1., EvalPoly(c[0], y), EvalPoly(c[1], y), EvalPoly(c[2], y)}, x)
double EvalPoly(const T &a, const double x)
Simple polynomial evaluator.
static const unsigned int fgOrderInS38
std::pair< double, double > fCicS38Range
double GetS38(const double s1000, const double cosTheta) const
static const unsigned int fgOrderInTheta
double GetX(const double cosTheta) const
x = cos^2(theta) - cos^2(theta_ref)
double fCicReferenceAngle
void SetCICParameters(const std::vector< double > &par0, const std::vector< double > &par1, const std::vector< double > &par2)