1 #ifndef PhysicsTools_Utilities_RooFitFunction_h 2 #define PhysicsTools_Utilities_RooFitFunction_h 4 #include "RooAbsReal.h" 5 #include "RooRealProxy.h" 6 #include "RooAbsReal.h" 13 template <
typename X,
typename Expr>
18 std::cout <<
">>> making new RooFitFunction" << std::endl;
19 std::vector<std::pair<std::shared_ptr<double>, RooRealProxy> >::const_iterator
i =
other.pars_.begin(),
21 for (;
i !=
end; ++
i) {
22 std::cout <<
">>> adding par to RooFitFunction" << std::endl;
23 pars_.push_back(std::make_pair(
i->first, RooRealProxy(
i->second.GetName(),
this,
i->second)));
31 pars_.push_back(std::make_pair(
a.ptr(), RooRealProxy(
a.name().c_str(),
a.name().c_str(),
this, rA)));
42 pars_.push_back(std::make_pair(
a.ptr(), RooRealProxy(
a.name().c_str(),
a.name().c_str(),
this, rA)));
43 pars_.push_back(std::make_pair(
b.ptr(), RooRealProxy(
b.name().c_str(),
b.name().c_str(),
this, rB)));
56 pars_.push_back(std::make_pair(
a.ptr(), RooRealProxy(
a.name().c_str(),
a.name().c_str(),
this, rA)));
57 pars_.push_back(std::make_pair(
b.ptr(), RooRealProxy(
b.name().c_str(),
b.name().c_str(),
this, rB)));
58 pars_.push_back(std::make_pair(
c.ptr(), RooRealProxy(
c.name().c_str(),
c.name().c_str(),
this, rC)));
62 pars_.push_back(std::make_pair(
a.ptr(), RooRealProxy(
a.name().c_str(),
a.name().c_str(),
this, rA)));
69 std::vector<std::pair<std::shared_ptr<double>, RooRealProxy> >
pars_;
72 std::vector<std::pair<std::shared_ptr<double>, RooRealProxy> >::const_iterator
i =
pars_.begin(),
75 *(
i->first) =
i->second;
TObject * clone(const char *newName) const override
void add(RooAbsReal &rA, funct::Parameter &a)
RooFitFunction(const char *name, const char *title, const Expr &e, RooAbsReal &x, RooAbsReal &rA, funct::Parameter &a, RooAbsReal &rB, funct::Parameter &b)
~RooFitFunction() override
RooFitFunction(const char *name, const char *title, const Expr &e, RooAbsReal &x)
RooFitFunction(const char *name, const char *title, const Expr &e, RooAbsReal &x, RooAbsReal &rA, funct::Parameter &a, RooAbsReal &rB, funct::Parameter &b, RooAbsReal &rC, funct::Parameter &c)
std::vector< std::pair< std::shared_ptr< double >, RooRealProxy > > pars_
RooFitFunction(const char *name, const char *title, const Expr &e, RooAbsReal &x, RooAbsReal &rA, funct::Parameter &a)
RooFitFunction(const RooFitFunction< X, Expr > &other, const char *name=nullptr)
Double_t evaluate() const override