#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.
Definition at line 1784 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
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.
Definition at line 421 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
Definition at line 2036 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
Definition at line 2084 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
|
static |
Definition at line 1698 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
Definition at line 514 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
|
static |
Definition at line 1769 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
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.
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.
Glue function interacing to GSL code.
Definition at line 323 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
|
inlinestatic |
Definition at line 535 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
Definition at line 746 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
|
inlinestatic |
Definition at line 726 of file RooAdaptiveGaussKronrodIntegrator1D.cxx.
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.