18#ifndef ROO_BIN_INTEGRATOR
19#define ROO_BIN_INTEGRATOR
30 RooBinIntegrator(
const RooAbsFunc &function,
int numBins = 100);
34 double integral(
const double *yvec =
nullptr)
override;
40 _useIntegrandLimits = flag;
47 RooBinIntegrator(
const RooBinIntegrator &);
50 mutable std::vector<double> _xmin;
51 mutable std::vector<double> _xmax;
52 std::vector<std::vector<double>> _binb;
53 mutable Int_t _numBins = 0;
55 bool _useIntegrandLimits =
false;
59 std::vector<double> _x;
int Int_t
Signed integer 4 bytes (int)
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int)
The Kahan summation is a compensated summation algorithm, which significantly reduces numerical error...
Abstract interface for evaluating a real-valued function of one real variable and performing numerica...
Abstract interface for integrators of real-valued functions that implement the RooAbsFunc interface.
virtual bool setUseIntegrandLimits(bool flag)
Interface function that allows to defer limit definition to integrand definition.
virtual bool checkLimits() const
If true, finite limits are required on the observable range.
virtual double integral(const double *yvec=nullptr)=0
virtual bool setLimits(double *, double *)
Holds the configuration parameters of the various numeric integrators used by RooRealIntegral.
Factory to instantiate numeric integrators from a given function binding and a given configuration.
static uint64_t sum(uint64_t i)