CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ZMuStandaloneFunction.h
Go to the documentation of this file.
1 #ifndef ElectroWeakAnalysis_ZMuMu_ZMuStandaloneFunction_h
2 #define ElectroWeakAnalysis_ZMuMu_ZMuStandaloneFunction_h
7 #include <boost/shared_ptr.hpp>
8 
9 namespace function {
11  public:
12  static const unsigned int arguments = 1;
13  ZMuStandaloneFunction(boost::shared_ptr<double> m, boost::shared_ptr<double> g,
14  boost::shared_ptr<double> Ng, boost::shared_ptr<double> Ni,
15  boost::shared_ptr<double> me, boost::shared_ptr<double> s,
16  boost::shared_ptr<double> N,
17  boost::shared_ptr<double> eff_tr, boost::shared_ptr<double> eff_sa):
18  mass(m), width(g),
19  Ngamma(Ng), Nint(Ni),
20  mean(me), sigma(s),
21  numberOfEvents(N),
22  efficiencyTrack(eff_tr), efficiencyStandalone(eff_sa),
23  zls_(m, g, Ng, Ni), gau_(me, s),
24  cgz_(zls_, gau_, -3*s.value(), 3*s.value(), 200) {}
25  ZMuStandaloneFunction(double m, double g, double Ng, double Ni,
26  double me, double s,
27  double N, double eff_tr, double eff_sa):
28  mass(new double(m)), width(new double(g)),
29  Ngamma(new double(Ng)), Nint(new double(Ni)),
30  mean(new double(me)), sigma(new double(s)),
31  numberOfEvents(new double(N)),
32  efficiencyTrack(new double(eff_tr)), efficiencyStandalone(new double(eff_sa)),
33  zls_(m, g, Ng, Ni), gau_(me, s),
34  cgz_(zls_, gau_, -3*(*s), 3*(*s), 200) {}
35  double operator()(double x) const {
36  double eff_sa_2 = *efficiencyStandalone * (*efficiencyStandalone);
37  double eff_tr_minus = *efficiencyTrack * ( 1. - *efficiencyTrack );
38  return cgz_(x) * 2. * (*numberOfEvents) * eff_sa_2 * eff_tr_minus;
39  }
40  boost::shared_ptr<double> mass, width, Ngamma, Nint, mean, sigma;
42  private:
43  ZLineShape zls_;
45  Convolution<ZLineShape, Gaussian> cgz_;
46  };
47 }
48 
49 #endif
Definition: vlib.h:256
Double_t Gaussian(Double_t *x, Double_t *par)
boost::shared_ptr< double > Nint
ZMuStandaloneFunction(double m, double g, double Ng, double Ni, double me, double s, double N, double eff_tr, double eff_sa)
double operator()(double x) const
Convolution< ZLineShape, Gaussian > cgz_
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
boost::shared_ptr< double > mass
boost::shared_ptr< double > efficiencyTrack
boost::shared_ptr< double > efficiencyStandalone
boost::shared_ptr< double > Ngamma
boost::shared_ptr< double > width
#define N
Definition: blowfish.cc:9
ZMuStandaloneFunction(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)
boost::shared_ptr< double > mean
static const unsigned int arguments
boost::shared_ptr< double > numberOfEvents