55 RooRealVar numBins(
"numBins",
"Number of bins in range",100) ;
94 oocoutW((
TObject*)0,
Integration) <<
"RooBinIntegrator::RooBinIntegrator WARNING: integrand provide no binning definition observable #"
95 << i <<
" substituting default binning of " <<
_numBins <<
" bins" << endl ;
96 tmp =
new list<Double_t> ;
101 _binb.push_back(tmp) ;
129 oocoutW((
TObject*)0,
Integration) <<
"RooBinIntegrator::RooBinIntegrator WARNING: integrand provide no binning definition observable #"
130 << i <<
" substituting default binning of " <<
_numBins <<
" bins" << endl ;
131 tmp =
new list<Double_t> ;
136 _binb.push_back(tmp) ;
224 list<Double_t>::iterator
iter =
_binb[0]->begin() ;
238 list<Double_t>::iterator iter1 =
_binb[0]->begin() ;
241 for (; iter1!=
_binb[0]->end() ; ++iter1) {
246 list<Double_t>::iterator iter2 =
_binb[1]->begin() ;
248 for (; iter2!=
_binb[1]->end() ; ++iter2) {
264 list<Double_t>::iterator iter1 =
_binb[0]->begin() ;
267 for (; iter1!=
_binb[0]->end() ; ++iter1) {
272 list<Double_t>::iterator iter2 =
_binb[1]->begin() ;
274 for (; iter2!=
_binb[1]->end() ; ++iter2) {
279 list<Double_t>::iterator iter3 =
_binb[2]->begin() ;
281 for (; iter3!=
_binb[2]->end() ; ++iter3) {
virtual std::list< Double_t > * binBoundaries(Int_t) const
static RooNumIntConfig & defaultConfig()
Return reference to instance of default numeric integrator configuration object.
virtual ~RooBinIntegrator()
Destructor.
static Int_t isInfinite(Double_t x)
Return true if x is infinite by RooNumBer internal specification.
UInt_t getDimension() const
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...
std::vector< std::list< Double_t > * > _binb
Upper integration bound.
std::map< std::string, std::string >::const_iterator iter
virtual RooAbsIntegrator * clone(const RooAbsFunc &function, const RooNumIntConfig &config) const
Clone integrator with new function binding and configuration. Needed by RooNumIntFactory.
Bool_t _useIntegrandLimits
Size of integration range.
virtual Bool_t checkLimits() const
Check that our integration range is finite and otherwise return kFALSE.
void function(const char *name_, T fun, const char *docstring=0)
const RooAbsFunc * _function
virtual Double_t getMinLimit(UInt_t dimension) const =0
Int_t _numBins
list of bin boundaries
ClassImp(RooBinIntegrator)
static void registerIntegrator(RooNumIntFactory &fact)
Register RooBinIntegrator, is parameters and capabilities with RooNumIntFactory.
Double_t * xvec(Double_t &xx)
virtual Double_t getMaxLimit(UInt_t dimension) const =0
virtual const char * GetName() const
Returns name of object.
std::vector< Double_t > _xmax
Lower integration bound.
Bool_t setLimits(Double_t *xmin, Double_t *xmax)
Change our integration limits.
std::vector< Double_t > _xmin
Mother of all ROOT objects.
const RooAbsFunc * integrand() const
RooBinIntegrator()
Default constructor.
virtual Double_t integral(const Double_t *yvec=0)
Calculate numeric integral at given set of function binding parameters.
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.