45 _generator = std::unique_ptr<RooAbsGenContext>{pdf.
genContext(vars, prototype, auxProto, verbose)};
54 _eff->recursiveRedirectServers(theEvent);
74 _generator->generateEvent(theEvent, remaining);
75 double val =
_eff->getVal();
78 <<
":generateEvent: value of efficiency is larger than assumed maximum of 1." << std::endl;
93 os <<
indent <<
"--- RooEffGenContext ---" << std::endl;
94 os <<
indent <<
"Using EFF ";
96 os <<
indent <<
"PDF generator" << std::endl;
101 _generator->printMultiline(os, content, verbose, indent2);
int Int_t
Signed integer 4 bytes (int).
static void indent(ostringstream &buf, int indent_level)
RooAbsGenContext(const RooAbsPdf &model, const RooArgSet &vars, const RooDataSet *prototype=nullptr, const RooArgSet *auxProto=nullptr, bool _verbose=false)
Constructor.
void printMultiline(std::ostream &os, Int_t contents, bool verbose=false, TString indent="") const override
Interface for multi-line printing.
Abstract interface for all probability density functions.
virtual RooAbsGenContext * genContext(const RooArgSet &vars, const RooDataSet *prototype=nullptr, const RooArgSet *auxProto=nullptr, bool verbose=false) const
Interface function to create a generator context from a p.d.f.
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.
RooArgSet * snapshot(bool deepCopy=true) const
Use RooAbsCollection::snapshot(), but return as RooArgSet.
Container class to hold unbinned data.
void generateEvent(RooArgSet &theEvent, Int_t remaining) override
Generate one event.
void printMultiline(std::ostream &os, Int_t content, bool verbose=false, TString indent="") const override
Detailed printing interface.
std::unique_ptr< RooAbsGenContext > _generator
Generator context for p.d.f.
RooArgSet _cloneSet
Internal clone of p.d.f.
RooEffGenContext(const RooAbsPdf &model, const RooAbsPdf &pdf, const RooAbsReal &eff, const RooArgSet &vars, const RooDataSet *prototype=nullptr, const RooArgSet *auxProto=nullptr, bool verbose=false, const RooArgSet *forceDirect=nullptr)
Constructor of generator context for RooEffProd products.
void initializeEff(RooAbsReal const &eff)
void initGenerator(const RooArgSet &theEvent) override
One-time initialization of generator.
RooArgSet _vars
Vars to generate.
double _maxEff
Maximum of efficiency in vars.
RooAbsReal * _eff
Pointer to efficiency function.
static double uniform(TRandom *generator=randomGenerator())
Return a number uniformly distributed from (0,1).
const char * GetName() const override
Returns name of object.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
TString & Append(const char *cs)