Abstract base class for generator contexts of RooAbsPdf objects.
 
Implements a universal generator context for all RooAbsPdf classes that do not have or need a special...
 
void printMultiline(std::ostream &os, Int_t content, bool verbose=false, TString indent="") const override
Printing interface.
 
void generateEvent(RooArgSet &theEvent, Int_t remaining) override
Generate one event.
 
RooArgSet _otherVars
List of observables generated internally, randomly, and by accept/reject sampling.
 
Int_t _code
Internal generation code.
 
void initGenerator(const RooArgSet &theEvent) override
Perform one-time initialization of the generator context.
 
~RooGenContext() override
 
std::unique_ptr< RooAbsNumGenerator > _generator
MC sampling generation engine.
 
RooArgSet _cloneSet
Clone of all nodes of input p.d.f.
 
Int_t _updateFMaxPerEvent
If true, maximum p.d.f value needs to be recalculated for each event.
 
double _norm
Maximum probability, p.d.f area and normalization.
 
std::unique_ptr< RooRealVar > _maxVar
Variable holding maximum value of p.d.f.
 
std::unique_ptr< RooAbsReal > _acceptRejectFunc
Projection function to be passed to accept/reject sampler.
 
void attach(const RooArgSet ¶ms) override
Attach the cloned model to the event buffer we will be filling.
 
RooGenContext(const RooAbsPdf &model, const RooArgSet &vars, const RooDataSet *prototype=nullptr, const RooArgSet *auxProto=nullptr, bool verbose=false, const RooArgSet *forceDirect=nullptr)
Initialize a new context for generating events with the specified variables, using the specified PDF ...