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)));
27 : RooAbsReal(name, title),
e_(e),
x_(
X::name(),
X::name(), this, x) {}
30 : RooAbsReal(name, title),
e_(e),
x_(
X::name(),
X::name(), this, x) {
31 pars_.push_back(std::make_pair(a.
ptr(), RooRealProxy(a.
name().c_str(), a.
name().c_str(),
this, rA)));
41 : RooAbsReal(name, title),
e_(e),
x_(
X::name(),
X::name(), this, x) {
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)));
55 : RooAbsReal(name, title),
e_(e),
x_(
X::name(),
X::name(), this, x) {
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
const edm::EventSetup & c
const std::string & name() const
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)
std::shared_ptr< double > ptr() const
RooFitFunction(const RooFitFunction< X, Expr > &other, const char *name=nullptr)
Double_t evaluate() const override