13#ifndef RooFit_RooFuncWrapper_h
14#define RooFit_RooFuncWrapper_h
41 void gradient(
double *out)
const override;
43 void gradient(
const double *
x,
double *
g)
const;
72 using Grad = void (*)(
double *,
double const *,
double *);
87 std::map<RooFit::Detail::DataKey, ObsInfo>
_obsInfos;
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Storage_t::size_type size() const
Abstract base class for binned and unbinned datasets.
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.
A wrapper class to store a C++ function of type 'double (*)(double*, double*)'.
std::vector< double > _gradientVarBuffer
void dumpGradient()
Prints the derivative code body to console.
std::size_t getNumParams() const
TObject * clone(const char *newname) const override
void declareAndDiffFunction(std::string const &funcBody, bool createGradient)
std::map< RooFit::Detail::DataKey, std::size_t > _nodeOutputSizes
std::map< RooFit::Detail::DataKey, ObsInfo > _obsInfos
std::string const & funcName() const
std::string buildCode(RooAbsReal const &head)
void gradient(double *out) const override
double defaultErrorLevel() const override
void constOptimizeTestStatistic(ConstOpCode, bool) override
No constant term optimization is possible in code-generation mode.
double(*)(double *, double const *) Func
void loadParamsAndData(RooAbsArg const *head, RooArgSet const ¶mSet, const RooAbsData *data, RooSimultaneous const *simPdf)
std::vector< double > _observables
void(*)(double *, double const *, double *) Grad
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
bool hasGradient() const override
void updateGradientVarBuffer() const
void dumpCode()
Prints the squashed code body to console.
void buildFuncAndGradFunctors()
Facilitates simultaneous fitting of multiple PDFs to subsets of a given dataset.
Mother of all ROOT objects.
ObsInfo(std::size_t i, std::size_t n)