Example program to test JTOOLS::JQuantiles calculation of a function.
More...
#include <string>
#include <iostream>
#include <iomanip>
#include <cmath>
#include "TMath.h"
#include "JTools/JCollection.hh"
#include "JTools/JGrid.hh"
#include "JTools/JQuantiles.hh"
#include "JTools/JFunction1D_t.hh"
#include "Jeep/JPrint.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"
Go to the source code of this file.
|
Double_t | g1 (const Double_t x) |
| Function. More...
|
|
Double_t | G1 (const Double_t x) |
| Integral of method g1. More...
|
|
int | main (int argc, char **argv) |
|
Example program to test JTOOLS::JQuantiles calculation of a function.
- Author
- mdejong
Definition in file JQuantiles.cc.
Double_t g1 |
( |
const Double_t |
x | ) |
|
|
inline |
Function.
- Parameters
-
- Returns
- function value
Definition at line 25 of file JQuantiles.cc.
27 return TMath::Gaus(x, 0.0, 1.0, kTRUE);
Double_t G1 |
( |
const Double_t |
x | ) |
|
|
inline |
Integral of method g1.
- Parameters
-
- Returns
- integral value
Definition at line 37 of file JQuantiles.cc.
39 return 0.5 * (1.0 + TMath::Erf(sqrt(0.5)*x));
int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
Definition at line 48 of file JQuantiles.cc.
59 JParser<> zap(
"Example program to test quantiles calculation of a function.");
68 catch(
const exception &error) {
69 FATAL(error.what() << endl);
76 if (Q < 0.0 || Q > 1.0) {
77 FATAL(
"Fatal error: quantile " << Q << endl);
82 const Double_t xmin = -5.0;
83 const Double_t xmax = +5.0;
87 NOTICE(
"quantity " << setw(10) <<
"calculated" <<
" / " << setw(10) <<
"true" << endl);
88 NOTICE(
"X " <<
FIXED(10,6) << quantiles.getX() <<
" / " <<
FIXED(10,6) << 0.0 << endl);
89 NOTICE(
"FWHM " <<
FIXED(10,6) << quantiles.getFWHM() <<
" / " <<
FIXED(10,6) << 2.0*sqrt(2.0*log(2.0)) << endl);
90 NOTICE(
"integral " <<
FIXED(10,6) << quantiles.getIntegral() <<
" / " <<
FIXED(10,6) <<
G1(xmax) -
G1(xmin) << endl);
91 NOTICE(
"quantile " <<
FIXED(10,6) << (
G1(quantiles.getUpperLimit()) -
92 G1(quantiles.getLowerLimit())) <<
" / " <<
FIXED(10,6) << Q << endl);
94 ASSERT(fabs(quantiles.getX() - 0.0) < precision);
95 ASSERT(fabs(quantiles.getFWHM() - 2.0*sqrt(2.0*log(2.0))) < precision);
96 ASSERT(fabs(quantiles.getIntegral() - (
G1(xmax) -
G1(xmin))) < precision);
97 ASSERT(fabs((
G1(quantiles.getUpperLimit()) -
98 G1(quantiles.getLowerLimit())) - Q) < precision);
Utility class to parse command line options.
Auxiliary data structure for floating point format specification.
Double_t G1(const Double_t x)
Integral of method g1.
#define ASSERT(A,...)
Assert macro.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
int numberOfBins
number of bins for average CDF integral of optical module
Double_t g1(const Double_t x)
Function.