18#ifndef ROO_ACCEPT_REJECT
19#define ROO_ACCEPT_REJECT
29class RooNumGenFactory ;
31class RooAcceptReject :
public RooAbsNumGenerator {
36 RooAcceptReject(
const RooAbsReal &func,
const RooArgSet &genVars,
const RooNumGenConfig& config,
bool verbose=
false,
const RooAbsReal* maxFuncVal=
nullptr);
37 RooAbsNumGenerator* clone(
const RooAbsReal& func,
const RooArgSet& genVars,
const RooArgSet& ,
38 const RooNumGenConfig& config,
bool verbose=
false,
const RooAbsReal* maxFuncVal=
nullptr)
const override {
39 return new RooAcceptReject(func,genVars,config,verbose,maxFuncVal) ;
42 const RooArgSet *generateEvent(
UInt_t remaining,
double& resampleRatio)
override;
43 double getFuncMax()
override ;
47 bool canSampleConditional()
const override {
return true ; }
48 bool canSampleCategories()
const override {
return true ; }
50 std::string
const& generatorName()
const override;
54 friend class RooNumGenFactory ;
55 static void registerSampler(RooNumGenFactory& fact) ;
57 void addEventToCache();
58 const RooArgSet *nextAcceptedEvent();
60 double _maxFuncVal, _funcSum;
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
Abstract base class for objects that represent a real value and implements functionality common to al...
Container class to hold unbinned data.
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.