StandardModelMatching.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef STANDARDMODELMATCHING_H
9 #define STANDARDMODELMATCHING_H
10 
11 #include "ModelMatching.h"
12 #include <gslpp.h>
13 
14 #define LEPS 1.e-5 // tolerance in the limit of S(x,y) to S(x)
15 
16 class StandardModel;
17 
27 public:
28 
30 
36  void updateSMParameters();
37 
43  virtual std::vector<WilsonCoefficient>& CMdbd2();
44 
50  virtual std::vector<WilsonCoefficient>& CMdbs2();
51 
57  virtual std::vector<WilsonCoefficient>& CMdd2();
58 
64  virtual std::vector<WilsonCoefficient>& CMdk2();
65 
73  virtual std::vector<WilsonCoefficient>& CMbnlep( int a);
74 
81  virtual std::vector<WilsonCoefficient>& CMbnlepCC( int a);
82 
89  virtual std::vector<WilsonCoefficient>& CMbsg();
90 
97  virtual std::vector<WilsonCoefficient>& CMprimebsg();
98 
105  virtual std::vector<WilsonCoefficient>& CMBMll();
112  virtual std::vector<WilsonCoefficient>& CMprimeBMll();
113 
121  virtual std::vector<WilsonCoefficient>& CMK();
122 
130  virtual std::vector<WilsonCoefficient>& CMKCC();
131 
137  virtual std::vector<WilsonCoefficient>& CMd1();
138 
144  virtual std::vector<WilsonCoefficient>& CMd1Buras();
145 
150  virtual std::vector<WilsonCoefficient>& CMkpnn();
155  virtual std::vector<WilsonCoefficient>& CMkmm();
156 
161  virtual std::vector<WilsonCoefficient>& CMbsmm();
162 
167  virtual std::vector<WilsonCoefficient>& CMbdmm();
168 
173  virtual std::vector<WilsonCoefficient>& CMbtaunu();
174 
179  virtual std::vector<WilsonCoefficient>& CMBXsnn();
180 
185  virtual std::vector<WilsonCoefficient>& CMBXdnn();
186 
191  virtual std::vector<WilsonCoefficient>& CMDLij(int li_lj);
192 
197  virtual std::vector<WilsonCoefficient>& CMDLi3j(int li_lj);
198 
203  virtual std::vector<WilsonCoefficient>& CMmueconv();
204 
209  virtual std::vector<WilsonCoefficient>& CMgminus2mu();
210 
211  double x_c(const double mu, const orders order = FULLNNLO) const;
212  double x_t(const double mu, const orders order = FULLNNLO) const;
213  double mt2omh2(const double mu, const orders order = FULLNNLO) const;
214 
221  double A0t(double x)const;
222 
229  double B0t(double x)const;
230 
237  double C0t(double x)const;
238 
245  double D0t(double x)const;
246 
253  double F0t(double x)const;
254 
261  double E0t(double x)const;
262 
270  double A1t(double x, double mu) const;
271 
279  double B1t(double x, double mu)const;
280 
288  double C1t(double x, double mu)const;
289 
297  double D1t(double x, double mu)const;
298 
306  double F1t(double x, double mu) const;
307 
315  double E1t(double x, double mu) const;
316 
324  double G1t(double x, double mu) const;
325 
333  double Tt(double x) const;
334 
342  double Wt(double x) const;
343 
351  double Eet(double x) const;
352 
360  double Rest(double x, double mu) const;
361 
367  double Y0(double x)const;
368 
375  double Y1(double x, double mu)const;
376 
383  double C7LOeff(double x)const;
384 
391  double C7NLOeff(double x)const;
392 
399  double C8LOeff(double x)const;
400 
407  double C8NLOeff(double x)const;
408 
415  double B0b(double x)const;
416 
423  double C0b(double x)const;
424 
431  double D0b(double x)const;
432 
439  double E0b(double x)const;
440 
446  gslpp::complex S0c() const;
447 
453  gslpp::complex S0ct() const;
454 
460  gslpp::complex S0tt() const;
461 
468  double X0t(double x)const;
469 
476  double X1t(double x)const;
477 
487  double Xewt(double x, double a, double mu)const;
488 
495  double S1(double x) const;
496 
497  double S0(double, double) const;
498 
499 
500 protected:
501  std::vector<WilsonCoefficient> vmcdb, vmcds, vmcd2, vmck2, vmck, vmckcc;
502  std::vector<WilsonCoefficient> vmcbsg, vmcprimebsg, vmcBMll, vmcprimeBMll, vmcbnlep, vmcbnlepCC, vmcd1, vmcd1Buras;
503  std::vector<WilsonCoefficient> vmckpnn, vmckmm, vmcbsnn, vmcbdnn, vmcbsmm, vmcbdmm, vmcbtaunu;
504  std::vector<WilsonCoefficient> vmcDLij, vmcDLi3j, vmcmueconv, vmcgminus2mu;
505 
506 private:
507 
508  const StandardModel & SM;
509  double S0(double) const;
510  double S0p(double x) const;
511  double S11(double x) const;
512  double S18(double x) const;
517 
518  double Mut;
519  double Muw;
520  double Ale;
521  double GF;
522  double Mw_tree;
523  double Nc;
524  double CF;
525  double gamma0;
526  double J5;
527  double BtNDR;
528  double Mw;
529  double sW2;
530  double mu_b;
531  //double MM;
534  double L;
535 
543  double setWCBsmm(int i, double x, orders order);
544 
552  double setWCBsmmEW(int i, double x, orders_ew order_ew);
553 
561  double setWCBdmm(int i, double x, orders order);
562 
570  double setWCBdmmEW(int i, double x, orders_ew order_ew);
571 
579  double setWCbsg (int i, double x, orders order);
580 
588  double setWCBMll (int i, double x, orders order);
589 
597  double setWCbnlep (int i, double x, orders order);
598 
605  double setWCbnlepEW (int i, double x);
606 
612  double phi1(double z) const;
613 
620  double phi2 (double x, double y) const;
621 
624  double CWBMllArrayLO[19], CWBMllArrayNLO[19];
625  double CWD1ArrayLO[10], CWD1ArrayNLO[10];
628 
631 
634 
635  double sw, swa, swb, swc, swd, swe, swf; //sen(theta_W) tree level
636  double xcachea, xcacheb, xcachec, xcached, xcachee, xcachef; // caching
637 
638 
639 };
640 
641 #endif /* STANDARDMODELMATCHING_H */
642 
double C7LOeff(double x) const
loop function which appear in the Wilson coefficient for the magnetic operator in the effective Misia...
double B1t(double x, double mu) const
loop function which appear in the Wilson coefficient for the semileptonic operator in the non-effecti...
std::vector< WilsonCoefficient > vmcd2
virtual std::vector< WilsonCoefficient > & CMbsmm()
double Eet(double x) const
loop function which appear in the Wilson coefficient in the non-effective Misiak basis, Misiak and Urban hep-ph/0512066
virtual std::vector< WilsonCoefficient > & CMDLi3j(int li_lj)
double D1t(double x, double mu) const
loop function which appear in the Wilson coefficient for the magnetic operator in the non-effective M...
std::vector< WilsonCoefficient > vmck2
double setWCBdmmEW(int i, double x, orders_ew order_ew)
double C7NLOeff(double x) const
loop function which appear in the Wilson coefficient for the magnetic operator in the effective Misia...
double E0b(double x) const
loop functions for non-leptonic B decays, Buiras Basis Buras et al, hep-ph/9512380v1 ...
A class for the Wilson coefficients.
gslpp::complex S0ct() const
hep-ph/9512380
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
std::vector< WilsonCoefficient > vmcbnlep
double Tt(double x) const
loop function which appear in the Wilson coefficient in the non-effective Misiak basis, Misiak and Urban hep-ph/9910220
virtual std::vector< WilsonCoefficient > & CMbtaunu()
double S1(double x) const
double C1t(double x, double mu) const
loop function which appear in the Wilson coefficient for the magnetic operator in the non-effective M...
double mt2omh2(const double mu, const orders order=FULLNNLO) const
double S18(double x) const
double setWCBsmm(int i, double x, orders order)
double Wt(double x) const
loop function which appear in the Wilson coefficient in the non-effective Misiak basis, Misiak and Urban hep-ph/0512066
double B0t(double x) const
loop function which appear in the Wilson coefficient for the semileptonic operator in the non-effecti...
virtual std::vector< WilsonCoefficient > & CMmueconv()
virtual std::vector< WilsonCoefficient > & CMKCC()
operator basis:
std::vector< WilsonCoefficient > vmcgminus2mu
virtual std::vector< WilsonCoefficient > & CMdbd2()
,
double B0b(double x) const
loop functions for non-leptonic B decays, Buiras Basis Buras et al, hep-ph/9512380v1 ...
std::vector< WilsonCoefficient > vmcprimeBMll
std::vector< WilsonCoefficient > vmcbsg
double G1t(double x, double mu) const
loop function which appear in the Wilson coefficient in the non-effective Misiak basis, Misiak and Urban hep-ph/9910220
std::vector< WilsonCoefficient > vmcbnlepCC
double S0p(double x) const
double Y0(double x) const
A model class for the Standard Model.
double X0t(double x) const
hep-ph/9512380v1
std::vector< WilsonCoefficient > vmckpnn
A class for a template of model matching.
Definition: ModelMatching.h:22
double C0b(double x) const
loop functions for non-leptonic B decays, Buiras Basis Buras et al, hep-ph/9512380v1 ...
A class for the matching in the Standard Model.
double A0t(double x) const
loop function which appear in the Wilson coefficient for the magnetic operator in the non-effective M...
virtual std::vector< WilsonCoefficient > & CMBXsnn()
std::vector< WilsonCoefficient > vmcbsnn
virtual std::vector< WilsonCoefficient > & CMprimebsg()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic ...
orders_ew
An enum type for orders in electroweak.
Definition: OrderScheme.h:45
std::vector< WilsonCoefficient > vmcbdnn
virtual std::vector< WilsonCoefficient > & CMd1()
current-current oerators, Misiak basis
WilsonCoefficient mcprimeBMll
virtual std::vector< WilsonCoefficient > & CMkmm()
gslpp::complex S0tt() const
hep-ph/9512380v1
std::vector< WilsonCoefficient > vmcmueconv
double phi2(double x, double y) const
void updateSMParameters()
Updates to new Standard Model parameter sets.
double x_c(const double mu, const orders order=FULLNNLO) const
virtual std::vector< WilsonCoefficient > & CMBMll()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic ...
std::vector< WilsonCoefficient > vmcdb
double setWCBMll(int i, double x, orders order)
double Xewt(double x, double a, double mu) const
hep-ph/1009.0947v2
virtual std::vector< WilsonCoefficient > & CMkpnn()
const StandardModel & SM
std::vector< WilsonCoefficient > vmcbdmm
double setWCbnlep(int i, double x, orders order)
double setWCbnlepEW(int i, double x)
std::vector< WilsonCoefficient > vmcprimebsg
double C8NLOeff(double x) const
loop function which appear in the Wilson coefficient for the chromomagnetic operator in the effective...
std::vector< WilsonCoefficient > vmck
WilsonCoefficient mcprimebsg
double phi1(double z) const
virtual std::vector< WilsonCoefficient > & CMbnlep(int a)
operator basis:
double C0t(double x) const
loop function which appear in the Wilson coefficient for the magnetic operator in the non-effective M...
gslpp::complex S0c() const
hep-ph/9512380
double setWCbsg(int i, double x, orders order)
virtual std::vector< WilsonCoefficient > & CMbsg()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic ...
virtual std::vector< WilsonCoefficient > & CMgminus2mu()
double F1t(double x, double mu) const
loop function which appear in the Wilson coefficient for the semileptonic operator in the non-effecti...
virtual std::vector< WilsonCoefficient > & CMdbs2()
,
double E1t(double x, double mu) const
loop function which appear in the Wilson coefficient in the non-effective Misiak basis, Misiak and Urban hep-ph/9910220
gslpp::matrix< gslpp::complex > Vckm
std::vector< WilsonCoefficient > vmcbsmm
virtual std::vector< WilsonCoefficient > & CMbnlepCC(int a)
operator basis: - current current opertors
std::vector< WilsonCoefficient > vmcds
StandardModelMatching(const StandardModel &SM_i)
virtual std::vector< WilsonCoefficient > & CMbdmm()
double D0t(double x) const
loop function which appear in the Wilson coefficient for the magnetic operator in the non-effective M...
std::vector< WilsonCoefficient > vmckmm
double setWCBdmm(int i, double x, orders order)
std::vector< WilsonCoefficient > vmcd1
double C8LOeff(double x) const
loop function which appear in the Wilson coefficient for the chromomagnetic operator in the effective...
std::vector< WilsonCoefficient > vmcDLij
virtual std::vector< WilsonCoefficient > & CMdk2()
std::vector< WilsonCoefficient > vmcbtaunu
double S0(double, double) const
double X1t(double x) const
hep-ph/1009.0947v2
std::vector< WilsonCoefficient > vmcd1Buras
double setWCBsmmEW(int i, double x, orders_ew order_ew)
virtual std::vector< WilsonCoefficient > & CMBXdnn()
double Rest(double x, double mu) const
approximation of two-loops EW correction for Q_10 operator in the non-effective Misiak basis...
std::vector< WilsonCoefficient > vmcDLi3j
std::vector< WilsonCoefficient > vmckcc
double Y1(double x, double mu) const
double F0t(double x) const
loop function which appear in the Wilson coefficient for the chromomagnetic operator in the non-effec...
double x_t(const double mu, const orders order=FULLNNLO) const
double S11(double x) const
double E0t(double x) const
loop function which appear in the Wilson coefficient for the chromomagnetic operator in the Misiak ba...
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double A1t(double x, double mu) const
loop function which appear in the Wilson coefficient for the semileptonic operator in the non-effecti...
virtual std::vector< WilsonCoefficient > & CMdd2()
,
std::vector< WilsonCoefficient > vmcBMll
virtual std::vector< WilsonCoefficient > & CMd1Buras()
current-current oerators, Buras basis
virtual std::vector< WilsonCoefficient > & CMK()
operator basis:
double D0b(double x) const
loop functions for non-leptonic B decays, Buiras Basis Buras et al, hep-ph/9512380v1 ...
WilsonCoefficient mcgminus2mu
virtual std::vector< WilsonCoefficient > & CMprimeBMll()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic ...
virtual std::vector< WilsonCoefficient > & CMDLij(int li_lj)