65 RooRealVar nSample(
"nSample",
"Number of samples per cell",200,0,1e6) ;
66 RooRealVar nCell1D(
"nCell1D",
"Number of cells for 1-dim generation",30,0,1e6) ;
67 RooRealVar nCell2D(
"nCell2D",
"Number of cells for 2-dim generation",500,0,1e6) ;
68 RooRealVar nCell3D(
"nCell3D",
"Number of cells for 3-dim generation",5000,0,1e6) ;
69 RooRealVar nCellND(
"nCellND",
"Number of cells for N-dim generation",10000,0,1e6) ;
70 RooRealVar chatLevel(
"chatLevel",
"TFOAM 'chat level' (verbosity)",0,0,2) ;
107 auto var =
static_cast<const RooRealVar*
>(arg);
108 _xmin[i] = var->getMin() ;
109 _range[i] = var->getMax() - var->getMin() ;
151 static const std::string
name =
"RooFoamGenerator";
double getRealValue(const char *name, double defVal=0.0, bool verbose=false) const
Get value of a RooAbsReal stored in set with given name.
Int_t getSize() const
Return the number of elements in the collection.
Class RooAbsNumGenerator is the abstract base class for MC event generator implementations like RooAc...
RooArgSet _realVars
Sets of discrete and real valued observabeles.
RooDataSet * _cache
Dataset holding generared values of observables.
RooAbsReal * _funcClone
Pointer to top level node of cloned function.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
const RooArgSet * get(Int_t index) const override
Return RooArgSet with coordinates of event 'index'.
Class RooFoamGenerator is a generic toy monte carlo generator that implement the TFOAM sampling techn...
const RooArgSet * generateEvent(UInt_t remaining, double &resampleRatio) override
are we actually generating anything? (the cache always contains at least our function value)
double * _range
Range of observables to be generated ;.
~RooFoamGenerator() override
Destructor.
RooTFoamBinding * _binding
Binding of RooAbsReal to TFoam function interface.
double * _xmin
Lower bound of observables to be generated ;.
std::string const & generatorName() const override
Return unique name of generator implementation.
TFoam * _tfoam
Instance of TFOAM generator.
static void registerSampler(RooNumGenFactory &fact)
Register RooIntegrator1D, is parameters and capabilities with RooNumIntFactory.
double * _vec
Transfer array for FOAM output.
RooNumGenConfig holds the configuration parameters of the various numeric integrators used by RooReal...
const RooArgSet & getConfigSection(const char *name) const
Retrieve configuration information specific to integrator with given name.
RooNumGenFactory is a factory to instantiate numeric integrators from a given function binding and a ...
bool storeProtoSampler(RooAbsNumGenerator *proto, const RooArgSet &defConfig)
Method accepting registration of a prototype numeric integrator along with a RooArgSet of its default...
static TRandom * randomGenerator()
Return a pointer to a singleton random-number generator implementation.
RooRealVar represents a variable that can be changed from the outside.
void setVal(double value) override
Set value of variable to 'value'.
Lightweight interface adaptor that binds a RooAbsPdf to TFOAM.
TFoam is the main class of the multi-dimensional general purpose Monte Carlo event generator (integra...
virtual void GetMCvect(Double_t *)
User may get generated MC point/vector with help of this method.
virtual void MakeEvent()
User method.
virtual void Initialize()
Basic initialization of FOAM invoked by the user.
virtual void SetnSampl(Long_t nSampl)
virtual void SetChat(Int_t Chat)
virtual void SetnCells(Long_t nCells)
virtual void SetRho(TFoamIntegrand *Rho)
User may use this method to set the distribution object.
virtual void SetPseRan(TRandom *PseRan)
virtual void SetkDim(Int_t kDim)