84 _method1D(
"method1D",
"1D integration method"),
85 _method2D(
"method2D",
"2D integration method"),
86 _methodND(
"methodND",
"ND integration method"),
87 _method1DOpen(
"method1DOpen",
"1D integration method in open domain"),
88 _method2DOpen(
"method2DOpen",
"2D integration method in open domain"),
89 _methodNDOpen(
"methodNDOpen",
"ND integration method in open domain")
118 _epsAbs(other._epsAbs),
119 _epsRel(other._epsRel),
120 _printEvalCounter(other._printEvalCounter),
121 _method1D(other._method1D),
122 _method2D(other._method2D),
123 _methodND(other._methodND),
124 _method1DOpen(other._method1DOpen),
125 _method2DOpen(other._method2DOpen),
126 _methodNDOpen(other._methodNDOpen)
188 if (
proto->canIntegrate1D()) {
190 if (
proto->canIntegrateOpenEnded()) {
195 if (
proto->canIntegrate2D()) {
197 if (
proto->canIntegrateOpenEnded()) {
202 if (
proto->canIntegrateND()) {
204 if (
proto->canIntegrateOpenEnded()) {
250 oocoutE((
TObject*)0,
InputArguments) <<
"RooNumIntConfig::setEpsAbs: ERROR: target absolute precision must be greater or equal than zero" << endl ;
280 oocoutE((
TObject*)0,
InputArguments) <<
"RooNumIntConfig::setEpsRel: ERROR: target absolute precision must be greater or equal than zero" << endl ;
293 os <<
indent <<
"Requested precision: " <<
_epsAbs <<
" absolute, " <<
_epsRel <<
" relative" << endl << endl ;
295 os <<
indent <<
"Printing of function evaluation counter for each integration enabled" << endl << endl ;
319 os << endl <<
"Available integration methods:" << endl << endl ;
324 os <<
indent <<
"*** " << configSet->
GetName() <<
" ***" << endl ;
325 os <<
indent <<
"Capabilities: " ;
327 if (
proto->canIntegrate1D()) os <<
"[1-D] " ;
328 if (
proto->canIntegrate2D()) os <<
"[2-D] " ;
329 if (
proto->canIntegrateND()) os <<
"[N-D] " ;
330 if (
proto->canIntegrateOpenEnded()) os <<
"[OpenEnded] " ;
333 os <<
"Configuration: " << endl ;
338 if (strlen(depName)>0) {
339 os <<
indent <<
"(Depends on '" << depName <<
"')" << endl ;
static RooMathCoreReg dummy
static void indent(ostringstream &buf, int indent_level)
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Implement multiline printing of collection, one line for each contained object showing the requested ...
const char * GetName() const
Returns name of object.
void setName(const char *name)
RooAbsIntegrator is the abstract interface for integrators of real-valued functions that implement th...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooArgSet * snapshot(bool deepCopy=true) const
Use RooAbsCollection::snapshot(), but return as RooArgSet.
virtual const char * getLabel() const
Return label string of current state.
Bool_t defineType(const char *label)
Define a state with given name, the lowest available positive integer is assigned as index.
virtual Int_t getIndex() const
Return index number of current state.
virtual Bool_t setIndex(Int_t index, Bool_t printError=kTRUE)
Set value by specifying the index code of the desired state.
TObject * FindObject(const char *name) const
Return pointer to obejct with given name.
TIterator * MakeIterator(Bool_t forward=kTRUE) const
Create a TIterator for this list.
void Delete(Option_t *o=0)
Remove all elements in collection and delete all elements NB: Collection does not own elements,...
virtual void Add(TObject *arg)
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
RooCategory _method1DOpen
void setEpsAbs(Double_t newEpsAbs)
Set absolute convergence criteria (convergence if abs(Err)<newEpsAbs)
void printMultiline(std::ostream &os, Int_t content, Bool_t verbose, TString indent="") const
Detailed printing interface.
RooNumIntConfig()
Constructor.
RooLinkedList _configSets
virtual StyleOption defaultPrintStyle(Option_t *opt) const
const RooArgSet & getConfigSection(const char *name) const
Retrieve configuration information specific to integrator with given name.
RooCategory _methodNDOpen
void setEpsRel(Double_t newEpsRel)
Set relative convergence criteria (convergence if abs(Err)/abs(Int)<newEpsRel)
static RooNumIntConfig * _default
static void cleanup()
Function called by atexit() handler installed by RooSentinel to cleanup global objects at end of job.
Bool_t addConfigSection(const RooAbsIntegrator *proto, const RooArgSet &defaultConfig)
Add a configuration section for a particular integrator.
RooCategory _method2DOpen
RooNumIntConfig & operator=(const RooNumIntConfig &other)
Assignment operator from other RooNumIntConfig.
static RooNumIntConfig & defaultConfig()
Return reference to instance of default numeric integrator configuration object.
virtual ~RooNumIntConfig()
Destructor.
const char * getDepIntegratorName(const char *name)
Get list of class names of integrators needed by integrator named 'name'.
const RooAbsIntegrator * getProtoIntegrator(const char *name)
Return prototype integrator with given (class) name.
static RooNumIntFactory & instance()
Static method returning reference to singleton instance of factory.
RooPlotable is a 'mix-in' base class that define the standard RooFit plotting and printing methods.
Iterator abstract base class.
virtual TObject * Next()=0
Mother of all ROOT objects.
void ToLower()
Change string to lower-case.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const