57 RooRealVar maxEval2D(
"maxEval2D",
"Max number of function evaluations for 2-dim integrals",100000) ;
58 RooRealVar maxEval3D(
"maxEval3D",
"Max number of function evaluations for 3-dim integrals",1000000) ;
59 RooRealVar maxEvalND(
"maxEvalND",
"Max number of function evaluations for >3-dim integrals",10000000) ;
60 RooRealVar maxWarn(
"maxWarn",
"Max number of warnings on precision not reached that is printed",5) ;
81 _useIntegrandLimits =
kTRUE ;
99 case 1:
throw string(
Form(
"RooAdaptiveIntegratorND::ctor ERROR dimension of function must be at least 2")) ;
145 <<
") WARNING: Number of suppressed warningings about integral evaluations where target precision was not reached is " <<
_nError-
_nWarn << endl ;
210 <<
") Further warnings on target precision are suppressed conform specification in integrator specification" << endl ;
RooAbsIntegrator is the abstract interface for integrators of real-valued functions that implement th...
virtual const char * getName() const
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
void SetFunction(const IMultiGenFunction &f)
set the integration function (must implement multi-dim function interface: IBaseFunctionMultiDim) ...
int Status() const
return status of integration
RooMultiGenFunction * _func
Bool_t _useIntegrandLimits
double RelError() const
return relative error
Lightweight interface adaptor that exports a RooAbsReal as a ROOT::Math::IMultiGenFunction.
RooNumIntFactory is a factory to instantiate numeric integrators from a given function binding and a ...
RooAdaptiveIntegratorND implements an adaptive one-dimensional numerical integration algorithm...
RooAdaptiveIntegratorND()
Default ctor.
virtual Double_t integral(const Double_t *yvec=0)
Evaluate integral at given function binding parameter values.
Bool_t setLimits(Double_t *xmin, Double_t *xmax)
Change our integration limits.
double Integral(const double *xmin, const double *xmax)
evaluate the integral with the previously given function between xmin[] and xmax[] ...
RooRealVar represents a fundamental (non-derived) real valued object.
void function(const char *name_, T fun, const char *docstring=0)
virtual RooAbsIntegrator * clone(const RooAbsFunc &function, const RooNumIntConfig &config) const
Virtual constructor with given function and configuration. Needed by RooNumIntFactory.
char * Form(const char *fmt,...)
virtual Double_t getMinLimit(UInt_t dimension) const =0
virtual ~RooAdaptiveIntegratorND()
Destructor.
virtual Double_t getMaxLimit(UInt_t dimension) const =0
static void registerIntegrator(RooNumIntFactory &fact)
Register RooAdaptiveIntegratorND, its parameters, dependencies and capabilities with RooNumIntFactory...
Mother of all ROOT objects.
ClassImp(RooAdaptiveIntegratorND)
const RooAbsFunc * integrand() const
virtual Bool_t checkLimits() const
Check that our integration range is finite and otherwise return kFALSE.
Abstract interface for evaluating a real-valued function of one real variable and performing numerica...
unsigned int NDim() const
Retrieve the dimension of the function.
const RooArgSet & getConfigSection(const char *name) const
Retrieve configuration information specific to integrator with given name.
ROOT::Math::AdaptiveIntegratorMultiDim * _integrator
ROOT::Math multi-parameter function binding.
class for adaptive quadrature integration in multi-dimensions using rectangular regions.
Bool_t storeProtoIntegrator(RooAbsIntegrator *proto, const RooArgSet &defConfig, const char *depName="")
Method accepting registration of a prototype numeric integrator along with a RooArgSet of its default...
Double_t getRealValue(const char *name, Double_t defVal=0, Bool_t verbose=kFALSE) const
Get value of a RooAbsReal stored in set with given name.