16#ifndef ROO_ADD_GEN_CONTEXT
17#define ROO_ADD_GEN_CONTEXT
#define ClassDefOverride(name, id)
static void indent(ostringstream &buf, int indent_level)
RooAbsGenContext is the abstract base class for generator contexts of RooAbsPdf objects.
bool _verbose
Verbose messaging?
Class RooAcceptReject is a generic toy monte carlo generator implement the accept/reject sampling tec...
RooAddGenContext is an efficient implementation of the generator context specific for RooAddPdf PDFs.
void setProtoDataOrder(Int_t *lut) override
Forward the setProtoDataOrder call to the component generator contexts.
bool _isModel
Are we generating from a RooAddPdf or a RooAddModel.
void initGenerator(const RooArgSet &theEvent) override
One-time initialization of generator contex.
void updateThresholds()
Update the cumulative threshold table from the current coefficient values.
void printMultiline(std::ostream &os, Int_t content, bool verbose=false, TString indent="") const override
Print the details of the context.
double * _coefThresh
[_nComp] Array of coefficient thresholds
std::vector< RooAbsGenContext * > _gcList
List of component generator contexts.
RooArgSet * _pdfSet
Set owned all nodes of internal clone of p.d.f.
~RooAddGenContext() override
Destructor. Delete all owned subgenerator contexts.
RooAddGenContext(const RooAddPdf &model, const RooArgSet &vars, const RooDataSet *prototype=0, const RooArgSet *auxProto=0, bool _verbose=false)
Constructor.
RooAddGenContext(const RooAddGenContext &other)
RooAddModel::CacheElem * _mcache
! RooAddModel cache element
void attach(const RooArgSet ¶ms) override
Attach given set of variables to internal p.d.f. clone.
Int_t _nComp
Number of PDF components.
RooAddPdf::CacheElem * _pcache
! RooAddPdf cache element
RooAbsPdf * _pdf
Pointer to cloned p.d.f.
void generateEvent(RooArgSet &theEvent, Int_t remaining) override
Randomly choose one of the component contexts to generate this event, with a probability proportional...
RooAddModel is an efficient implementation of a sum of PDFs of the form.
RooAddPdf is an efficient implementation of a sum of PDFs of the form.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooDataSet is a container class to hold unbinned data.
RooRealIntegral performs hybrid numerical/analytical integrals of RooAbsReal objects.
This is the base class for the ROOT Random number generators.