1 #ifndef __JMATHSUPPORTKIT__
2 #define __JMATHSUPPORTKIT__
12 namespace JPP {
using namespace JMATH; }
26 inline double gauss(
const double x,
const double sigma)
28 const double u = x / sigma;
45 inline double gauss(
const double x,
const double x0,
const double sigma)
47 return gauss(x - x0, sigma);
58 inline double Gauss(
const double x,
const double sigma)
72 inline double Gauss(
const double x,
const double x0,
const double sigma)
74 return Gauss(x - x0, sigma);
85 inline double Gamma(
const double a,
const double x)
94 const double gln = lgamma(a);
106 for (
int i = 1; i != max; ++i) {
112 if (fabs(del) < fabs(sum)*numeric_limits<double>::epsilon()) {
113 return sum*
exp(-x + a*log(x) - gln);
119 double b = x + 1.0 -
a;
120 double c = numeric_limits<double>::epsilon() / numeric_limits<double>::min();
124 for (
int i = 1; i != max; ++i) {
126 const double an = -i * (i-
a);
131 if (fabs(d) < numeric_limits<double>::min()) {
132 d = numeric_limits<double>::min();
137 if (fabs(c) < numeric_limits<double>::min()) {
138 c = numeric_limits<double>::min();
143 const double del = d*c;
147 if (fabs(del - 1.0) < numeric_limits<double>::epsilon()) {
148 return 1.0 -
exp(-x + a*log(x) - gln) * h;
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
double Gamma(const double a, const double x)
Incomplete gamma function.
fi JEventTimesliceWriter a
then print_variable DETECTOR INPUT_FILE INTERMEDIATE_FILE check_input_file $DETECTOR $INPUT_FILE check_output_file $INTERMEDIATE_FILE $OUTPUT_FILE JMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
double gauss(const double x, const double sigma)
Gauss function (normalised to 1 at x = 0).
double Gauss(const double x, const double sigma)
Normalised Gauss function.
Exception for accessing a value in a collection that is outside of its range.
then set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable OUTPUT_FILE histogram.root JHistogram1D -o $WORKDIR/$OUTPUT_FILE -F "$FORMULA" -