59 RooCategory extrap(
"extrapolation",
"Extrapolation procedure") ;
63 RooRealVar maxSteps(
"maxSteps",
"Maximum number of steps",20) ;
64 RooRealVar minSteps(
"minSteps",
"Minimum number of steps",999) ;
65 RooRealVar fixSteps(
"fixSteps",
"Fixed number of steps",0) ;
79 _h(0), _s(0), _c(0), _d(0), _x(0)
129 _epsAbs(config.epsAbs()),
130 _epsRel(config.epsRel())
141 oocoutE((
TObject*)0,
Integration) <<
"RooIntegrator1D::ctor() ERROR: fixSteps>maxSteps, fixSteps set to maxSteps" << endl ;
158 _epsAbs(config.epsAbs()),
159 _epsRel(config.epsRel())
264 oocoutE((
TObject*)0,
Integration) <<
"RooIntegrator1D::checkLimits: bad range with min >= max (_xmin = " << _xmin <<
" _xmax = " <<
_xmax <<
")" << endl;
294 Int_t jj ;
for (jj=0 ; jj<=j ; jj++) {
295 if (
_s[j]>=zeroThresh) {
363 for(it=1, j=1; j < n-1; j++) it*= 3;
368 for(sum= 0, j= 1; j <= it; j++) {
397 for(it=1, j=1; j < n-1; j++) it <<= 1;
401 for(sum=0.0, j=1; j<=it; j++, x+=del) sum +=
integrand(
xvec(x));
420 if ((dift=
fabs(xa[i])) < dif) {
429 for(i= 1; i <= _nPoints-
m; i++) {
433 if((den=ho-hp) == 0.0) {
static RooNumIntConfig & defaultConfig()
Return reference to instance of default numeric integrator configuration object.
Double_t * _s
Integrator workspace.
virtual const char * getName() const
Double_t _extrapError
Extrapolated value.
RooIntegrator1D()
coverity[UNINIT_CTOR] Default constructor
Double_t * _c
Integrator workspace.
Double_t * xvec(Double_t &xx)
Integrator workspace.
Bool_t initialize()
Initialize the integrator.
static void registerIntegrator(RooNumIntFactory &fact)
Register RooIntegrator1D, is parameters and capabilities with RooNumIntFactory.
Double_t _extrapValue
Size of integration range.
Double_t addMidpoints(Int_t n)
Calculate the n-th stage of refinement of the Second Euler-Maclaurin summation rule which has the use...
static Int_t isInfinite(Double_t x)
Return true if x is infinite by RooNumBer internal specification.
virtual ~RooIntegrator1D()
Destructor.
UInt_t getDimension() const
Double_t addTrapezoids(Int_t n)
Calculate the n-th stage of refinement of the extended trapezoidal summation rule.
virtual Bool_t setLabel(const char *label, Bool_t printError=kTRUE)
Set value by specifying the name of the desired state If printError is set, a message will be printed...
Double_t _savedResult
Integrator workspace.
ClassImp(RooIntegrator1D)
Double_t _range
Upper integration bound.
Double_t * _d
Integrator workspace.
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
void function(const char *name_, T fun, const char *docstring=0)
virtual Double_t integral(const Double_t *yvec=0)
Calculate numeric integral at given set of function binding parameters.
Int_t getCatIndex(const char *name, Int_t defVal=0, Bool_t verbose=kFALSE) const
Get index value of a RooAbsCategory stored in set with given name.
const RooAbsFunc * _function
virtual Double_t getMinLimit(UInt_t dimension) const =0
virtual Bool_t checkLimits() const
Check that our integration range is finite and otherwise return kFALSE.
Bool_t setLimits(Double_t *xmin, Double_t *xmax)
Change our integration limits.
virtual Double_t getMaxLimit(UInt_t dimension) const =0
virtual const char * GetName() const
Returns name of object.
virtual RooAbsIntegrator * clone(const RooAbsFunc &function, const RooNumIntConfig &config) const
Clone integrator with new function binding and configuration. Needed by RooNumIntFactory.
Double_t * _h
Error on extrapolated value.
Mother of all ROOT objects.
Bool_t _useIntegrandLimits
Double_t _xmax
Lower integration bound.
const RooAbsFunc * integrand() const
Bool_t defineType(const char *label)
Define a state with given name, the lowest available positive integer is assigned as index...
void extrapolate(Int_t n)
Extrapolate result to final value.
const RooArgSet & getConfigSection(const char *name) const
Retrieve configuration information specific to integrator with given name.
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.