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")
104 _method1D(other._method1D),
105 _method1DCat(other._method1DCat),
106 _method1DCond(other._method1DCond),
107 _method1DCondCat(other._method1DCondCat),
108 _method2D(other._method2D),
109 _method2DCat(other._method2DCat),
110 _method2DCond(other._method2DCond),
111 _method2DCondCat(other._method2DCondCat),
112 _methodND(other._methodND),
113 _methodNDCat(other._methodNDCat),
114 _methodNDCond(other._methodNDCond),
115 _methodNDCondCat(other._methodNDCondCat)
118 for (
auto * set : static_range_cast<RooArgSet*>(other.
_configSets)) {
121 setCopy->
setName(set->GetName()) ;
157 for(
auto * set : static_range_cast<RooArgSet*>(other.
_configSets)) {
160 setCopy->
setName(set->GetName()) ;
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 ;
363 os << endl <<
"Available sampling methods:" << endl << endl ;
364 for(
auto * configSet : static_range_cast<RooArgSet*>(
_configSets)) {
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 ;
static void indent(ostringstream &buf, int indent_level)
virtual const char * getCurrentLabel() const
Return label string of current state.
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.
bool setIndex(Int_t index, bool printError=true) override
Set value by specifying the index code of the desired state.
bool defineType(const std::string &label)
Define a state with given name.
value_type getCurrentIndex() const final
Return current index.
void Delete(Option_t *o=nullptr) override
Remove all elements in collection and delete all elements NB: Collection does not own elements,...
virtual void Add(TObject *arg)
TObject * FindObject(const char *name) const override
Return pointer to object with given name.
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.
A 'mix-in' base class that define the standard RooFit plotting and printing methods.
Mother of all ROOT objects.
void ToLower()
Change string to lower-case.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const