#include "RooFit.h"#include <assert.h>#include <stdlib.h>#include "TClass.h"#include "Riostream.h"#include "RooAdaptiveGaussKronrodIntegrator1D.h"#include "RooArgSet.h"#include "RooRealVar.h"#include "RooNumber.h"#include "RooNumIntFactory.h"#include "RooIntegratorBinding.h"#include "TMath.h"#include "RooMsgService.h"Namespaces | |
| namespace | RooFit_internal | 
Macros | |
| #define | GSL_COERCE_DBL(x) (gsl_coerce_double(x)) | 
| #define | GSL_DBL_EPSILON 2.2204460492503131e-16 | 
| #define | GSL_DBL_MAX 1.7976931348623157e+308 | 
| #define | GSL_DBL_MIN 2.2250738585072014e-308 | 
| #define | GSL_EBADTOL 13 /* user specified an invalid tolerance */ | 
| #define | GSL_EDIVERGE 6 | 
| #define | GSL_EDOM 1 /* input domain error, e.g sqrt(-1) */ | 
| #define | GSL_EFAILED 5 | 
| #define | GSL_EINVAL 2 | 
| #define | GSL_EMAXITER 3 | 
| #define | GSL_ENOMEM 8 /* malloc failed */ | 
| #define | GSL_EROUND 7 | 
| #define | GSL_ERROR(a, b) oocoutE((TObject*)0,Integration) << "RooAdaptiveGaussKronrodIntegrator1D::integral() ERROR: " << a << endl ; return b ; | 
| #define | GSL_ERROR_VAL(reason, gsl_errno, value) return value ; | 
| #define | GSL_ESING 4 | 
| #define | GSL_ETOL 14 /* failed to reach the specified tolerance */ | 
| #define | GSL_FN_EVAL(F, x) (*((F)->function))(x,(F)->params) | 
| #define | GSL_MAX(a, b) ((a) > (b) ? (a) : (b)) | 
| #define | GSL_SUCCESS 0 | 
Typedefs | |
| typedef struct gsl_function_struct | gsl_function | 
| typedef void | gsl_integration_rule(const gsl_function *f, double a, double b, double *result, double *abserr, double *defabs, double *resabs) | 
Enumerations | |
| enum | {  GSL_INTEG_GAUSS15 = 1 , GSL_INTEG_GAUSS21 = 2 , GSL_INTEG_GAUSS31 = 3 , GSL_INTEG_GAUSS41 = 4 , GSL_INTEG_GAUSS51 = 5 , GSL_INTEG_GAUSS61 = 6 }  | 
Functions | |
| static void | append_table (struct extrapolation_table *table, double y) | 
| double | gsl_coerce_double (const double x) | 
| int | gsl_integration_qag (const gsl_function *f, double a, double b, double epsabs, double epsrel, size_t limit, int key, gsl_integration_workspace *workspace, double *result, double *abserr) | 
| int | gsl_integration_qagi (gsl_function *f, double epsabs, double epsrel, size_t limit, gsl_integration_workspace *workspace, double *result, double *abserr) | 
| int | gsl_integration_qagil (gsl_function *f, double b, double epsabs, double epsrel, size_t limit, gsl_integration_workspace *workspace, double *result, double *abserr) | 
| int | gsl_integration_qagiu (gsl_function *f, double a, double epsabs, double epsrel, size_t limit, gsl_integration_workspace *workspace, double *result, double *abserr) | 
| int | gsl_integration_qags (const gsl_function *f, double a, double b, double epsabs, double epsrel, size_t limit, gsl_integration_workspace *workspace, double *result, double *abserr) | 
| void | gsl_integration_qcheb (gsl_function *f, double a, double b, double *cheb12, double *cheb24) | 
| void | gsl_integration_qk (const int n, const double xgk[], const double wg[], const double wgk[], double fv1[], double fv2[], const gsl_function *f, double a, double b, double *result, double *abserr, double *resabs, double *resasc) | 
| void | gsl_integration_qk15 (const gsl_function *f, double a, double b, double *result, double *abserr, double *resabs, double *resasc) | 
| void | gsl_integration_qk21 (const gsl_function *f, double a, double b, double *result, double *abserr, double *resabs, double *resasc) | 
| void | gsl_integration_qk31 (const gsl_function *f, double a, double b, double *result, double *abserr, double *resabs, double *resasc) | 
| void | gsl_integration_qk41 (const gsl_function *f, double a, double b, double *result, double *abserr, double *resabs, double *resasc) | 
| void | gsl_integration_qk51 (const gsl_function *f, double a, double b, double *result, double *abserr, double *resabs, double *resasc) | 
| void | gsl_integration_qk61 (const gsl_function *f, double a, double b, double *result, double *abserr, double *resabs, double *resasc) | 
| gsl_integration_workspace * | gsl_integration_workspace_alloc (const size_t n) | 
| void | gsl_integration_workspace_free (gsl_integration_workspace *w) | 
| double | GSL_MAX_DBL (double a, double b) | 
| static double | i_transform (double t, void *params) | 
| static double | il_transform (double t, void *params) | 
| static int | increase_nrmax (gsl_integration_workspace *workspace) | 
| static void | initialise (gsl_integration_workspace *workspace, double a, double b) | 
| static void | initialise_table (struct extrapolation_table *table) | 
| static double | iu_transform (double t, void *params) | 
| static int | large_interval (gsl_integration_workspace *workspace) | 
| static int | qag (const gsl_function *f, const double a, const double b, const double epsabs, const double epsrel, const size_t limit, gsl_integration_workspace *workspace, double *result, double *abserr, gsl_integration_rule *q) | 
| static int | qags (const gsl_function *f, const double a, const double b, const double epsabs, const double epsrel, const size_t limit, gsl_integration_workspace *workspace, double *result, double *abserr, gsl_integration_rule *q) | 
| static void | qelg (struct extrapolation_table *table, double *result, double *abserr) | 
| static void | qpsrt (gsl_integration_workspace *workspace) | 
| static double | rescale_error (double err, const double result_abs, const double result_asc) | 
| static void | reset_nrmax (gsl_integration_workspace *workspace) | 
| static void | retrieve (const gsl_integration_workspace *workspace, double *a, double *b, double *r, double *e) | 
| double | RooAdaptiveGaussKronrodIntegrator1D_GSL_GlueFunction (double x, void *data) | 
| Glue function interacing to GSL code.  More... | |
| static void | set_initial_result (gsl_integration_workspace *workspace, double result, double error) | 
| static int | subinterval_too_small (double a1, double a2, double b2) | 
| static double | sum_results (const gsl_integration_workspace *workspace) | 
| static int | test_positivity (double result, double resabs) | 
| static void | update (gsl_integration_workspace *workspace, double a1, double b1, double area1, double error1, double a2, double b2, double area2, double error2) | 
Variables | |
| static Roo_reg_AGKInteg1D | RooFit_internal::instance | 
| static const double | wgA [4] | 
| static const double | wgB [5] | 
| static const double | wgC [8] | 
| static const double | wgD [11] | 
| static const double | wgE [13] | 
| static const double | wgF [15] | 
| static const double | wgkA [8] | 
| static const double | wgkB [11] | 
| static const double | wgkC [16] | 
| static const double | wgkD [21] | 
| static const double | wgkE [26] | 
| static const double | wgkF [31] | 
| static const double | xgkA [8] | 
| static const double | xgkB [11] | 
| static const double | xgkC [16] | 
| static const double | xgkD [21] | 
| static const double | xgkE [26] | 
| static const double | xgkF [31] | 
| #define GSL_COERCE_DBL | ( | x | ) | (gsl_coerce_double(x)) | 
Definition at line 435 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_DBL_EPSILON 2.2204460492503131e-16 | 
Definition at line 408 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_DBL_MAX 1.7976931348623157e+308 | 
Definition at line 407 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_DBL_MIN 2.2250738585072014e-308 | 
Definition at line 406 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_EBADTOL 13 /* user specified an invalid tolerance */ | 
Definition at line 403 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_EDIVERGE 6 | 
Definition at line 414 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
Definition at line 401 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_EFAILED 5 | 
Definition at line 413 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_EINVAL 2 | 
Definition at line 410 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_EMAXITER 3 | 
Definition at line 411 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_ENOMEM 8 /* malloc failed */ | 
Definition at line 402 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_EROUND 7 | 
Definition at line 415 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_ERROR | ( | a, | |
| b | |||
| ) | oocoutE((TObject*)0,Integration) << "RooAdaptiveGaussKronrodIntegrator1D::integral() ERROR: " << a << endl ; return b ; | 
Definition at line 405 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_ERROR_VAL | ( | reason, | |
| gsl_errno, | |||
| value | |||
| ) | return value ; | 
Definition at line 417 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_ESING 4 | 
Definition at line 412 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_ETOL 14 /* failed to reach the specified tolerance */ | 
Definition at line 404 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
Definition at line 74 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
Definition at line 419 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| #define GSL_SUCCESS 0 | 
Definition at line 400 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| typedef struct gsl_function_struct gsl_function | 
Definition at line 73 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| typedef void gsl_integration_rule(const gsl_function *f, double a, double b, double *result, double *abserr, double *defabs, double *resabs) | 
Definition at line 446 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| anonymous enum | 
| Enumerator | |
|---|---|
| GSL_INTEG_GAUSS15 | |
| GSL_INTEG_GAUSS21 | |
| GSL_INTEG_GAUSS31 | |
| GSL_INTEG_GAUSS41 | |
| GSL_INTEG_GAUSS51 | |
| GSL_INTEG_GAUSS61 | |
Definition at line 481 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1784 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| double gsl_coerce_double | ( | const double | x | ) | 
Definition at line 429 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| int gsl_integration_qag | ( | const gsl_function * | f, | 
| double | a, | ||
| double | b, | ||
| double | epsabs, | ||
| double | epsrel, | ||
| size_t | limit, | ||
| int | key, | ||
| gsl_integration_workspace * | workspace, | ||
| double * | result, | ||
| double * | abserr | ||
| ) | 
Definition at line 769 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| int gsl_integration_qagi | ( | gsl_function * | f, | 
| double | epsabs, | ||
| double | epsrel, | ||
| size_t | limit, | ||
| gsl_integration_workspace * | workspace, | ||
| double * | result, | ||
| double * | abserr | ||
| ) | 
Definition at line 2014 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| int gsl_integration_qagil | ( | gsl_function * | f, | 
| double | b, | ||
| double | epsabs, | ||
| double | epsrel, | ||
| size_t | limit, | ||
| gsl_integration_workspace * | workspace, | ||
| double * | result, | ||
| double * | abserr | ||
| ) | 
Definition at line 2057 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| int gsl_integration_qagiu | ( | gsl_function * | f, | 
| double | a, | ||
| double | epsabs, | ||
| double | epsrel, | ||
| size_t | limit, | ||
| gsl_integration_workspace * | workspace, | ||
| double * | result, | ||
| double * | abserr | ||
| ) | 
Definition at line 2106 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| int gsl_integration_qags | ( | const gsl_function * | f, | 
| double | a, | ||
| double | b, | ||
| double | epsabs, | ||
| double | epsrel, | ||
| size_t | limit, | ||
| gsl_integration_workspace * | workspace, | ||
| double * | result, | ||
| double * | abserr | ||
| ) | 
Definition at line 1991 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| void gsl_integration_qcheb | ( | gsl_function * | f, | 
| double | a, | ||
| double | b, | ||
| double * | cheb12, | ||
| double * | cheb24 | ||
| ) | 
| void gsl_integration_qk | ( | const int | n, | 
| const double | xgk[], | ||
| const double | wg[], | ||
| const double | wgk[], | ||
| double | fv1[], | ||
| double | fv2[], | ||
| const gsl_function * | f, | ||
| double | a, | ||
| double | b, | ||
| double * | result, | ||
| double * | abserr, | ||
| double * | resabs, | ||
| double * | resasc | ||
| ) | 
Definition at line 1025 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| void gsl_integration_qk15 | ( | const gsl_function * | f, | 
| double | a, | ||
| double | b, | ||
| double * | result, | ||
| double * | abserr, | ||
| double * | resabs, | ||
| double * | resasc | ||
| ) | 
Definition at line 1142 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| void gsl_integration_qk21 | ( | const gsl_function * | f, | 
| double | a, | ||
| double | b, | ||
| double * | result, | ||
| double * | abserr, | ||
| double * | resabs, | ||
| double * | resasc | ||
| ) | 
Definition at line 1199 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| void gsl_integration_qk31 | ( | const gsl_function * | f, | 
| double | a, | ||
| double | b, | ||
| double * | result, | ||
| double * | abserr, | ||
| double * | resabs, | ||
| double * | resasc | ||
| ) | 
Definition at line 1268 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| void gsl_integration_qk41 | ( | const gsl_function * | f, | 
| double | a, | ||
| double | b, | ||
| double * | result, | ||
| double * | abserr, | ||
| double * | resabs, | ||
| double * | resasc | ||
| ) | 
Definition at line 1349 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| void gsl_integration_qk51 | ( | const gsl_function * | f, | 
| double | a, | ||
| double | b, | ||
| double * | result, | ||
| double * | abserr, | ||
| double * | resabs, | ||
| double * | resasc | ||
| ) | 
Definition at line 1445 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| void gsl_integration_qk61 | ( | const gsl_function * | f, | 
| double | a, | ||
| double | b, | ||
| double * | result, | ||
| double * | abserr, | ||
| double * | resabs, | ||
| double * | resasc | ||
| ) | 
Definition at line 1551 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| gsl_integration_workspace * gsl_integration_workspace_alloc | ( | const size_t | n | ) | 
Definition at line 1561 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| void gsl_integration_workspace_free | ( | gsl_integration_workspace * | w | ) | 
Definition at line 1664 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inline | 
Definition at line 421 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 2036 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 2084 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1698 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inlinestatic | 
Definition at line 514 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1769 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 2133 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1737 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 819 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 2146 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inlinestatic | 
Definition at line 1801 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inlinestatic | 
Definition at line 548 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 993 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inlinestatic | 
Definition at line 1682 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inlinestatic | 
Definition at line 707 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
| double RooAdaptiveGaussKronrodIntegrator1D_GSL_GlueFunction | ( | double | x, | 
| void * | data | ||
| ) | 
Glue function interacing to GSL code.
Definition at line 323 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inlinestatic | 
Definition at line 535 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inlinestatic | 
Definition at line 746 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inlinestatic | 
Definition at line 726 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inlinestatic | 
Definition at line 1978 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  inlinestatic | 
Definition at line 652 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1121 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1173 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1235 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1309 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1395 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1496 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1129 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1182 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1247 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1323 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1412 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1515 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1106 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1155 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1212 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1281 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1362 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
      
  | 
  static | 
Definition at line 1458 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.