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.
◆ g1()
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);
◆ G1()
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));
◆ main()
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);
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);
97 ASSERT(fabs((
G1(quantiles.getUpperLimit()) -
98 G1(quantiles.getLowerLimit())) - Q) < precision);
#define ASSERT(A,...)
Assert macro.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Double_t g1(const Double_t x)
Function.
Double_t G1(const Double_t x)
Integral of method g1.
int numberOfBins
number of bins for average CDF integral of optical module
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.