62 if(nEventsCurrent != 1 && nEvents != 1 && nEventsCurrent != nEvents) {
63 auto errorMsg = std::string(
"RooUniform::evaluateSpan(): number of entries for input variables does not match")
64 +
"in RooUniform with name \"" +
GetName() +
"\".";
65 coutE(FastEvaluations) << errorMsg << std::endl ;
66 throw std::runtime_error(errorMsg);
68 nEvents = std::max(nEvents, nEventsCurrent);
71 for (
size_t i=0; i<nEvents; i++) {
85 coutW(Integration) <<
"RooUniform::getAnalyticalIntegral(" <<
GetName() <<
") WARNING: p.d.f. has " <<
x.
getSize()
86 <<
" observables, analytical integration is only implemented for the first 31 observables" << std::endl ;
91 for (
int i=0 ; i<
x.
getSize() ; i++) {
106 for (
int i=0 ; i<32 ; i++) {
109 ret *= (var->
getMax(rangeName) - var->
getMin(rangeName)) ;
123 coutW(Integration) <<
"RooUniform::getGenerator(" <<
GetName() <<
") WARNING: p.d.f. has " <<
x.
getSize()
124 <<
" observables, internal integrator is only implemented for the first 31 observables" << std::endl ;
129 for (
int i=0 ; i<
x.
getSize() ; i++) {
150 for (
int i=0 ; i<32 ; i++) {
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Add the specified argument to list.
RooAbsArg * find(const char *name) const
Find object with given name in list.
RooSpan< const double > getValues(RooBatchCompute::RunContext &evalData, const RooArgSet *normSet) const
Compute batch of values for given input data, and normalise by integrating over the observables in no...
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
virtual Double_t getMax(const char *name=0) const
Get maximum of currently defined range.
virtual void randomize(const char *rangeName=0)
Set a new value sampled from a uniform distribution over the fit range.
virtual Double_t getMin(const char *name=0) const
Get miniminum of currently defined range.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooAbsArg * at(Int_t idx) const
Return object at given index, or nullptr if index is out of range.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE) override
Reimplementation of standard RooArgList::add()
A simple container to hold a batch of data values.
virtual const char * GetName() const
Returns name of object.
This struct enables passing computation data around between elements of a computation graph.
RooSpan< double > makeBatch(const RooAbsArg *owner, std::size_t size)
Create a writable batch.