CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ZMuMuNormalBack.h
Go to the documentation of this file.
1 #ifndef ElectroWeakAnalysis_ZMuMu_ZMuMuNormalBack_h
2 #define ElectroWeakAnalysis_ZMuMu_ZMuMuNormalBack_h
5 #include <boost/shared_ptr.hpp>
6 
7 namespace function {
8  class ZMuMuNormalBack {
9  public:
10  enum{ arguments = 1};
11  enum{ parameters = 4};
12  ZMuMuNormalBack(boost::shared_ptr<double> Nb, boost::shared_ptr<double> l, boost::shared_ptr<double> a, boost::shared_ptr<double> b,
13  int rmin, int rmax):
14  Nbkg(Nb), lambda(l), a1(a), a2(b), x_min(rmin), x_max(rmax),
15  zmb_(Nb, l, a, b), zmbn_(l, a, b) {}
16  ZMuMuNormalBack(double Nb, double l, double a, double b,
17  int rmin, int rmax):
18  Nbkg(new double(Nb)), lambda(new double(l)), a1(new double(a)), a2(new double(b)), x_min(rmin), x_max(rmax),
19  zmb_(Nb, l, a, b), zmbn_(l, a, b) {}
20  void setParameters(double Nb, double l, double a, double b) {
21  zmb_.setParameters(Nb, l, a, b);
22  zmbn_.setParameters(l, a, b);
23  }
24  double operator()(double x) const {
25  return zmbn_(x_min, x_max) * zmb_(x);
26  }
27  boost::shared_ptr<double> Nbkg, lambda, a1, a2;
28  int x_min, x_max;
29  private:
32  };
33 }
34 
35 #endif
ZMuMuNormalBack(boost::shared_ptr< double > Nb, boost::shared_ptr< double > l, boost::shared_ptr< double > a, boost::shared_ptr< double > b, int rmin, int rmax)
Definition: vlib.h:256
int l
Definition: vlib.h:268
boost::shared_ptr< double > Nbkg
boost::shared_ptr< double > a2
void setParameters(double Nb, double l, double a, double b)
Definition: ZMuMuBack.h:23
void setParameters(double l, double a, double b)
Definition: ZMuMuBackNorm.h:29
double operator()(double x) const
void setParameters(double Nb, double l, double a, double b)
double b
Definition: hdecay.h:120
ZMuMuNormalBack(double Nb, double l, double a, double b, int rmin, int rmax)
boost::shared_ptr< double > a1
double a
Definition: hdecay.h:121
boost::shared_ptr< double > lambda