55 for (
unsigned int index=0; index < vars.
size(); ++index) {
58 if(
_vars.back() ==
nullptr) {
59 oocoutE(
nullptr,InputArguments) <<
"RooRealBinding: cannot bind to " << var->
GetName()
60 <<
". Variables need to be assignable, e.g. instances of RooRealVar." << std::endl ;
64 oocoutW(
nullptr, InputArguments) <<
"RooRealBinding: The function " << func.
GetName() <<
" does not depend on the parameter " <<
_vars[index]->GetName()
65 <<
". Note that passing copies of the parameters is not supported." << std::endl;
101 std::unique_ptr<RooArgSet> comps{
_func->getComponents()};
115 *si = (*ci)->_value ;
140 (*ci)->_value = *si ;
165 _vars[index]->setVal(xvector[index],range);
210 return _func->GetName() ;
218 return _func->plotSamplingHint(obs,xlo,xhi) ;
ROOT::RRangeCast< T, true, Range_t > dynamic_range_cast(Range_t &&coll)
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Storage_t::size_type size() const
UInt_t _dimension
Number of observables.
RooAbsFunc(UInt_t dimension)
Int_t _ncall
Function call counter.
UInt_t getDimension() const
bool _valid
Is binding in valid state?
Abstract base class for objects that represent a real value that may appear on the left hand side of ...
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.
static const char * str(const TNamed *ptr)
Return C++ string corresponding to given TNamed pointer.
std::list< double > * plotSamplingHint(RooAbsRealLValue &, double, double) const override
Interface for returning an optional hint for initial sampling points when constructing a curve projec...
double getMinLimit(UInt_t dimension) const override
Return lower limit on i-th variable.
~RooRealBinding() override
std::vector< double > _xsave
double operator()(const double xvector[]) const override
Evaluate the bound RooAbsReal at the variable values provided in xvector.
double getMaxLimit(UInt_t dimension) const override
Return upper limit on i-th variable.
RooRealBinding(const RooAbsReal &func, const RooArgSet &vars, const RooArgSet *nset=nullptr, bool clipInvalid=false, const TNamed *rangeName=nullptr)
Construct a lightweight function binding of RooAbsReal func to variables 'vars'.
void restoreXVec() const override
Restore value of all variables to previously saved values by saveXVec().
std::list< double > * binBoundaries(Int_t) const override
std::vector< RooAbsRealLValue * > _vars
Non-owned pointers to variables.
std::vector< RooAbsReal * > _compList
!
std::vector< double > _compSave
!
const char * getName() const override
Return name of function.
void loadValues(const double xvector[]) const
Load the vector of variable values into the RooRealVars associated as variables with the bound RooAbs...
const TNamed * _rangeName
!
void saveXVec() const override
Save value of all variables.
The TNamed class is the base class for all named ROOT classes.
const char * GetName() const override
Returns name of object.