32 inline Double_t
g1(
const Double_t
x)
34 return TMath::Gaus(x, 0.0, 1.0, kTRUE);
44 inline Double_t
G1(
const Double_t
x)
46 return 0.5 * (1.0 + TMath::Erf(sqrt(0.5)*x));
57 int main(
int argc,
char **argv)
70 JParser<> zap(
"Example program to test 1D histogram.");
81 catch(
const exception &error) {
82 FATAL(error.what() << endl);
86 if (numberOfEvents <= 0) {
87 FATAL(
"No events." << endl);
93 const Int_t nx = 1000;
94 const Double_t
xmin = -5.0;
95 const Double_t
xmax = +5.0;
98 typedef JElement2D<double, double> JElement_t;
100 JHistogram1D<JElement_t, JCollection> histogram;
113 for (
int i = 0; i != numberOfEvents; ++i) {
114 histogram.fill(gRandom->Gaus(0.0, 1.0), 1.0);
117 histogram.div((
double) numberOfEvents);
122 typedef JSplineFunction1S_t JFunction1D_t;
139 f1.setExceptionHandler(
new JFunction1D_t::JDefaultResult(
JMATH::zero));
140 F1.setExceptionHandler(
new JFunction1D_t::JDefaultResult(
JMATH::zero));
145 TH1D h0(
"h0", NULL, nx,
xmin,
xmax);
147 TH1D h2(
"h2", NULL, nx,
xmin,
xmax);
149 TH1D i0(
"i0", NULL, nx,
xmin,
xmax);
150 TH1D i1(
"i1", NULL, nx,
xmin,
xmax);
152 for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
154 const Double_t
x = h0.GetBinCenter(i);
156 h0.SetBinContent(i,
g1(x));
157 i0.SetBinContent(i,
G1(x));
164 catch(
const exception& error) {
165 ERROR(error.what() << endl);
const JPolynome F1
Integral.
Utility class to parse command line options.
int main(int argc, char *argv[])
then for HISTOGRAM in h0 h1
static const JZero zero
Function object to assign zero value.
const JPolynome f1(1.0, 2.0, 3.0)
Function.
Double_t G1(const Double_t x)
Integral of method g1.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
General purpose class for a collection of sorted elements.
General purpose messaging.
Auxiliary classes for numerical integration.
Utility class to parse command line options.
int numberOfBins
number of bins for average CDF integral of optical module
Double_t g1(const Double_t x)
Function.