36using std::endl, std::ostream;
55 _method1D(
"method1D",
"1D sampling method"),
56 _method1DCat(
"method1DCat",
"1D sampling method for pdfs with categories"),
57 _method1DCond(
"method1DCond",
"1D sampling method for conditional pfs"),
58 _method1DCondCat(
"method1DCond",
"1D sampling method for conditional pfs with categories"),
59 _method2D(
"method2D",
"2D sampling method"),
60 _method2DCat(
"method2DCat",
"2D sampling method for pdfs with categories"),
61 _method2DCond(
"method2DCond",
"2D sampling method for conditional pfs"),
62 _method2DCondCat(
"method2DCond",
"2D sampling method for conditional pfs with categories"),
63 _methodND(
"methodND",
"ND sampling method"),
64 _methodNDCat(
"methodNDCat",
"ND sampling method for pdfs with categories"),
65 _methodNDCond(
"methodNDCond",
"ND sampling method for conditional pfs"),
66 _methodNDCondCat(
"methodNDCond",
"ND sampling method for conditional pfs with categories")
118 RooArgSet* setCopy = new RooArgSet;
119 set->snapshot(*setCopy) ;
120 setCopy->setName(set->GetName()) ;
121 _configSets.Add(setCopy);
158 set->snapshot(*setCopy);
239 std::string
name =
proto->generatorName();
247 if (
proto->canSampleConditional()) {
252 if (
proto->canSampleCategories()) {
258 if (
proto->canSampleConditional() &&
proto->canSampleCategories()) {
292 oocoutE(
nullptr,InputArguments) <<
"RooNumGenConfig::getIntegrator: ERROR: no configuration stored for integrator '" <<
name <<
"'" << std::endl ;
324 os <<
indent <<
"1-D sampling method: " <<
_method1D.getCurrentLabel() << std::endl ;
326 os <<
" (" <<
_method1DCat.getCurrentLabel() <<
" if with categories)" << std::endl ;
329 os <<
" (" <<
_method1DCond.getCurrentLabel() <<
" if conditional)" << std::endl ;
332 os <<
" (" <<
_method1DCondCat.getCurrentLabel() <<
" if conditional with categories)" << std::endl ;
336 os <<
indent <<
"2-D sampling method: " <<
_method2D.getCurrentLabel() << std::endl ;
338 os <<
" (" <<
_method2DCat.getCurrentLabel() <<
" if with categories)" << std::endl ;
341 os <<
" (" <<
_method2DCond.getCurrentLabel() <<
" if conditional)" << std::endl ;
344 os <<
" (" <<
_method2DCondCat.getCurrentLabel() <<
" if conditional with categories)" << std::endl ;
348 os <<
indent <<
"N-D sampling method: " <<
_methodND.getCurrentLabel() << std::endl ;
350 os <<
" (" <<
_methodNDCat.getCurrentLabel() <<
" if with categories)" << std::endl ;
353 os <<
" (" <<
_methodNDCond.getCurrentLabel() <<
" if conditional)" << std::endl ;
356 os <<
" (" <<
_methodNDCondCat.getCurrentLabel() <<
" if conditional with categories)" << std::endl ;
362 os << std::endl <<
"Available sampling methods:" << std::endl << std::endl ;
365 os <<
indent <<
"*** " << configSet->GetName() <<
" ***" << std::endl ;
366 os <<
indent <<
"Capabilities: " ;
367 const RooAbsNumGenerator*
proto = RooNumGenFactory::instance().getProtoSampler(configSet->GetName()) ;
368 if (
proto->canSampleConditional()) os <<
"[Conditional] " ;
369 if (
proto->canSampleCategories()) os <<
"[Categories] " ;
372 os <<
"Configuration: " << std::endl ;
ROOT::RRangeCast< T, false, Range_t > static_range_cast(Range_t &&coll)
int Int_t
Signed integer 4 bytes (int).
const char Option_t
Option string (const char).
static void indent(ostringstream &buf, int indent_level)
void setName(const char *name)
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.
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)
TObject()
TObject constructor.
void ToLower()
Change string to lower-case.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const