Example program to test transformable function.  
More...
#include <string>
#include <iostream>
#include <iomanip>
#include "TMath.h"
#include "TRandom.h"
#include "JTools/JFunction1D_t.hh"
#include "JTools/JTransformableMultiFunction.hh"
#include "JTools/JFunctionalMap_t.hh"
#include "JTools/JQuantile.hh"
#include "Jeep/JPrint.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"
 
Go to the source code of this file.
 | 
| int  | main (int argc, char **argv) | 
|   | 
Example program to test transformable function. 
- Author
 - mdejong 
 
Definition in file JTransformableFunction.cc.
 
      
        
          | int main  | 
          ( | 
          int  | 
          argc,  | 
        
        
           | 
           | 
          char **  | 
          argv  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 163 of file JTransformableFunction.cc.
  175     JParser<> zap(
"Example program to test transformable function.");
 
  184   catch(
const exception &error) {
 
  185     FATAL(error.what() << endl);
 
  188   if (numberOfEvents <= 0) {
 
  189     FATAL(
"No events." << endl);
 
  193   const double xmin = 0.1;
 
  194   const double xmax = 1.0;
 
  195   const double dx   = (
xmax - 
xmin) / 3;
 
  199   for (
double x = 
xmin; 
x < 
xmax + 0.5*dx; 
x += dx) {
 
  201     const double ymin = -5.0 * 
xmax;
 
  202     const double ymax = +5.0 * 
xmax;
 
  205     for (
double y = ymin; 
y < ymax + 0.5*dy; 
y += dy) {
 
  210   h2.setExceptionHandler(
new typename function_type::JDefaultResult(
JMATH::zero));
 
  213     h2.transform(JTransformer_t());
 
  225   const double ymin = -5.0 * 
xmax;
 
  226   const double ymax = +5.0 * 
xmax;
 
  228   for (
int i = 0; 
i != numberOfEvents; ++
i) {
 
  230     const double x = gRandom->Uniform(
xmin, 
xmax);
 
  231     const double y = gRandom->Uniform(ymin, ymax);
 
  235       const result_type value = h2(x,y);
 
  237       const double f  = f2(x,y);
 
  238       const double fp = g2(x,y);
 
  239       const double v  = G2(x,y);
 
  241       Q[0].put(value.f  - f);
 
  242       Q[1].put(value.fp - fp);
 
  243       Q[2].put(value.v  - v);
 
  245     catch(
const std::exception& error) {}
 
  252     for (
int i = 0; 
i != 
sizeof(
Q)/
sizeof(
Q[0]); ++
i) {
 
  253       cout << 
"  " << setw(10) << 
Q[
i].getTitle();
 
  258     for (
int i = 0; 
i != 
sizeof(
Q)/
sizeof(
Q[0]); ++
i) {
 
  264     for (
int i = 0; 
i != 
sizeof(
Q)/
sizeof(
Q[0]); ++
i) {
 
Utility class to parse command line options. 
 
Q(UTCMax_s-UTCMin_s)-livetime_s
 
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
 
static const JZero zero
Function object to assign zero value. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
Auxiliary data structure for floating point format specification. 
 
int numberOfBins
number of bins for average CDF integral of optical module