CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ZMuTrackScaledFunction.h
Go to the documentation of this file.
1 #ifndef ElectroWeakAnalysis_ZMuMu_ZMuTrackScaledFunction_h
2 #define ElectroWeakAnalysis_ZMuMu_ZMuTrackScaledFunction_h
4 #include <boost/shared_ptr.hpp>
5 
6 namespace function {
8  public:
9  enum { arguments = 1 };
10  enum { parameters = 9 };
12  binScaleFactor(bin), zmt_(zmt) {}
13  ZMuTrackScaledFunction(boost::shared_ptr<double> m, boost::shared_ptr<double> g, boost::shared_ptr<double> Ng, boost::shared_ptr<double> Ni,
14  boost::shared_ptr<double> me, boost::shared_ptr<double> s,
15  boost::shared_ptr<double> N, boost::shared_ptr<double> eff_tr, boost::shared_ptr<double> eff_sa, int bin):
16  mass(m), width(g), Ngamma(Ng), Nint(Ni), mean(me), sigma(s),
18  zmt_(m, g, Ng, Ni, me, s, N, eff_tr, eff_sa) {}
19  ZMuTrackScaledFunction(double m, double g, double Ng, double Ni,
20  double me, double s,
21  double N, double eff_tr, double eff_sa,
22  int bin):
23  mass(new double(m)), width(new double(g)), Ngamma(new double(Ng)), Nint(new double(Ni)), mean(new double(me)), sigma(new double(s)),
24  numberOfEvents(new double(N)), efficiencyTrack(new double(eff_tr)), efficiencyStandalone(new double(eff_sa)), binScaleFactor(bin),
25  zmt_(m, g, Ng, Ni, me, s, N, eff_tr, eff_sa) {}
26  void setParameters(double m, double g, double Ng, double Ni,
27  double me, double s,
28  double N, double eff_tr, double eff_sa) {
29  *mass = m;
30  *width = g;
31  *Ngamma = Ng;
32  *Nint = Ni;
33  *mean = me;
34  *sigma = s;
35  *numberOfEvents = N;
36  *efficiencyTrack = eff_tr;
37  *efficiencyStandalone = eff_sa;
38  zmt_.setParameters(m, g, Ng, Ni, me, s, N, eff_tr, eff_sa);
39  }
40  double operator()(double x) const {
41  return binScaleFactor * zmt_(x);
42  }
43  boost::shared_ptr<double> mass, width, Ngamma, Nint, mean, sigma;
46  private:
48  };
49 }
50 
51 #endif
ZMuTrackScaledFunction(const ZMuTrackFunction &zmt, int bin)
Definition: vlib.h:257
boost::shared_ptr< double > efficiencyStandalone
void setParameters(double m, double g, double Ng, double Ni, double me, double s, double N, double eff_tr, double eff_sa)
boost::shared_ptr< double > width
boost::shared_ptr< double > sigma
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
ZMuTrackScaledFunction(double m, double g, double Ng, double Ni, double me, double s, double N, double eff_tr, double eff_sa, int bin)
boost::shared_ptr< double > Ngamma
boost::shared_ptr< double > mass
void setParameters(double m, double g, double Ng, double Ni, double me, double s, double N, double eff_tr, double eff_sa)
#define N
Definition: blowfish.cc:9
boost::shared_ptr< double > efficiencyTrack
boost::shared_ptr< double > Nint
x
Definition: VDTMath.h:216
boost::shared_ptr< double > mean
boost::shared_ptr< double > numberOfEvents
ZMuTrackScaledFunction(boost::shared_ptr< double > m, boost::shared_ptr< double > g, boost::shared_ptr< double > Ng, boost::shared_ptr< double > Ni, boost::shared_ptr< double > me, boost::shared_ptr< double > s, boost::shared_ptr< double > N, boost::shared_ptr< double > eff_tr, boost::shared_ptr< double > eff_sa, int bin)