Warning, file /include/root/RooLegacyExpPoly.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef RooFit_RooLegacyExpPoly_h
0012 #define RooFit_RooLegacyExpPoly_h
0013
0014 #include <RooAbsPdf.h>
0015 #include <RooRealProxy.h>
0016 #include <RooListProxy.h>
0017
0018 class RooLegacyExpPoly : public RooAbsPdf {
0019 public:
0020 RooLegacyExpPoly() {}
0021 RooLegacyExpPoly(const char *name, const char *title, RooAbsReal &x, const RooArgList &coefList, int lowestOrder = 1);
0022
0023 RooLegacyExpPoly(const RooLegacyExpPoly &other, const char *name = nullptr);
0024 TObject *clone(const char *newname) const override { return new RooLegacyExpPoly(*this, newname); }
0025
0026
0027 RooAbsReal const &x() const { return _x.arg(); }
0028
0029
0030 RooArgList const &coefList() const { return _coefList; }
0031
0032
0033 int lowestOrder() const { return _lowestOrder; }
0034
0035 double getLogVal(const RooArgSet *nset) const override;
0036
0037 std::string getFormulaExpression(bool expand) const;
0038
0039 int getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName = nullptr) const override;
0040 double analyticalIntegral(int code, const char *rangeName = nullptr) const override;
0041
0042 void adjustLimits();
0043
0044 protected:
0045 RooRealProxy _x;
0046 RooListProxy _coefList;
0047 int _lowestOrder;
0048
0049
0050 void doEval(RooFit::EvalContext &) const override;
0051 inline bool canComputeBatchWithCuda() const override { return true; }
0052
0053
0054 double evaluate() const override;
0055 double evaluateLog() const;
0056
0057 ClassDefOverride(RooLegacyExpPoly, 1)
0058 };
0059
0060 #endif