16#ifndef RooFit_RooFit_RooPolyFunc_h
17#define RooFit_RooFit_RooPolyFunc_h
41 inline const std::vector<std::unique_ptr<RooListProxy>> &
terms()
const {
return _terms; }
51 void addTerm(
double coefficient);
56 static std::unique_ptr<RooPolyFunc>
58 std::vector<double>
const &observableValues = {},
double eps1 = 1
e-6,
double eps2 = 1
e-3);
63 std::vector<std::unique_ptr<RooListProxy>>
_terms;
#define ClassDefOverride(name, id)
Abstract container object that can hold multiple RooAbsArg objects.
Int_t index(const RooAbsArg *arg) const
Returns index of given arg, or -1 if arg is not in the collection.
Storage_t::size_type size() const
Abstract base class for objects that represent a real value and implements functionality common to al...
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooAbsArg * at(Int_t idx) const
Return object at given index, or nullptr if index is out of range.
RooPolyFunc implements a polynomial function in multi-variables.
RooRealVar * getExponent(const RooArgList &term, RooRealVar *v)
const RooArgList & variables() const
RooPolyFunc & operator=(RooPolyFunc &&other)=delete
RooPolyFunc & operator=(const RooPolyFunc &other)=delete
RooRealVar * getCoefficient(const RooArgList &term)
double evaluate() const override
Evaluation.
RooPolyFunc(const char *name, const char *title, RooAbsReal &x, const RooAbsCollection &coefList)
RooPolyFunc()
Default constructor.
RooPolyFunc(const char *name, const char *title, RooAbsReal &x, RooAbsReal &y, const RooAbsCollection &coefList)
void setCoordinate(const RooAbsCollection &observables, std::vector< double > const &observableValues)
const std::vector< std::unique_ptr< RooListProxy > > & terms() const
void addTerm(double coefficient)
coverity[UNINIT_CTOR]
static std::unique_ptr< RooPolyFunc > taylorExpand(const char *name, const char *title, RooAbsReal &func, const RooArgList &observables, int order=1, std::vector< double > const &observableValues={}, double eps1=1e-6, double eps2=1e-3)
Taylor expanding given function in terms of observables around observableValues.
TObject * clone(const char *newname) const override
std::string asString() const
Return to RooPolyFunc as a string.
std::vector< std::unique_ptr< RooListProxy > > _terms
Variable that can be changed from the outside.
Mother of all ROOT objects.