36using std::endl, std::ostream;
56 _method1D(
"method1D",
"1D sampling method"),
57 _method1DCat(
"method1DCat",
"1D sampling method for pdfs with categories"),
58 _method1DCond(
"method1DCond",
"1D sampling method for conditional pfs"),
59 _method1DCondCat(
"method1DCond",
"1D sampling method for conditional pfs with categories"),
60 _method2D(
"method2D",
"2D sampling method"),
61 _method2DCat(
"method2DCat",
"2D sampling method for pdfs with categories"),
62 _method2DCond(
"method2DCond",
"2D sampling method for conditional pfs"),
63 _method2DCondCat(
"method2DCond",
"2D sampling method for conditional pfs with categories"),
64 _methodND(
"methodND",
"ND sampling method"),
65 _methodNDCat(
"methodNDCat",
"ND sampling method for pdfs with categories"),
66 _methodNDCond(
"methodNDCond",
"ND sampling method for conditional pfs"),
67 _methodNDCondCat(
"methodNDCond",
"ND sampling method for conditional pfs with categories")
119 RooArgSet* setCopy = new RooArgSet;
120 set->snapshot(*setCopy) ;
121 setCopy->setName(set->GetName()) ;
122 _configSets.Add(setCopy);
159 set->snapshot(*setCopy);
240 std::string
name =
proto->generatorName();
248 if (
proto->canSampleConditional()) {
253 if (
proto->canSampleCategories()) {
259 if (
proto->canSampleConditional() &&
proto->canSampleCategories()) {
293 oocoutE(
nullptr,InputArguments) <<
"RooNumGenConfig::getIntegrator: ERROR: no configuration stored for integrator '" <<
name <<
"'" << endl ;
325 os <<
indent <<
"1-D sampling method: " <<
_method1D.getCurrentLabel() << endl ;
327 os <<
" (" <<
_method1DCat.getCurrentLabel() <<
" if with categories)" << endl ;
330 os <<
" (" <<
_method1DCond.getCurrentLabel() <<
" if conditional)" << endl ;
333 os <<
" (" <<
_method1DCondCat.getCurrentLabel() <<
" if conditional with categories)" << endl ;
337 os <<
indent <<
"2-D sampling method: " <<
_method2D.getCurrentLabel() << endl ;
339 os <<
" (" <<
_method2DCat.getCurrentLabel() <<
" if with categories)" << endl ;
342 os <<
" (" <<
_method2DCond.getCurrentLabel() <<
" if conditional)" << endl ;
345 os <<
" (" <<
_method2DCondCat.getCurrentLabel() <<
" if conditional with categories)" << endl ;
349 os <<
indent <<
"N-D sampling method: " <<
_methodND.getCurrentLabel() << endl ;
351 os <<
" (" <<
_methodNDCat.getCurrentLabel() <<
" if with categories)" << endl ;
354 os <<
" (" <<
_methodNDCond.getCurrentLabel() <<
" if conditional)" << endl ;
357 os <<
" (" <<
_methodNDCondCat.getCurrentLabel() <<
" if conditional with categories)" << endl ;
363 os << endl <<
"Available sampling methods:" << endl << endl ;
366 os <<
indent <<
"*** " << configSet->GetName() <<
" ***" << endl ;
367 os <<
indent <<
"Capabilities: " ;
369 if (
proto->canSampleConditional()) os <<
"[Conditional] " ;
370 if (
proto->canSampleCategories()) os <<
"[Categories] " ;
373 os <<
"Configuration: " << endl ;
ROOT::RRangeCast< T, false, Range_t > static_range_cast(Range_t &&coll)
static void indent(ostringstream &buf, int indent_level)
void setName(const char *name)
Abstract base class for MC event generator implementations like RooAcceptReject and RooFoam.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooArgSet * snapshot(bool deepCopy=true) const
Use RooAbsCollection::snapshot(), but return as RooArgSet.
Object to represent discrete states.
value_type getCurrentIndex() const final
Return current index.
Holds the configuration parameters of the various numeric integrators used by RooRealIntegral.
RooCategory _methodND
Selects integration method for ND p.d.f.s.
RooCategory _methodNDCondCat
Selects integration method for ND conditional p.d.f.s with categories.
static RooNumGenConfig & defaultConfig()
Return reference to instance of default numeric integrator configuration object.
RooNumGenConfig()
Constructor.
RooCategory & method2D(bool cond, bool cat)
void printMultiline(std::ostream &os, Int_t content, bool verbose, TString indent="") const override
Detailed printing interface.
RooCategory & method1D(bool cond, bool cat)
RooCategory _method2D
Selects integration method for 2D p.d.f.s.
RooCategory _method1DCondCat
Selects integration method for 1D conditional p.d.f.s with categories.
RooCategory _method2DCat
Selects integration method for 2D p.d.f.s with categories.
bool addConfigSection(const RooAbsNumGenerator *proto, const RooArgSet &defaultConfig)
Add a configuration section for a particular integrator.
RooCategory _method1DCond
Selects integration method for 1D conditional p.d.f.s.
RooCategory _method2DCondCat
Selects integration method for 2D conditional p.d.f.s with categories.
~RooNumGenConfig() override
Destructor.
RooCategory _method1DCat
Selects integration method for 1D p.d.f.s with categories.
RooCategory _method1D
Selects integration method for 1D p.d.f.s.
RooCategory _method2DCond
Selects integration method for 2D conditional p.d.f.s.
RooLinkedList _configSets
List of configuration sets for individual integration methods.
const RooArgSet & getConfigSection(const char *name) const
Retrieve configuration information specific to integrator with given name.
RooNumGenConfig & operator=(const RooNumGenConfig &other)
Assignment operator from other RooNumGenConfig.
RooCategory _methodNDCat
Selects integration method for ND p.d.f.s with categories.
RooCategory _methodNDCond
Selects integration method for ND conditional p.d.f.s.
StyleOption defaultPrintStyle(Option_t *opt) const override
RooCategory & methodND(bool cond, bool cat)
static RooNumGenFactory & instance()
Static method returning reference to singleton instance of factory.
const RooAbsNumGenerator * getProtoSampler(const char *name)
Return prototype integrator with given (class) name.
TObject()
TObject constructor.
void ToLower()
Change string to lower-case.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const