18#ifndef ROO_FOAM_GENERATOR
19#define ROO_FOAM_GENERATOR
32class RooNumGenFactory ;
34class RooFoamGenerator :
public RooAbsNumGenerator {
36 RooFoamGenerator() =
default;
40 return new RooFoamGenerator(func,genVars,config,verbose,maxFuncVal) ;
43 const RooArgSet *generateEvent(
UInt_t remaining,
double& resampleRatio)
override;
45 TFoam& engine() {
return *_tfoam; }
47 bool canSampleConditional()
const override {
return false ; }
48 bool canSampleCategories()
const override {
return false ; }
50 std::string
const& generatorName()
const override;
54 friend class RooNumGenFactory ;
55 static void registerSampler(RooNumGenFactory& fact) ;
57 std::unique_ptr<TFoamIntegrand> _binding;
58 std::unique_ptr<TFoam> _tfoam;
59 std::vector<double> _xmin ;
60 std::vector<double> _range;
61 std::vector<double>
_vec;
std::vector< double > _vec
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...
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.
Variable that can be changed from the outside.
TFoam is the main class of the multi-dimensional general purpose Monte Carlo event generator (integra...