16#ifndef ROO_ABS_NUM_GENERATOR
17#define ROO_ABS_NUM_GENERATOR
Abstract base class for MC event generator implementations like RooAcceptReject and RooFoam.
RooArgSet _catVars
Set of discrete observabeles.
RooArgSet _realVars
Set of real valued observabeles.
std::unique_ptr< RooAbsArg > _funcValStore
RRV storing function value in context.
virtual std::string const & generatorName() const =0
Return unique name of generator implementation.
const RooAbsReal * _funcMaxVal
Container for maximum function value.
RooArgSet _cloneSet
Set owning clone of input function.
virtual double getFuncMax()
virtual bool canSampleCategories() const
RooAbsReal * _funcClone
Pointer to top level node of cloned function.
void setVerbose(bool verbose=true)
bool _verbose
Verbose flag.
virtual ~RooAbsNumGenerator()
virtual bool canSampleConditional() const
RooRealVar * _funcValPtr
RRV storing function value in output dataset.
void attachParameters(const RooArgSet &vars)
Reattach original parameters to function clone.
std::unique_ptr< RooDataSet > _cache
Dataset holding generared values of observables.
virtual RooAbsNumGenerator * clone(const RooAbsReal &, const RooArgSet &genVars, const RooArgSet &condVars, const RooNumGenConfig &config, bool verbose=false, const RooAbsReal *maxFuncVal=nullptr) const =0
virtual const RooArgSet * generateEvent(UInt_t remaining, double &resampleRatio)=0
Abstract base class for objects that represent a real value and implements functionality common to al...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Container class to hold unbinned data.
Holds the configuration parameters of the various numeric integrators used by RooRealIntegral.
Lightweight interface adaptor that binds a RooAbsReal object to a subset of its servers and present i...
Variable that can be changed from the outside.