Changeset View
Changeset View
Standalone View
Standalone View
src/EvtGenModels/EvtbTosllWilsCoeffNLO.cpp
Show All 39 Lines | |||||
// * = 1 PDG average value alpha_s(M_Z); * | // * = 1 PDG average value alpha_s(M_Z); * | ||||
// * = 2 PDG 1sigma maximal alpha_s(M_Z). * | // * = 2 PDG 1sigma maximal alpha_s(M_Z). * | ||||
// * * | // * * | ||||
// ************************************************************** | // ************************************************************** | ||||
double EvtbTosllWilsCoeffNLO::As( double mu, int Nf, int ias ) | double EvtbTosllWilsCoeffNLO::As( double mu, int Nf, int ias ) | ||||
{ | { | ||||
double as, ll; | double as, ll; | ||||
double b0, b1, b2; /* terms in the series of the beta-function */ | double b0, b1, b2; /* terms in the series of the beta-function */ | ||||
double alpha_strong[] = {0.1156, 0.1176, 0.1196}; /* at M_Z scale */ | double alpha_strong[] = { 0.1156, 0.1176, 0.1196 }; /* at M_Z scale */ | ||||
double MZ = 91.19; /* in GeV */ | double MZ = 91.19; /* in GeV */ | ||||
b0 = 11. - 2. * ( (double)Nf ) / 3.; | b0 = 11. - 2. * ( (double)Nf ) / 3.; | ||||
b1 = 51. - 19. * ( (double)Nf ) / 3.; | b1 = 51. - 19. * ( (double)Nf ) / 3.; | ||||
b2 = 2857. - 5033. * ( (double)Nf ) / 9. + | b2 = 2857. - 5033. * ( (double)Nf ) / 9. + | ||||
325. * pow( ( (double)Nf ), 2. ) / 27.; | 325. * pow( ( (double)Nf ), 2. ) / 27.; | ||||
// RG Equation solution | // RG Equation solution | ||||
alpha_strong[ias] = alpha_strong[ias] / ( 4.0 * EvtConst::pi ); | alpha_strong[ias] = alpha_strong[ias] / ( 4.0 * EvtConst::pi ); | ||||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | |||||
double EvtbTosllWilsCoeffNLO::C1( double mu, double Mw, int Nf, int ias ) | double EvtbTosllWilsCoeffNLO::C1( double mu, double Mw, int Nf, int ias ) | ||||
{ | { | ||||
double CC1; | double CC1; | ||||
double eta; | double eta; | ||||
double asW; /* the strong coupling constant at the scale Mw */ | double asW; /* the strong coupling constant at the scale Mw */ | ||||
double asmu; /* the strong coupling constant at the scale mu */ | double asmu; /* the strong coupling constant at the scale mu */ | ||||
int i; | int i; | ||||
double a[] = {14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | double a[] = { 14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | ||||
0.4086, -0.4230, -0.8994, 0.1456}; | 0.4086, -0.4230, -0.8994, 0.1456 }; | ||||
double k1[] = {0.0, 0.0, 0.5, -0.5, 0.0, 0.0, 0.0, 0.0}; | double k1[] = { 0.0, 0.0, 0.5, -0.5, 0.0, 0.0, 0.0, 0.0 }; | ||||
asW = As( Mw, Nf, ias ); | asW = As( Mw, Nf, ias ); | ||||
asmu = As( mu, Nf, ias ); | asmu = As( mu, Nf, ias ); | ||||
eta = asW / asmu; | eta = asW / asmu; | ||||
CC1 = 0.0; | CC1 = 0.0; | ||||
i = 0; | i = 0; | ||||
while ( i < 8 ) { | while ( i < 8 ) { | ||||
Show All 9 Lines | |||||
double EvtbTosllWilsCoeffNLO::C2( double mu, double Mw, int Nf, int ias ) | double EvtbTosllWilsCoeffNLO::C2( double mu, double Mw, int Nf, int ias ) | ||||
{ | { | ||||
double CC2; | double CC2; | ||||
double eta; | double eta; | ||||
double asW; /* the strong coupling constant at the scale Mw */ | double asW; /* the strong coupling constant at the scale Mw */ | ||||
double asmu; /* the strong coupling constant at the scale mu */ | double asmu; /* the strong coupling constant at the scale mu */ | ||||
int i; | int i; | ||||
double a[] = {14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | double a[] = { 14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | ||||
0.4086, -0.4230, -0.8994, 0.1456}; | 0.4086, -0.4230, -0.8994, 0.1456 }; | ||||
double k2[] = {0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0}; | double k2[] = { 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }; | ||||
asW = As( Mw, Nf, ias ); | asW = As( Mw, Nf, ias ); | ||||
asmu = As( mu, Nf, ias ); | asmu = As( mu, Nf, ias ); | ||||
eta = asW / asmu; | eta = asW / asmu; | ||||
CC2 = 0.0; | CC2 = 0.0; | ||||
i = 0; | i = 0; | ||||
while ( i < 8 ) { | while ( i < 8 ) { | ||||
Show All 9 Lines | |||||
double EvtbTosllWilsCoeffNLO::C3( double mu, double Mw, int Nf, int ias ) | double EvtbTosllWilsCoeffNLO::C3( double mu, double Mw, int Nf, int ias ) | ||||
{ | { | ||||
double CC3; | double CC3; | ||||
double eta; | double eta; | ||||
double asW; /* the strong coupling constant at the scale Mw */ | double asW; /* the strong coupling constant at the scale Mw */ | ||||
double asmu; /* the strong coupling constant at the scale mu */ | double asmu; /* the strong coupling constant at the scale mu */ | ||||
int i; | int i; | ||||
double a[] = {14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | double a[] = { 14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | ||||
0.4086, -0.4230, -0.8994, 0.1456}; | 0.4086, -0.4230, -0.8994, 0.1456 }; | ||||
double k3[] = {0.0, 0.0, -1.0 / 14.0, 1.0 / 6.0, | double k3[] = { 0.0, 0.0, -1.0 / 14.0, 1.0 / 6.0, | ||||
0.0510, -0.1403, -0.0113, 0.0054}; | 0.0510, -0.1403, -0.0113, 0.0054 }; | ||||
asW = As( Mw, Nf, ias ); | asW = As( Mw, Nf, ias ); | ||||
asmu = As( mu, Nf, ias ); | asmu = As( mu, Nf, ias ); | ||||
eta = asW / asmu; | eta = asW / asmu; | ||||
CC3 = 0.0; | CC3 = 0.0; | ||||
i = 0; | i = 0; | ||||
while ( i < 8 ) { | while ( i < 8 ) { | ||||
Show All 9 Lines | |||||
double EvtbTosllWilsCoeffNLO::C4( double mu, double Mw, int Nf, int ias ) | double EvtbTosllWilsCoeffNLO::C4( double mu, double Mw, int Nf, int ias ) | ||||
{ | { | ||||
double CC4; | double CC4; | ||||
double eta; | double eta; | ||||
double asW; /* the strong coupling constant at the scale Mw */ | double asW; /* the strong coupling constant at the scale Mw */ | ||||
double asmu; /* the strong coupling constant at the scale mu */ | double asmu; /* the strong coupling constant at the scale mu */ | ||||
int i; | int i; | ||||
double a[] = {14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | double a[] = { 14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | ||||
0.4086, -0.4230, -0.8994, 0.1456}; | 0.4086, -0.4230, -0.8994, 0.1456 }; | ||||
double k4[] = {0.0, 0.0, -1.0 / 14.0, -1.0 / 6.0, | double k4[] = { 0.0, 0.0, -1.0 / 14.0, -1.0 / 6.0, | ||||
0.0984, 0.1214, 0.0156, 0.0026}; | 0.0984, 0.1214, 0.0156, 0.0026 }; | ||||
asW = As( Mw, Nf, ias ); | asW = As( Mw, Nf, ias ); | ||||
asmu = As( mu, Nf, ias ); | asmu = As( mu, Nf, ias ); | ||||
eta = asW / asmu; | eta = asW / asmu; | ||||
CC4 = 0.0; | CC4 = 0.0; | ||||
i = 0; | i = 0; | ||||
while ( i < 8 ) { | while ( i < 8 ) { | ||||
Show All 9 Lines | |||||
double EvtbTosllWilsCoeffNLO::C5( double mu, double Mw, int Nf, int ias ) | double EvtbTosllWilsCoeffNLO::C5( double mu, double Mw, int Nf, int ias ) | ||||
{ | { | ||||
double CC5; | double CC5; | ||||
double eta; | double eta; | ||||
double asW; /* the strong coupling constant at the scale Mw */ | double asW; /* the strong coupling constant at the scale Mw */ | ||||
double asmu; /* the strong coupling constant at the scale mu */ | double asmu; /* the strong coupling constant at the scale mu */ | ||||
int i; | int i; | ||||
double a[] = {14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | double a[] = { 14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | ||||
0.4086, -0.4230, -0.8994, 0.1456}; | 0.4086, -0.4230, -0.8994, 0.1456 }; | ||||
double k5[] = {0.0, 0.0, 0.0, 0.0, -0.0397, 0.0117, -0.0025, 0.0304}; | double k5[] = { 0.0, 0.0, 0.0, 0.0, -0.0397, 0.0117, -0.0025, 0.0304 }; | ||||
asW = As( Mw, Nf, ias ); | asW = As( Mw, Nf, ias ); | ||||
asmu = As( mu, Nf, ias ); | asmu = As( mu, Nf, ias ); | ||||
eta = asW / asmu; | eta = asW / asmu; | ||||
CC5 = 0.0; | CC5 = 0.0; | ||||
i = 0; | i = 0; | ||||
while ( i < 8 ) { | while ( i < 8 ) { | ||||
Show All 9 Lines | |||||
double EvtbTosllWilsCoeffNLO::C6( double mu, double Mw, int Nf, int ias ) | double EvtbTosllWilsCoeffNLO::C6( double mu, double Mw, int Nf, int ias ) | ||||
{ | { | ||||
double CC6; | double CC6; | ||||
double eta; | double eta; | ||||
double asW; /* the strong coupling constant at the scale Mw */ | double asW; /* the strong coupling constant at the scale Mw */ | ||||
double asmu; /* the strong coupling constant at the scale mu */ | double asmu; /* the strong coupling constant at the scale mu */ | ||||
int i; | int i; | ||||
double a[] = {14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | double a[] = { 14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | ||||
0.4086, -0.4230, -0.8994, 0.1456}; | 0.4086, -0.4230, -0.8994, 0.1456 }; | ||||
double k6[] = {0.0, 0.0, 0.0, 0.0, 0.0335, 0.0239, -0.0462, -0.0112}; | double k6[] = { 0.0, 0.0, 0.0, 0.0, 0.0335, 0.0239, -0.0462, -0.0112 }; | ||||
asW = As( Mw, Nf, ias ); | asW = As( Mw, Nf, ias ); | ||||
asmu = As( mu, Nf, ias ); | asmu = As( mu, Nf, ias ); | ||||
eta = asW / asmu; | eta = asW / asmu; | ||||
CC6 = 0.0; | CC6 = 0.0; | ||||
i = 0; | i = 0; | ||||
while ( i < 8 ) { | while ( i < 8 ) { | ||||
▲ Show 20 Lines • Show All 105 Lines • ▼ Show 20 Lines | double EvtbTosllWilsCoeffNLO::C7gamma( double mu, double Mw, double mt, int Nf, | ||||
int ias ) | int ias ) | ||||
{ | { | ||||
double C7, C70, C80, sum; | double C7, C70, C80, sum; | ||||
double AA, FF; | double AA, FF; | ||||
double x, eta; | double x, eta; | ||||
double asW, asmu; | double asW, asmu; | ||||
int i; | int i; | ||||
double a[] = {14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | double a[] = { 14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | ||||
0.4086, -0.4230, -0.8994, 0.1456}; | 0.4086, -0.4230, -0.8994, 0.1456 }; | ||||
double h[] = {2.2996, -1.0880, -3.0 / 7.0, -1.0 / 14.0, | double h[] = { 2.2996, -1.0880, -3.0 / 7.0, -1.0 / 14.0, | ||||
-0.6494, -0.0380, -0.0186, -0.0057}; | -0.6494, -0.0380, -0.0186, -0.0057 }; | ||||
x = pow( mt / Mw, 2.0 ); | x = pow( mt / Mw, 2.0 ); | ||||
asW = As( Mw, Nf, ias ); | asW = As( Mw, Nf, ias ); | ||||
asmu = As( mu, Nf, ias ); | asmu = As( mu, Nf, ias ); | ||||
eta = asW / asmu; | eta = asW / asmu; | ||||
AA = A( x ); | AA = A( x ); | ||||
FF = F_Bur( x ); | FF = F_Bur( x ); | ||||
Show All 21 Lines | /* Coefficient P_E * | ||||
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186; * | * by A.J.Buras and M.Munz, Phys.Rev. D52, 186; * | ||||
* see formula (2.12). */ | * see formula (2.12). */ | ||||
double EvtbTosllWilsCoeffNLO::Pe( double eta ) | double EvtbTosllWilsCoeffNLO::Pe( double eta ) | ||||
{ | { | ||||
double sum; | double sum; | ||||
double Pee; | double Pee; | ||||
int i; | int i; | ||||
double a[] = {14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | double a[] = { 14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | ||||
0.4086, -0.4230, -0.8994, 0.1456}; | 0.4086, -0.4230, -0.8994, 0.1456 }; | ||||
double q[] = {0.0, 0.0, 0.0, 0.0, 0.0318, 0.0918, -0.2700, 0.0059}; | double q[] = { 0.0, 0.0, 0.0, 0.0, 0.0318, 0.0918, -0.2700, 0.0059 }; | ||||
sum = 0.0; | sum = 0.0; | ||||
i = 0; | i = 0; | ||||
while ( i < 8 ) { | while ( i < 8 ) { | ||||
sum = sum + q[i] * pow( eta, ( a[i] + 1.0 ) ); | sum = sum + q[i] * pow( eta, ( a[i] + 1.0 ) ); | ||||
i++; | i++; | ||||
}; | }; | ||||
Pee = 0.1405 + sum; | Pee = 0.1405 + sum; | ||||
return Pee; | return Pee; | ||||
} | } | ||||
/* Coefficient P^{NDR}_0 * | /* Coefficient P^{NDR}_0 * | ||||
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186; * | * by A.J.Buras and M.Munz, Phys.Rev. D52, 186; * | ||||
* see formula (2.11). */ | * see formula (2.11). */ | ||||
double EvtbTosllWilsCoeffNLO::P0ndr( double asW, double eta ) | double EvtbTosllWilsCoeffNLO::P0ndr( double asW, double eta ) | ||||
{ | { | ||||
double P00ndr; | double P00ndr; | ||||
double sum; | double sum; | ||||
int i; | int i; | ||||
double a[] = {14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | double a[] = { 14.0 / 23.0, 16.0 / 23.0, 6.0 / 23.0, -12.0 / 23.0, | ||||
0.4086, -0.4230, -0.8994, 0.1456}; | 0.4086, -0.4230, -0.8994, 0.1456 }; | ||||
double p[] = {0.0, 0.0, -80.0 / 203.0, 8.0 / 33.0, | double p[] = { 0.0, 0.0, -80.0 / 203.0, 8.0 / 33.0, | ||||
0.0433, 0.1384, 0.1648, -0.0073}; | 0.0433, 0.1384, 0.1648, -0.0073 }; | ||||
double r[] = {0.0, 0.0, 0.8966, -0.1960, -0.2011, 0.1328, -0.0292, -0.1858}; | double r[] = { 0.0, 0.0, 0.8966, -0.1960, | ||||
double s[] = {0.0, 0.0, -0.2009, -0.3579, 0.0490, -0.3616, -0.3554, 0.0072}; | -0.2011, 0.1328, -0.0292, -0.1858 }; | ||||
double s[] = { 0.0, 0.0, -0.2009, -0.3579, | |||||
0.0490, -0.3616, -0.3554, 0.0072 }; | |||||
sum = 0.0; | sum = 0.0; | ||||
i = 0; | i = 0; | ||||
while ( i < 8 ) { | while ( i < 8 ) { | ||||
sum = sum + p[i] * pow( eta, ( a[i] + 1.0 ) ); | sum = sum + p[i] * pow( eta, ( a[i] + 1.0 ) ); | ||||
i++; | i++; | ||||
}; | }; | ||||
P00ndr = EvtConst::pi * ( -0.1875 + sum ) / asW; | P00ndr = EvtConst::pi * ( -0.1875 + sum ) / asW; | ||||
▲ Show 20 Lines • Show All 801 Lines • Show Last 20 Lines |