35 double y1(
cdf(x1) - qq);
38 double y2(
cdf(x2) - qq);
40 while (y1 * y2 > 0.) {
55 x = -(x2 * y1 - x1 * y2) / (y2 - y1);
56 double y =
cdf(x) - qq;
87 typedef std::multimap<double, double, std::greater<double> > StartMap;
95 typedef std::multimap<double, double, std::greater<double> > ResultMap;
97 for (StartMap::const_iterator
i = xStart.begin();
i != xStart.end();
i++) {
99 xFound.insert(std::pair<double, double>(
pdf(x), x));
110 return xFound.begin()->second;
119 double y2(
pdf(xStart));
120 double yd(
dpdf1(xStart));
122 if ((y1 + y2) < 10 * DBL_MIN)
124 while (nLoop++ < 20 && fabs(y2 - y1) / (y2 + y1) > 1.
e-6) {
126 double yd2 =
dpdf2(x);
127 if (fabs(yd2) < 10 * DBL_MIN)
176 double d((x - mean) / sigma);
178 result =
exp(-d * d / 2.);
179 result *= fNorm / sigma;
184 return TMath::Freq((x - mean) / sigma);
202 return 1. / (
sqrt(s0));
224 float dx = (max -
min) / (
float)nBins;
245 return (x2f - x1f) / 2;
255 while (
cdf(x) > .1 && cnt < 1000) {
269 while (
cdf(x) < .9 && cnt < 1000) {
float quantile(const float) const
double errorCombinedMean() const
Exp< T >::type exp(const T &t)
double cdf(const double &) const
value of integral(pdf)
double findMode(const double) const
double gaussInt(const double &, const double &, const double &) const
integrated value of gaussian distribution
uint16_t const *__restrict__ x
const std::complex< double > I
double pdf(const double &) const
value of the pdf
double dpdf2(const double &) const
second derivative of pdf
float errorHighestWeight() const
double combinedMean() const
mean value of combined state
double dpdf1(const double &) const
first derivative of pdf
double gauss(const double &, const double &, const double &) const
value of gaussian distribution
T mod(const T &a, const T &b)