flavour
BGLmodels::calcuOblique Class Reference

calculus of the constraints coming from the oblique parameters More...

#include <Formulas.h>

Inheritance diagram for BGLmodels::calcuOblique:
Collaboration diagram for BGLmodels::calcuOblique:

Public Member Functions

 calcuOblique ()
 
double operator() (const parameters &p) const
 
double F (double x, double y) const
 
double f (double t, double r) const
 
double lnxy_xy (double x, double y) const
 
double G (double x, double y, double z) const
 

Public Attributes

const double c1
 
const double c2
 
const gauss2obs g1
 
const gauss2obs g2
 

Detailed Description

calculus of the constraints coming from the oblique parameters

Definition at line 221 of file Formulas.h.

Constructor & Destructor Documentation

BGLmodels::calcuOblique::calcuOblique ( )
inline

Definition at line 224 of file Formulas.h.

224 : c1(0.741),c2(0.671), g1(c1*0.02,0.0397), g2(c2*0.02,0.1579) {}
const gauss2obs g2
Definition: Formulas.h:259
const gauss2obs g1
Definition: Formulas.h:259

Member Function Documentation

double BGLmodels::calcuOblique::F ( double  x,
double  y 
) const
inline

Definition at line 238 of file Formulas.h.

238  {
239  if(x==y) return 0;
240  return (x+y)/2-x*y*log(x/y)/(x-y);
241  }
double BGLmodels::calcuOblique::f ( double  t,
double  r 
) const
inline

Definition at line 242 of file Formulas.h.

242  {
243  if(r==0) return 0;
244  if(r<0) return 2*sqrt(-r)*atan(sqrt(-r)/t);
245  return sqrt(r)*log(fabs((t-sqrt(r))/(t+sqrt(r))));
246  }
double BGLmodels::calcuOblique::G ( double  x,
double  y,
double  z 
) const
inline

Definition at line 252 of file Formulas.h.

252  {
253  double t=x+y-z;
254  double r=std::pow(z,2)-2*z*(x+y)+std::pow(x-y,2);
255  return -16.0/3+5*(x+y)/z-2*std::pow((x-y)/z,2)+r/std::pow(z,3)*f(t,r)+\
256  3/z*lnxy_xy(x,y)*(std::pow(x,2)+std::pow(y,2)+(x-y)/std::pow(z,2)*(-std::pow(x,2)+std::pow(y,2)+std::pow(x-y,3)/3));
257  }
double lnxy_xy(double x, double y) const
Definition: Formulas.h:248
double f(double t, double r) const
Definition: Formulas.h:242
double BGLmodels::calcuOblique::lnxy_xy ( double  x,
double  y 
) const
inline

Definition at line 248 of file Formulas.h.

248  {
249  if(x==y) return 1/y;
250  return log(x/y)/(x-y);
251  }
double BGLmodels::calcuOblique::operator() ( const parameters p) const
inlinevirtual
Parameters
hipothesisthe theoretical hypothesis
Returns
the logarithm of the probability of measuring what was measured, assuming that the hypothesis is true

Implements calcu.

Definition at line 225 of file Formulas.h.

225  {
226  double y=p[1].value;
227  double z=p[2].value;
228  double w=p[3].value;
229 
230  double TT=(F(y*y,z*z)-F(w*w,z*z)+F(y*y,w*w))/(16*M_PI*M_MW*M_MW*(1-M_cos2));
231  double Sparam=(std::pow(1-2*M_cos2,2)*G(y*y,y*y,M_MZ*M_MZ)+G(z*z,w*w,M_MZ*M_MZ)+2*log(z*w/y/y))/24/M_PI;
232 
233  double T1=c1*TT-c2*Sparam;
234  double T2=c2*TT+c1*Sparam;
235 
236  return g1.loglikelihood(T1)+g2.loglikelihood(T2);
237  }
double G(double x, double y, double z) const
Definition: Formulas.h:252
const gauss2obs g2
Definition: Formulas.h:259
constexpr double M_MZ
Definition: Formulas.h:58
constexpr double M_cos2
Definition: Formulas.h:60
double loglikelihood(double hipothesis) const
Definition: model.h:109
double F(double x, double y) const
Definition: Formulas.h:238
const gauss2obs g1
Definition: Formulas.h:259
constexpr double M_MW
Definition: Formulas.h:59

Member Data Documentation

const double BGLmodels::calcuOblique::c1

Definition at line 258 of file Formulas.h.

const double BGLmodels::calcuOblique::c2

Definition at line 258 of file Formulas.h.

const gauss2obs BGLmodels::calcuOblique::g1

Definition at line 259 of file Formulas.h.

const gauss2obs BGLmodels::calcuOblique::g2

Definition at line 259 of file Formulas.h.


The documentation for this class was generated from the following file: