master
|
a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models
|
|
A class for the \(B \to X_q l^+ l^-\) decay.
More...
#include <BXqll.h>
A class for the \(B \to X_q l^+ l^-\) decay.
- Author
- HEPfit Collaboration
- Copyright
- GNU General Public License
This class is used to compute all the functions needed in order to build the observables relative to the \(B \to X_q l^+ l^-\) decays, where \(X_q\) is an inclusive hadronic state containing a \(q\) quark. Formulae for the effective Hamiltonian are taken from Bobeth et al., hep-ph/9910220. Formulae for the matrix elements are taken from Greub et al., arXiv:0810.4077
Definition at line 35 of file BXqll.h.
|
| gslpp::complex | C9mod (double sh) |
| | The modified coefficient \({\tilde C}_9^{0,\mathrm{mod}}\) from [Asatryan:2002iy]. More...
|
| |
| double | CCH_multiplication (std::vector< gslpp::matrix< gslpp::complex > > &Hij) |
| | Auxiliary function that performs the multiplication of Wilson coefficients and matrix elements. More...
|
| |
| gslpp::complex | cij_A (unsigned int i, unsigned int j, double sh) |
| |
| gslpp::complex | cij_L (unsigned int i, unsigned int j, double sh, unsigned int ord) |
| |
| gslpp::complex | cij_T (unsigned int i, unsigned int j, double sh, unsigned int ord) |
| | \(\mathcal{O}(\Lambda_{QCD}^2/m_c^2)\) contributions \(c_{ij}^I\) as defined in [Huber:2015sra] More...
|
| |
| void | computeHij_A (double sh) |
| | Matrix of auxiliary functions \(H_{ij}^{A}\) from [Huber:2015sra]. More...
|
| |
| void | computeHij_L (double sh) |
| | Matrix of auxiliary functions \(H_{ij}^{L}\) from [Huber:2015sra]. More...
|
| |
| void | computeHij_T (double sh) |
| | Matrix of auxiliary functions \(H_{ij}^{T}\) from [Huber:2015sra]. More...
|
| |
| void | computeMi (double sh) |
| | Vectors of auxiliary functions \(M_i^{7,9,10}sh)\) from Table 6 of [142]. More...
|
| |
| double | DeltaF_19im (double muh, double z, double sh, int maxpow=20) |
| |
| double | DeltaF_19re (double muh, double z, double sh, int maxpow=20) |
| |
| double | DeltaF_29im (double muh, double z, double sh, int maxpow=20) |
| |
| double | DeltaF_29re (double muh, double z, double sh, int maxpow=20) |
| |
| gslpp::complex | eij_A (unsigned int i, unsigned int j, double sh) |
| |
| gslpp::complex | eij_L (unsigned int i, unsigned int j, double sh) |
| |
| gslpp::complex | eij_T (unsigned int i, unsigned int j, double sh) |
| | Log-enhanced electromagnetic corrections \(e_{ij}^I\) as defined in [Huber:2015sra]. More...
|
| |
| gslpp::complex | F17 (double sh) |
| | The correction \( F_{17} \) from [Greub:2008cy]. More...
|
| |
| gslpp::complex | F19 (double sh) |
| | The correction \( F_{19} \) from [Greub:2008cy]. More...
|
| |
| gslpp::complex | F27 (double sh) |
| | The correction \( F_{27} \) from [Greub:2008cy]. More...
|
| |
| gslpp::complex | F29 (double sh) |
| | The correction \( F_{29} \) from [Greub:2008cy]. More...
|
| |
| gslpp::complex | F87 (double sh) |
| | The correction \( F_{87} \) from [Greub:2008cy]. More...
|
| |
| double | F89 (double sh) |
| | The correction \( F_{89} \) from [20]. More...
|
| |
| gslpp::complex | f9pen_Huber (double sh) |
| | Auxiliary function \(f_{9}^{pen}\) from [142]. More...
|
| |
| double | F_17im (double muh, double z, double sh, int maxpow=20) |
| |
| double | F_17re (double muh, double z, double sh, int maxpow=20) |
| |
| double | F_19im (double muh, double z, double sh, int maxpow=20) |
| |
| double | F_19re (double muh, double z, double sh, int maxpow=20) |
| |
| double | F_27im (double muh, double z, double sh, int maxpow=20) |
| |
| double | F_27re (double muh, double z, double sh, int maxpow=20) |
| |
| double | F_29im (double muh, double z, double sh, int maxpow=20) |
| |
| double | F_29re (double muh, double z, double sh, int maxpow=20) |
| |
| gslpp::complex | F_BIR (double r) |
| | Auxiliary function \(F(r)\) from [Buchalla:1997ky]. More...
|
| |
| gslpp::complex | f_Huber (double sh, double gamma_9, double rho_c, double rho_b, double rho_0, double rho_num) |
| | Auxiliary function \(f_{i}\) from [142]. More...
|
| |
| double | FULLCCH_multiplication (std::vector< gslpp::matrix< gslpp::complex > > &Hij) |
| | Auxiliary function that performs the multiplication of Wilson coefficients and matrix elements. More...
|
| |
| gslpp::complex | g_Huber (double y) |
| | Auxiliary function \(g(y)\) from [142]. More...
|
| |
| double | H_A (double sh) |
| | Angular observable \(H_A\) as defined in [Huber:2015sra]. More...
|
| |
| double | H_L (double sh) |
| | Angular observable \(H_L\) as defined in [Huber:2015sra]. More...
|
| |
| double | H_T (double sh) |
| | Angular observable \(H_T\) as defined in [Huber:2015sra]. More...
|
| |
| gslpp::complex | h_z (double zed, double sh) |
| | Auxiliary function \(h(z,sh)\) from [Asatrian:2001zw]. More...
|
| |
| unsigned int | int_qed (orders_qed order_qed) |
| | Auxiliary function that matches orders_qed to an integer. More...
|
| |
| gslpp::complex | KS_aux (double sh, double m, double Gamma, double Br_ll, double Br_had) |
| | Auxiliary function for the Kruger-Sehgal charm contributions. More...
|
| |
| gslpp::complex | KS_cc (double sh) |
| | Kruger-Sehgal factorizable non-perturbative charm contributions following [Huber:2007vv]. More...
|
| |
| gslpp::complex | omega210em_A (double sh) |
| |
| double | omega22em_L (double sh) |
| |
| double | omega22em_T (double sh) |
| |
| gslpp::complex | omega27em_L (double sh) |
| |
| gslpp::complex | omega27em_T (double sh) |
| |
| gslpp::complex | omega29em_L (double sh) |
| |
| gslpp::complex | omega29em_T (double sh) |
| |
| double | omega710_A (double sh) |
| | Auxiliary functions \(omega_{NM}^A\) from [Huber:2015sra]. More...
|
| |
| double | omega710em_A (double sh) |
| | Auxiliary functions \(omega_{NM}^A\) from [Huber:2015sra]. More...
|
| |
| double | omega77_L (double sh) |
| | Auxiliary functions \(omega_{NM}^L\) from [Huber:2015sra]. More...
|
| |
| double | omega77_T (double sh) |
| | Auxiliary functions \(omega_{NM}^T\) from [Huber:2015sra]. More...
|
| |
| double | omega77em_L (double sh) |
| | Auxiliary functions \(omega_{NM,L}^{(em)}\) from [Huber:2015sra]. More...
|
| |
| double | omega77em_T (double sh) |
| | Auxiliary functions \(omega_{NM,T}^{(em)}\) from [Huber:2015sra]. More...
|
| |
| double | omega79_L (double sh) |
| |
| double | omega79_T (double sh) |
| |
| double | omega79em_L (double sh) |
| |
| double | omega79em_T (double sh) |
| |
| double | omega910_A (double sh) |
| |
| double | omega910em_A (double sh) |
| |
| double | omega99_L (double sh) |
| |
| double | omega99_T (double sh) |
| |
| double | omega99em_L (double sh) |
| |
| double | omega99em_T (double sh) |
| |
| double | Phi_brems (double sh) |
| | The finite bremsstrahlung corrections to dGamma/ds for \(B \to X_q l^+ l^-\) from [Asatryan:2002iy]. More...
|
| |
| double | Phi_u (orders ord) |
| | Normalization function for \(B\to X_s\ell\ell\) from eq. (4.8) of 1503.04849. More...
|
| |
| double | Phi_u (orders_qed ord_qed) |
| |
| double | Phi_u_inv (unsigned int ord_qcd, unsigned int ord_qed) |
| | Inverse of the normalization function for \(B\to X_s\ell\ell\) from eq. (4.8) of 1503.04849. More...
|
| |
| double | S1010_L (double sh, orders order) |
| |
| double | S1010_T (double sh, orders order) |
| |
| double | S710_A (double sh, orders order) |
| | Auxiliary functions \(S_{NM}^A\) from [Huber:2015sra]. More...
|
| |
| double | S77_L (double sh, orders order) |
| | Auxiliary functions \(S_{NM}^L\) from [Huber:2015sra]. More...
|
| |
| double | S77_T (double sh, orders order) |
| | Auxiliary functions \(S_{NM}^T\) from [Huber:2015sra]. More...
|
| |
| double | S79_L (double sh, orders order) |
| |
| double | S79_T (double sh, orders order) |
| |
| double | S910_A (double sh, orders order) |
| |
| double | S99_L (double sh, orders order) |
| |
| double | S99_T (double sh, orders order) |
| |
| double | tau22fit (double sh) |
| | The fit of the finite bremsstrahlung correction \(tau_{22}(\hat s)\) from [Asatryan:2002iy]. More...
|
| |
| double | tau27fit_Im (double sh) |
| | The fit of the imaginary part of finite bremsstrahlung correction \(tau_{27}(\hat s)\) from [Asatryan:2002iy]. More...
|
| |
| double | tau27fit_Re (double sh) |
| | The fit of the real part of finite bremsstrahlung correction \(tau_{27}(\hat s)\) from [Asatryan:2002iy]. More...
|
| |
| double | tau28fit_Im (double sh) |
| | The fit of the imaginary part of finite bremsstrahlung correction \(tau_{28}(\hat s)\) from [Asatryan:2002iy]. More...
|
| |
| double | tau28fit_Re (double sh) |
| | The fit of the real part of finite bremsstrahlung correction \(tau_{28}(\hat s)\) from [Asatryan:2002iy]. More...
|
| |
| double | tau29fit_Im (double sh) |
| | The fit of the imaginary part of finite bremsstrahlung correction \(tau_{29}(\hat s)\) from [Asatryan:2002iy]. More...
|
| |
| double | tau29fit_Re (double sh) |
| | The fit of the real part of finite bremsstrahlung correction \(tau_{29}(\hat s)\) from [Asatryan:2002iy]. More...
|
| |
| double | tau78 (double sh) |
| | The finite bremsstrahlung correction \(tau_{78}(\hat s)\) from [Asatryan:2002iy]. More...
|
| |
| double | tau88 (double sh) |
| | The finite bremsstrahlung correction \(tau_{88}(\hat s)\) from [Asatryan:2002iy]. More...
|
| |
| double | tau89 (double sh) |
| | The finite bremsstrahlung correction \(tau_{89}(\hat s)\) from [Asatryan:2002iy]. More...
|
| |
| void | Test_WC_DF1 () |
| | Temporary method to test Wilson coefficients with C10_OS1 matching and HeffDF1 evolution. More...
|
| |
| void | updateParameters () |
| | The update parameter method for BXqll. More...
|
| |
◆ BXqll()
Constructor.
- Parameters
-
| [in] | SM_i | a reference to an object of type StandardModel |
| [in] | quark_i | quark defining the inclusive final hadronic state \(X_q\) of the decay |
| [in] | lep_i | final leptons of the decay |
Definition at line 19 of file BXqll.cpp.
24 w_H = gsl_integration_cquad_workspace_alloc(100);
26 phi1 = 50./3. - 8. * MPI2 / 3.;
30 - 104480. / 729. * MPI2 + 1571095. / 1458. - 848. / 27. * MPI2 *
log(2.);
◆ ~BXqll()
◆ C9mod()
The modified coefficient \({\tilde C}_9^{0,\mathrm{mod}}\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \({\tilde C}_9^{0,\mathrm{mod}}\)
Definition at line 2114 of file BXqll.cpp.
2122 32./27. *
WC(3,
LO) - 112./9. *
WC(4,
LO) + 512./27. *
WC(5,
LO);
2125 A9 += 4./3. *
WC(2,
LO) + 64./9. *
WC(4,
LO) + 64./27. *
WC(5,
LO);
◆ CCH_multiplication()
Auxiliary function that performs the multiplication of Wilson coefficients and matrix elements.
- Parameters
-
| [in] | Hij | matrix element related to the one of the angular observables of \(B\to X_s\ell\ell\) |
Definition at line 1640 of file BXqll.cpp.
1643 double Phi_ll_u = 0.;
1647 for(
unsigned int j = 0; j < 15; j++)
1648 for(
unsigned int i = 0; i <= j; i++)
1649 for(
unsigned int qcd_u =
QCD0; qcd_u <=
QCD2; qcd_u++)
1650 for(
unsigned int qed_u =
QED0; qed_u <=
QED1; qed_u++)
1651 for(
unsigned int qcd_a =
QCD0; qcd_a <=
QCD2; qcd_a++)
1652 for(
unsigned int qed_a =
QED0; qed_a <=
QED2; qed_a++)
1653 for(
unsigned int qcd_b =
QCD0; qcd_b <=
QCD2; qcd_b++)
1654 for(
unsigned int qed_b =
QED0; qed_b <=
QED2; qed_b++)
1656 for(
unsigned int qcd_c =
QCD0; qcd_c <=
QCD2; qcd_c++)
1657 for(
unsigned int qed_c =
QED0; qed_c <=
QED2; qed_c++)
1659 if (qcd_a + qcd_b + qcd_c + qcd_u <=
QCD_max && qed_a + qed_b + qed_c + qed_u <=
QED_max)
1660 Phi_ll_u += (
WC(i, qcd_a + 3*qed_a).conjugate() *
WC(j, qcd_b + 3*qed_b) *
1661 Hij[qcd_c + 3*qed_c](i,j) ).real() *
Phi_u_inv(qcd_u, qed_u);
1664 if (qcd_a + qcd_b + 3 + qcd_u <=
QCD_max && qed_a + qed_b + 2 + qed_u <=
QED_max)
1665 Phi_ll_u += (
WC(i, qcd_a + 3*qed_a).conjugate() *
WC(j, qcd_b + 3*qed_b) *
◆ cij_A()
| gslpp::complex BXqll::cij_A |
( |
unsigned int |
i, |
|
|
unsigned int |
j, |
|
|
double |
sh |
|
) |
| |
|
private |
Definition at line 1097 of file BXqll.cpp.
1100 unsigned int ij = 100*(i + 1) + (j + 1);
1101 double umsh = 1. - sh, uptsh = 1. + 3.*sh;
◆ cij_L()
| gslpp::complex BXqll::cij_L |
( |
unsigned int |
i, |
|
|
unsigned int |
j, |
|
|
double |
sh, |
|
|
unsigned int |
ord |
|
) |
| |
|
private |
Definition at line 1059 of file BXqll.cpp.
1062 double umsh = 1. - sh, tmsh = 3. - sh;
1074 if (i == 0 && j == 1) {
1081 if (i == 0 && j == 1) {
1087 throw std::runtime_error(
"BXqll::cij_L: order not implemented");
1090 if ((i == 1 && j >= i) || 10*(i+1) + j+1 == 12)
1091 return (-
pre * umsh * umsh * tmsh * F_M7_M9);
1093 return (
pre / 6. * umsh * umsh * tmsh * F_M7_M9);
◆ cij_T()
| gslpp::complex BXqll::cij_T |
( |
unsigned int |
i, |
|
|
unsigned int |
j, |
|
|
double |
sh, |
|
|
unsigned int |
ord |
|
) |
| |
|
private |
\(\mathcal{O}(\Lambda_{QCD}^2/m_c^2)\) contributions \(c_{ij}^I\) as defined in [Huber:2015sra]
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
| [in] | i,j | indices in eq. (4.10) in [Huber:2015sra] |
| [in] | ord | possible QCD,QED orders: 11, 22, 32 |
Definition at line 1021 of file BXqll.cpp.
1024 double umsh = 1. - sh, uptsh = 1. + 3.*sh;
1036 if (i == 0 && j == 1) {
1043 if (i == 0 && j == 1) {
1049 throw std::runtime_error(
"BXqll::cij_T: order not implemented");
1052 if ((i == 1 && j >= i) || 10*(i+1) + j+1 == 12)
1053 return (-
pre * umsh * umsh * uptsh * F_M7_M9);
1055 return (
pre / 6. * umsh * umsh * uptsh * F_M7_M9);
◆ computeHij_A()
| void BXqll::computeHij_A |
( |
double |
sh | ) |
|
|
private |
Matrix of auxiliary functions \(H_{ij}^{A}\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 680 of file BXqll.cpp.
689 for (
unsigned int j = 0; j < 15; j++)
691 for (
unsigned int i = 0; i <= j; i++)
698 Hij_A.push_back(Hij);
704 for (
unsigned int j = 0; j < 15; j++)
706 for (
unsigned int i = 0; i <= j; i++)
713 Hij_A.push_back(Hij);
719 for (
unsigned int j = 0; j < 15; j++)
721 for (
unsigned int i = 0; i <= j; i++)
728 Hij_A.push_back(Hij);
733 Hij_A.push_back(Hij);
737 for (
unsigned int j = 0; j < 15; j++)
739 for (
unsigned int i = 0; i <= j; i++)
748 Hij_A.push_back(Hij);
754 for (
unsigned int j = 0; j < 15; j++)
756 for (
unsigned int i = 0; i <= j; i++)
769 Hij_A.push_back(Hij);
774 Hij_A.push_back(Hij);
775 Hij_A.push_back(Hij);
776 Hij_A.push_back(Hij);
778 Hij_A.push_back(Hij);
◆ computeHij_L()
| void BXqll::computeHij_L |
( |
double |
sh | ) |
|
|
private |
Matrix of auxiliary functions \(H_{ij}^{L}\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 520 of file BXqll.cpp.
529 for (
unsigned int j = 0; j < 15; j++)
531 for (
unsigned int i = 0; i <= j; i++)
544 Hij_L.push_back(Hij);
550 for (
unsigned int j = 0; j < 15; j++)
552 for (
unsigned int i = 0; i <= j; i++)
565 Hij_L.push_back(Hij);
571 for (
unsigned int j = 0; j < 15; j++)
573 for (
unsigned int i = 0; i <= j; i++)
586 Hij_L.push_back(Hij);
591 Hij_L.push_back(Hij);
595 for (
unsigned int j = 0; j < 15; j++)
597 for (
unsigned int i = 0; i <= j; i++)
613 Hij_L.push_back(Hij);
619 for (
unsigned int j = 0; j < 15; j++)
621 for (
unsigned int i = 0; i <= j; i++)
645 Hij_L.push_back(Hij);
650 Hij_L.push_back(Hij);
651 Hij_L.push_back(Hij);
655 for (
unsigned int j = 0; j < 15; j++)
657 for (
unsigned int i = 0; i <= j; i++)
674 Hij_L.push_back(Hij);
678 Hij_L.push_back(Hij);
◆ computeHij_T()
| void BXqll::computeHij_T |
( |
double |
sh | ) |
|
|
private |
Matrix of auxiliary functions \(H_{ij}^{T}\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 360 of file BXqll.cpp.
369 for (
unsigned int j = 0; j < 15; j++)
371 for (
unsigned int i = 0; i <= j; i++)
384 Hij_T.push_back(Hij);
390 for (
unsigned int j = 0; j < 15; j++)
392 for (
unsigned int i = 0; i <= j; i++)
405 Hij_T.push_back(Hij);
411 for (
unsigned int j = 0; j < 15; j++)
413 for (
unsigned int i = 0; i <= j; i++)
426 Hij_T.push_back(Hij);
431 Hij_T.push_back(Hij);
435 for (
unsigned int j = 0; j < 15; j++)
437 for (
unsigned int i = 0; i <= j; i++)
453 Hij_T.push_back(Hij);
459 for (
unsigned int j = 0; j < 15; j++)
461 for (
unsigned int i = 0; i <= j; i++)
485 Hij_T.push_back(Hij);
490 Hij_T.push_back(Hij);
491 Hij_T.push_back(Hij);
495 for (
unsigned int j = 0; j < 15; j++)
497 for (
unsigned int i = 0; i <= j; i++)
514 Hij_T.push_back(Hij);
518 Hij_T.push_back(Hij);
◆ computeMi()
| void BXqll::computeMi |
( |
double |
sh | ) |
|
|
private |
Vectors of auxiliary functions \(M_i^{7,9,10}sh)\) from Table 6 of [142].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
| [in] | order | LO or NLO |
Definition at line 780 of file BXqll.cpp.
817 M9i.assign(0,
aletilde *
f_Huber(sh, -32./27., 4./3., 0., 0., -16./27.));
819 M9i.assign(2,
aletilde *
f_Huber(sh, -16./9., 6., -7./2., 2./9., 2./27.));
820 M9i.assign(3,
aletilde *
f_Huber(sh, 32./27., 0., -2./3., 8./27., 8./81.));
821 M9i.assign(4,
aletilde *
f_Huber(sh, -112./9., 60., -38., 32./9., -136./27.));
822 M9i.assign(5,
aletilde *
f_Huber(sh, 512./27., 0., -32./3., 128./27., 320./81.));
823 M9i.assign(10,
aletilde *
f_Huber(sh, -272./27., 4., 7./6., -74./27., 358./81.));
824 M9i.assign(11,
aletilde *
f_Huber(sh, -32./81., 0., 2./9., -8./81., -8./243.));
825 M9i.assign(12,
aletilde *
f_Huber(sh, -2768./27., 40., 38./3., -752./27., 1144./81.));
826 M9i.assign(13,
aletilde *
f_Huber(sh, -512./81., 0., 32./9., -128./81., -320./243.));
840 M_10.push_back(M10i);
845 M_10.push_back(M10i);
◆ DeltaF_19im()
| double BXqll::DeltaF_19im |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ DeltaF_19re()
| double BXqll::DeltaF_19re |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ DeltaF_29im()
| double BXqll::DeltaF_29im |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ DeltaF_29re()
| double BXqll::DeltaF_29re |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ eij_A()
| gslpp::complex BXqll::eij_A |
( |
unsigned int |
i, |
|
|
unsigned int |
j, |
|
|
double |
sh |
|
) |
| |
|
private |
Definition at line 1194 of file BXqll.cpp.
1198 double umsh = (1. - sh);
1199 double sigma710_A = -8.*umsh*umsh, sigma910_A = -4.*sh*umsh*umsh;
1202 ij = 100*(i + 1) + (j + 1);
1204 ij = 10*(i + 1) + (j + 1);
◆ eij_L()
| gslpp::complex BXqll::eij_L |
( |
unsigned int |
i, |
|
|
unsigned int |
j, |
|
|
double |
sh |
|
) |
| |
|
private |
Definition at line 1154 of file BXqll.cpp.
1158 double umsh = (1. - sh);
1159 double sigma77_L = 4.*umsh*umsh, sigma79_L = 4.*umsh*umsh, sigma99_L = umsh*umsh;
1162 ij = 100* (i + 1) + (j + 1);
1164 ij = 10*(i + 1) + (j + 1);
◆ eij_T()
| gslpp::complex BXqll::eij_T |
( |
unsigned int |
i, |
|
|
unsigned int |
j, |
|
|
double |
sh |
|
) |
| |
|
private |
Log-enhanced electromagnetic corrections \(e_{ij}^I\) as defined in [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
| [in] | i,j | indices in eq. (4.10) in [Huber:2015sra] |
Definition at line 1114 of file BXqll.cpp.
1118 double umsh = (1. - sh);
1119 double sigma77_T = 8.*umsh*umsh/sh, sigma79_T = 8.*umsh*umsh, sigma99_T = 2.*sh*umsh*umsh;
1122 ij = 100*(i + 1) + (j + 1);
1124 ij = 10*(i + 1) + (j + 1);
◆ F17()
The correction \( F_{17} \) from [Greub:2008cy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \( F_{17} \)
Definition at line 142 of file BXqll.cpp.
◆ F19()
The correction \( F_{19} \) from [Greub:2008cy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \( F_{19} \)
Definition at line 128 of file BXqll.cpp.
◆ F27()
The correction \( F_{27} \) from [Greub:2008cy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \( F_{27} \)
Definition at line 149 of file BXqll.cpp.
◆ F29()
The correction \( F_{29} \) from [Greub:2008cy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \( F_{29} \)
Definition at line 135 of file BXqll.cpp.
◆ F87()
The correction \( F_{87} \) from [Greub:2008cy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \( F_{87} \)
Definition at line 156 of file BXqll.cpp.
159 double ash = asin(
sqrt(sh)/2.);
162 return (4.*M_PI*M_PI/27.*(2.+sh)/umsh/umsh/umsh/umsh-4./9.*(11.-16.*sh+8.*sh*sh)/umsh/umsh-
163 8./9.*
sqrt(sh*(4.-sh))/umsh/umsh/umsh*(9.-5.*sh+2.*sh*sh)*ash-16./3.*(2+sh)/
164 umsh/umsh/umsh/umsh*ash*ash-8./9.*sh/umsh*
log(sh)-32./9.*
log(
muh)-i*8./9.*M_PI);
◆ F89()
| double BXqll::F89 |
( |
double |
sh | ) |
|
|
private |
The correction \( F_{89} \) from [20].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \( F_{89} \)
Definition at line 167 of file BXqll.cpp.
169 double ash = asin(
sqrt(sh)/2.);
172 return (-8.*M_PI*M_PI/27.*(4.-sh)/umsh/umsh/umsh/umsh+8./9.*(5.-2.*sh)/umsh/umsh+
173 16./9.*
sqrt((4.-sh)/sh)/umsh/umsh/umsh*(4.+3.*sh-sh*sh)*ash+32./3.*(4.-sh)/
174 umsh/umsh/umsh/umsh*ash*ash+16./9./umsh*
log(sh));
◆ f9pen_Huber()
Auxiliary function \(f_{9}^{pen}\) from [142].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 1499 of file BXqll.cpp.
1508 8./3. * (
log(sh) - i*M_PI) - 40./9.);
◆ F_17im()
| double BXqll::F_17im |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ F_17re()
| double BXqll::F_17re |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ F_19im()
| double BXqll::F_19im |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ F_19re()
| double BXqll::F_19re |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ F_27im()
| double BXqll::F_27im |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ F_27re()
| double BXqll::F_27re |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ F_29im()
| double BXqll::F_29im |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ F_29re()
| double BXqll::F_29re |
( |
double |
muh, |
|
|
double |
z, |
|
|
double |
sh, |
|
|
int |
maxpow = 20 |
|
) |
| |
|
private |
◆ F_BIR()
Auxiliary function \(F(r)\) from [Buchalla:1997ky].
- Parameters
-
| [in] | r | normalized dilepton invariant mass \(q^2/{4 m_c^2}\) |
Definition at line 1562 of file BXqll.cpp.
1567 if(r > 0. && r < 1.)
1568 return (1.5 / r * (atan(
sqrt(r / (1. - r))) /
sqrt(r - r*r) - 1.));
1570 return (1.5 / r * ((
log((1. -
sqrt(1. - 1./r)) / (1. +
sqrt(1. - 1./r))) + i * M_PI) /
1571 2. /
sqrt(r*r - r) - 1.));
1573 throw std::runtime_error(
"BXqll::F_BIR(): 1/mc^2 corrections diverge at q^2 = 4*mc^2");
◆ f_Huber()
| gslpp::complex BXqll::f_Huber |
( |
double |
sh, |
|
|
double |
gamma_9, |
|
|
double |
rho_c, |
|
|
double |
rho_b, |
|
|
double |
rho_0, |
|
|
double |
rho_num |
|
) |
| |
|
private |
Auxiliary function \(f_{i}\) from [142].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
| [in] | gamma_9 | anomalous dimension matrix \(gamma_{i9^{(01)}}\) |
| [in] | rho_c,b,0,num | numbers from Table 7 of [142] |
Definition at line 1487 of file BXqll.cpp.
1497 rho_b *
g_Huber(4./sh) + rho_0 * (
log(sh) - i*M_PI) + rho_num);
◆ FULLCCH_multiplication()
Auxiliary function that performs the multiplication of Wilson coefficients and matrix elements.
- Parameters
-
| [in] | Hij | matrix element related to the one of the angular observables of \(B\to X_s\ell\ell\) |
Definition at line 1671 of file BXqll.cpp.
1678 for(
unsigned int j = 0; j < 15; j++)
1683 for(
unsigned int i = 0; i <= j; i++)
1686 Hij[
LO](i,j) + Hij[
NLO](i,j) + Hij[
NNLO](i,j) +
1690 Phi_ll += (FULLWC(i) * FULLWC (j).conjugate() * FULLHij(i,j) ).real();
◆ g_Huber()
Auxiliary function \(g(y)\) from [142].
- Parameters
-
| [in] | y | fraction of z over sh |
Definition at line 1510 of file BXqll.cpp.
1516 g_y = -2./9.*(2.+y)*
sqrt(fabs(1.-y));
1518 g_y *=
log(fabs((1.+
sqrt(1.-y))/(1.-
sqrt(1.-y))))-i*M_PI;
1520 g_y *= 2.*atan(1./
sqrt(y-1.));
1522 g_y += 20./27. + 4./9.*y;
◆ getH()
| double BXqll::getH |
( |
std::string |
obs, |
|
|
double |
sh |
|
) |
| |
Method to obtain each observable \(H_I\) as defined in [Huber:2015sra].
- Parameters
-
| [in] | obs | the observable in question |
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 258 of file BXqll.cpp.
270 else if (obs ==
"TL")
274 throw std::runtime_error(
"BXqll::getH: Angular observable not implemented");
◆ getR_LOWQ2()
| double BXqll::getR_LOWQ2 |
( |
double |
sh | ) |
|
dGamma/ds for \(B \to X_q l^+ l^-\) in the low dilepton invariant mass region.
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 116 of file BXqll.cpp.
◆ H_A()
| double BXqll::H_A |
( |
double |
sh | ) |
|
|
private |
Angular observable \(H_A\) as defined in [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 340 of file BXqll.cpp.
358 return pre * Phi_ll_u;
◆ H_L()
| double BXqll::H_L |
( |
double |
sh | ) |
|
|
private |
Angular observable \(H_L\) as defined in [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 308 of file BXqll.cpp.
314 for(
unsigned int i = 0; i < 2; i++)
315 for(
unsigned int j = 0; j < 15; j++)
327 for (
unsigned int i = 0; i < 7; i++)
329 for (
unsigned int j = i; j < 7; j++)
338 return pre * Phi_ll_u;
◆ H_T()
| double BXqll::H_T |
( |
double |
sh | ) |
|
|
private |
Angular observable \(H_T\) as defined in [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 276 of file BXqll.cpp.
282 for(
unsigned int i = 0; i < 2; i++)
283 for(
unsigned int j = 0; j < 15; j++)
295 for (
unsigned int i = 0; i < 7; i++)
297 for (
unsigned int j = i; j < 7; j++)
306 return pre * Phi_ll_u;
◆ h_z()
Auxiliary function \(h(z,sh)\) from [Asatrian:2001zw].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
| [in] | z | \(m_c^2/m_b^2\) |
- Returns
- \(h(z,sh)\)
Definition at line 2128 of file BXqll.cpp.
2137 h_z = 8./27.-4./9.*(
log(sh)-i*M_PI);
2141 h_z = -2./9.*(2.+4./sh*zed)*
sqrt(std::abs(4.*zed-sh)/sh);
2145 h_z *= 2.*atan(
sqrt(sh/(4.*zed-sh)));
2147 h_z += -4./9.*
log(zed)+8./27.+16./9.*zed/sh;
◆ initializeBXqllParameters()
| std::vector< std::string > BXqll::initializeBXqllParameters |
( |
| ) |
|
A method for initializing the parameters necessary for BXqll.
- Returns
- the vector of BXqll specific parameters
Definition at line 39 of file BXqll.cpp.
◆ int_qed()
| unsigned int BXqll::int_qed |
( |
orders_qed |
order_qed | ) |
|
|
private |
Auxiliary function that matches orders_qed to an integer.
- Parameters
-
| [in] | ord_qed | order to be returned |
Definition at line 1634 of file BXqll.cpp.
◆ integrateH()
| double BXqll::integrateH |
( |
std::string |
obs, |
|
|
double |
q_min, |
|
|
double |
q_max |
|
) |
| |
The integral of each observable \(H_I\) as defined in [Huber:2015sra].
- Parameters
-
| [in] | obs | the observable in question |
| [in] | q_min | minimum \(q^2\) of the integral |
| [in] | q_max | maximum \(q^2\) of the integral |
Definition at line 241 of file BXqll.cpp.
252 if (gsl_integration_cquad(&
FH, sh_min, sh_max, 1.e-5, 1.e-4,
w_H, &
aveH, &
errH, NULL) != 0)
253 return std::numeric_limits<double>::quiet_NaN();
◆ KS_aux()
| gslpp::complex BXqll::KS_aux |
( |
double |
sh, |
|
|
double |
m, |
|
|
double |
Gamma, |
|
|
double |
Br_ll, |
|
|
double |
Br_had |
|
) |
| |
|
private |
Auxiliary function for the Kruger-Sehgal charm contributions.
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
| [in] | m | charmonium mass |
| [in] | Gamma | charmonium total decay width |
| [in] | Br_ll | branching fraction of the decay mode \(V \to l^+ l^-\) |
| [in] | Br_had | branching fraction of the decay mode \(V \to {\rm hadrons}\) |
Definition at line 1547 of file BXqll.cpp.
1551 double Gamma_had = Br_had * Gamma /
Mb_pole;
1554 double sqrtb =
sqrt(b);
1555 double amsh = a - sh;
1556 double am4z = a - 4. *
z;
1558 return (Br_ll * Gamma /
Mb_pole * Gamma_had * ((M_PI * amsh + 2. * amsh * atan(am4z / sqrtb) +
1559 sqrtb * (
log(b + am4z * am4z) - 2. *
log(4. *
z - sh))) /
1560 (2. * sqrtb * (b + amsh * amsh)) + i * M_PI / (amsh * amsh + b)));
◆ KS_cc()
Kruger-Sehgal factorizable non-perturbative charm contributions following [Huber:2007vv].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 1526 of file BXqll.cpp.
1535 kscc =
KS_aux(sh, 3.097, 0.088e-3, 6.0e-2, 0.877);
1536 kscc +=
KS_aux(sh, 3.686, 0.277e-3, 8.3e-3, 0.9785);
1543 kscc += (i * M_PI * 1.02 -
log(1. - sh / 4. /
z)) / 3.;
◆ omega210em_A()
Definition at line 1470 of file BXqll.cpp.
1473 double umsh = 1. - sh;
1475 double shma = sh - a;
1479 omega =
Lbl*((-351.322*sh*sh*sh*sh + 378.173*sh*sh*sh - 160.158*sh*sh + 24.2096*sh +
1480 0.305176)/24./sh/umsh/umsh) +
1483 omega +=
Lbl*i*(7.98625 + 238.507*shma - 766.869*shma*shma)*shma/24./sh/umsh/umsh;
◆ omega22em_L()
| double BXqll::omega22em_L |
( |
double |
sh | ) |
|
|
private |
Definition at line 1416 of file BXqll.cpp.
1419 double umsh = 1. - sh;
1422 return (
Lbl*((-1.71832 - 234.11*sh*sh*sh*sh + 162.126*sh*sh*sh - 37.2361*sh*sh +
1423 6.29949*sh - 0.00810233/sh)/umsh/umsh +
1424 Lmub*8.*(224.662*sh*sh*sh - 2.27221 - 298.369*sh*sh*sh*sh - 65.1375*sh*sh +
1425 11.5686*sh - 0.0233098/sh)/9./umsh/umsh) +
◆ omega22em_T()
| double BXqll::omega22em_T |
( |
double |
sh | ) |
|
|
private |
Definition at line 1354 of file BXqll.cpp.
1357 double umsh = 1. - sh;
1360 return (
Lbl*((2.84257 + 269.974*sh*sh*sh*sh - 194.443*sh*sh*sh + 48.4535*sh*sh -
1361 8.24929*sh + 0.0111118/sh)/2./sh/umsh/umsh +
1362 Lmub*4.*(4.54727 + 330.182*sh*sh*sh*sh - 258.194*sh*sh*sh + 79.8713*sh*sh -
1363 19.6855*sh + 0.0371348/sh)/9./sh/umsh/umsh) +
◆ omega27em_L()
Definition at line 1428 of file BXqll.cpp.
1431 double umsh = 1. - sh;
1435 return (
Lbl*((-8.01684 - 1121.13*sh*sh*sh*sh + 882.711*sh*sh*sh - 280.866*sh*sh +
1436 54.1943*sh - 0.128988/sh)/4./umsh/umsh +
1437 i*(-2.14058 - 588.771*sh*sh*sh*sh + 483.997*sh*sh*sh - 124.579*sh*sh +
1438 12.3282*sh + 0.0145059/sh)/4./umsh/umsh) +
◆ omega27em_T()
Definition at line 1366 of file BXqll.cpp.
1369 double umsh = 1. - sh;
1373 return (
Lbl*((21.5291 + 3044.94*sh*sh*sh*sh - 2563.05*sh*sh*sh + 874.074*sh*sh -
1374 175.874*sh + 0.121398/sh)/8./umsh/umsh +
1375 i*(2.49475 + 598.376*sh*sh*sh*sh - 456.831*sh*sh*sh + 117.683*sh*sh -
1376 9.90525*sh - 0.0116501/sh)/8./umsh/umsh) +
◆ omega29em_L()
Definition at line 1441 of file BXqll.cpp.
1444 double umsh = 1. - sh;
1448 return (
Lbl*((-2.27221 - 298.369*sh*sh*sh*sh + 224.662*sh*sh*sh - 65.1375*sh*sh +
1449 11.5686*sh - 0.0233098/sh)/umsh/umsh +
1450 i*(-0.666157 - 120.303*sh*sh*sh*sh + 109.315*sh*sh*sh - 28.2734*sh*sh +
1451 2.44527*sh + 0.00279781/sh)/umsh/umsh) +
◆ omega29em_T()
Definition at line 1379 of file BXqll.cpp.
1382 double umsh = 1. - sh;
1386 return (
Lbl*((4.54727 + 330.182*sh*sh*sh*sh - 258.194*sh*sh*sh + 79.8713*sh*sh -
1387 19.6855*sh + 0.0371348/sh)/2./sh/umsh/umsh +
1388 i*(73.9149*sh*sh*sh*sh - 61.1338*sh*sh*sh + 14.6517*sh*sh - 0.102331*sh +
1389 0.710037)/2./sh/umsh/umsh) +
◆ omega710_A()
| double BXqll::omega710_A |
( |
double |
sh | ) |
|
|
private |
Auxiliary functions \(omega_{NM}^A\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 1302 of file BXqll.cpp.
1305 double umsh = 1.-sh;
1306 double num = 3.*umsh*umsh;
1307 double umsqrt = 1.-
sqrt(sh);
1311 return (-4./3.*
log(
muh) + 2.*(4.*sh*sh-13.*sh-1.)*dilog_umsqrt/num - (2.*sh*sh-9.*sh-3.)*dilog_umsh/num -
1312 (3.*sh*sh-16.*sh+13.)*
log(umsqrt)/num + (4.*sh*sh-13.*sh-1.)*
log(umsqrt)*
log(sh)/num -
1313 (2.*sh*sh-9.*sh-3.)*
log(umsh)*
log(sh)/num + (sh*sh*sh-23.*sh*sh+23.*sh-1.)*
log(umsh)/2./num/sh +
1314 (sh-20.*
sqrt(sh)+5.)*umsqrt*umsqrt/2./num - M_PI*M_PI/3.);
◆ omega710em_A()
| double BXqll::omega710em_A |
( |
double |
sh | ) |
|
|
private |
Auxiliary functions \(omega_{NM}^A\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 1454 of file BXqll.cpp.
1457 double umsh = 1. - sh;
1459 return (
Lbl*((7. - 16.*
sqrt(sh) + 9.*sh)/4./umsh +
log(1. -
sqrt(sh)) +
1460 (1. + 3.*sh)/umsh*
log((1. +
sqrt(sh))/2.) - sh*
log(sh)/umsh));
◆ omega77_L()
| double BXqll::omega77_L |
( |
double |
sh | ) |
|
|
private |
Auxiliary functions \(omega_{NM}^L\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 1261 of file BXqll.cpp.
1264 double umsh = 1.-sh;
1265 double umsqrt = 1.-
sqrt(sh);
1270 dilog_umsh/3./umsh/umsh/
sqrt(sh) - (9.*sh*sh-38.*sh+29.)/6./umsh/umsh -
1271 4.*(sh*sh-6.*sh-3.)*dilog_umsqrt/3./umsh/umsh/
sqrt(sh) - M_PI*M_PI*
1272 (8.*
pow(sh,1.5)+13.*sh+2.*
sqrt(sh)+9.)*umsqrt*umsqrt/18./umsh/umsh/
sqrt(sh) - (sh*sh*sh-3.*sh+2.)*
1273 log(umsh)/3./umsh/umsh/sh + 2.*(sh*sh-3.*sh-3.)*
log(sh)/3./umsh/umsh + 2./3.*
log(umsh)*
log(sh));
◆ omega77_T()
| double BXqll::omega77_T |
( |
double |
sh | ) |
|
|
private |
Auxiliary functions \(omega_{NM}^T\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 1220 of file BXqll.cpp.
1223 double umsh = 1.-sh;
1224 double umsqrt = 1.-
sqrt(sh);
1229 dilog_umsh/6./umsh/umsh + 2.*
sqrt(sh)*(sh*sh-6.*sh-3.)*dilog_umsqrt/3./umsh/umsh -
1230 M_PI*M_PI*(3.*
pow(sh,1.5)+22.*sh+23.*
sqrt(sh)+16.)*umsqrt*umsqrt/36./umsh/umsh +
1231 (5.*sh*sh*sh-54.*sh*sh+57.*sh-8.)/18./umsh/umsh -
log(umsh) +
1232 sh*(5.*sh+1.)*
log(sh)/3./umsh/umsh + 2./3.*
log(umsh)*
log(sh));
◆ omega77em_L()
| double BXqll::omega77em_L |
( |
double |
sh | ) |
|
|
private |
Auxiliary functions \(omega_{NM,L}^{(em)}\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 1392 of file BXqll.cpp.
1395 double umsh = 1. - sh;
1397 return (
Lbl*(9.73761 + 647.747*sh*sh*sh*sh - 642.637*sh*sh*sh + 276.839*sh*sh -
1398 68.3562*sh - 1.6755/sh)/4./umsh/umsh);
◆ omega77em_T()
| double BXqll::omega77em_T |
( |
double |
sh | ) |
|
|
private |
Auxiliary functions \(omega_{NM,T}^{(em)}\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 1330 of file BXqll.cpp.
1333 double umsh = 1. - sh;
1335 return (
Lbl*(1.54986 - 1703.72*sh*sh*sh*sh*sh + 1653.38*sh*sh*sh*sh - 683.608*sh*sh*sh +
1336 179.279*sh*sh - 35.5047*sh)/8./umsh/umsh);
◆ omega79_L()
| double BXqll::omega79_L |
( |
double |
sh | ) |
|
|
private |
Definition at line 1275 of file BXqll.cpp.
1278 double umsh = 1.-sh;
1279 double umsqrt = 1.-
sqrt(sh);
1283 return (-4./3.*
log(
muh) + 4.*
sqrt(sh)*(sh+3.)*dilog_umsqrt/3./umsh/umsh + (
sqrt(sh)+1.)*
1284 (
sqrt(sh)+1.)*(4.*sh-9.*
sqrt(sh)+3.)*dilog_umsh/3./umsh/umsh + (7.*sh*sh-2.*sh-5.)/
1285 6./umsh/umsh - M_PI*M_PI*(8.*sh+19.*
sqrt(sh)+5.)*umsqrt*umsqrt/18./umsh/umsh -
1286 (2.*sh+1.)*
log(umsh)/3./sh + (sh-7.)*sh*
log(sh)/3./umsh/umsh + 2./3.*
log(umsh)*
log(sh));
◆ omega79_T()
| double BXqll::omega79_T |
( |
double |
sh | ) |
|
|
private |
Definition at line 1234 of file BXqll.cpp.
1237 double umsh = 1.-sh;
1238 double umsqrt = 1.-
sqrt(sh);
1242 return (-4./3.*
log(
muh) - 2.*
sqrt(sh)*(sh+3.)*dilog_umsqrt/3./umsh/umsh - M_PI*M_PI*
1243 (16.*sh+29.*
sqrt(sh)+19.)*umsqrt*umsqrt/36./umsh/umsh + (sh*sh-6.*sh+5.)/6./umsh/umsh +
1244 (
sqrt(sh)+1.)*(
sqrt(sh)+1.)*(8.*sh-15.*
sqrt(sh)+9.)*dilog_umsh/6./umsh/umsh - (5.*sh+1.)*
1245 log(umsh)/6./sh + sh*(3.*sh+1.)*
log(sh)/6./umsh/umsh + 2./3.*
log(umsh)*
log(sh));
◆ omega79em_L()
| double BXqll::omega79em_L |
( |
double |
sh | ) |
|
|
private |
Definition at line 1400 of file BXqll.cpp.
1403 double umsh = 1. - sh;
1405 return (
Lbl*(-6.03641 - 896.643*sh*sh*sh*sh + 807.349*sh*sh*sh - 278.559*sh*sh +
1406 47.6636*sh - 0.190701/sh)/4./umsh/umsh);
◆ omega79em_T()
| double BXqll::omega79em_T |
( |
double |
sh | ) |
|
|
private |
Definition at line 1338 of file BXqll.cpp.
1341 double umsh = 1. - sh;
1343 return (
Lbl*(19.063 + 2158.03*sh*sh*sh*sh - 2062.92*sh*sh*sh + 830.53*sh*sh -
1344 186.12*sh + 0.324236/sh)/8./umsh/umsh);
◆ omega910_A()
| double BXqll::omega910_A |
( |
double |
sh | ) |
|
|
private |
Definition at line 1316 of file BXqll.cpp.
1319 double umsh = 1.-sh;
1320 double num = 3.*umsh*umsh;
1321 double umsqrt = 1.-
sqrt(sh);
1325 return (-2.*(sh*sh-3.*sh-1.)*dilog_umsh/num - 4.*(5.-2.*sh)*sh*dilog_umsqrt/num -
1326 (4.*
sqrt(sh)-3.)*umsqrt*umsqrt/num - 2.*(2.*sh*sh-7.*sh+5.)*
log(umsqrt)/num -
1327 2.*(sh*sh-3.*sh-1.)*
log(umsh)*
log(sh)/num + (2.*sh*sh*sh-11.*sh*sh+10.*sh-1.)*
1328 log(umsh)/num/sh + 2.*sh*(2.*sh-5.)*
log(umsqrt)*
log(sh)/num - M_PI*M_PI/3.);
◆ omega910em_A()
| double BXqll::omega910em_A |
( |
double |
sh | ) |
|
|
private |
Definition at line 1462 of file BXqll.cpp.
1465 double umsh = 1. - sh;
1467 return (
Lbl*(
log(1. -
sqrt(sh)) - (5. - 16.*
sqrt(sh) + 11.*sh)/4./umsh +
1468 (1. - 5.*sh)/umsh*
log((1. +
sqrt(sh))/2.) - (1. - 3.*sh)*
log(sh)/umsh));
◆ omega99_L()
| double BXqll::omega99_L |
( |
double |
sh | ) |
|
|
private |
Definition at line 1288 of file BXqll.cpp.
1291 double umsh = 1.-sh;
1292 double umsqrt = 1.-
sqrt(sh);
1296 return (-(
sqrt(sh)+1.)*(
sqrt(sh)+1.)*(
pow(sh,1.5)-8.*sh+3.*
sqrt(sh)-4.)*dilog_umsh/
1297 3./umsh/umsh + 4.*
sqrt(sh)*(sh*sh-12.*sh-5.)*dilog_umsqrt/3./umsh/umsh -
1298 M_PI*M_PI*(3.*
pow(sh,1.5)+20.*sh+
sqrt(sh)+8.)*umsqrt*umsqrt/18./umsh/umsh +
1299 (4.*sh*sh*sh-51.*sh*sh+42.*sh+5.)/6./umsh/umsh -
log(umsh) +
1300 8.*sh*(2.*sh+1.)*
log(sh)/3./umsh/umsh + + 2./3.*
log(umsh)*
log(sh));
◆ omega99_T()
| double BXqll::omega99_T |
( |
double |
sh | ) |
|
|
private |
Definition at line 1247 of file BXqll.cpp.
1250 double umsh = 1.-sh;
1251 double umsqrt = 1.-
sqrt(sh);
1255 return ((
sqrt(sh)+1.)*(
sqrt(sh)+1.)*(8.*
pow(sh,1.5)-15.*sh+4.*
sqrt(sh)-5.)*dilog_umsh/
1256 6./umsh/umsh/
sqrt(sh) - 2.*(sh*sh-12.*sh-5.)*dilog_umsqrt/3./umsh/umsh/
sqrt(sh) -
1257 M_PI*M_PI*(16.*
pow(sh,1.5)+29.*sh+4.*
sqrt(sh)+15.)*umsqrt*umsqrt/36./umsh/umsh/
sqrt(sh) +
1258 (2.*sh*sh-7.*sh-5.)*
log(sh)/3./umsh/umsh + (sh*sh+18.*sh-19.)/6./umsh/umsh -
1259 (2.*sh+1)*
log(umsh)/3./sh + 2./3.*
log(umsh)*
log(sh));
◆ omega99em_L()
| double BXqll::omega99em_L |
( |
double |
sh | ) |
|
|
private |
Definition at line 1408 of file BXqll.cpp.
1411 double umsh = 1. - sh;
1413 return (
Lbl*(-0.768521 - 80.8068*sh*sh*sh*sh + 70.0821*sh*sh*sh - 21.2787*sh*sh +
1414 2.9335*sh - 0.0180809/sh)/umsh/umsh);
◆ omega99em_T()
| double BXqll::omega99em_T |
( |
double |
sh | ) |
|
|
private |
Definition at line 1346 of file BXqll.cpp.
1349 double umsh = 1. - sh;
1351 return (
Lbl*(2.2596 + 157.984*sh*sh*sh*sh - 141.281*sh*sh*sh + 52.8914*sh*sh -
1352 13.5377*sh + 0.0284049/sh)/2./sh/umsh/umsh);
◆ Phi_brems()
| double BXqll::Phi_brems |
( |
double |
sh | ) |
|
|
private |
The finite bremsstrahlung corrections to dGamma/ds for \(B \to X_q l^+ l^-\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
Definition at line 2080 of file BXqll.cpp.
2085 double c88, c11, c12, c22;
2088 double ctau1 = (3. * 3. - 1.) / 8. / 3. / 3. / 3.;
2089 double ctau2 = - (3. * 3. - 1.) / 4. / 3. / 3.;
2091 c78 =
CF *
WC(6,
LO) *
WC(7,
LO).conjugate();
2093 c88 =
CF *
WC(7,
LO).abs2();
2095 c11 = ctau1 *
WC(0,
LO).abs2();
2096 c12 = ctau2 * 2. * (
WC(0,
LO) *
WC(1,
LO).conjugate()).real();
2097 c22 =
CF *
WC(1,
LO).abs2();
2099 c17 = ctau2 *
WC(0,
LO) *
WC(6,
LO).conjugate();
2100 c18 = ctau2 *
WC(0,
LO) *
WC(7,
LO).conjugate();
2102 c27 =
CF *
WC(1,
LO) *
WC(6,
LO).conjugate();
2103 c28 =
CF *
WC(1,
LO) *
WC(7,
LO).conjugate();
2106 Brems_a = 2. * (c78 *
tau78(sh) + c89 *
tau89(sh)).real() + c88 *
tau88(sh);
◆ Phi_u() [1/2]
| double BXqll::Phi_u |
( |
orders |
ord | ) |
|
|
private |
Normalization function for \(B\to X_s\ell\ell\) from eq. (4.8) of 1503.04849.
- Parameters
-
| [in] | ord/ord_qed | order to be returned |
Definition at line 1575 of file BXqll.cpp.
1592 throw std::runtime_error(
"BXqll::Phi_u(): order not implemented.");
◆ Phi_u() [2/2]
Definition at line 1595 of file BXqll.cpp.
1606 throw std::runtime_error(
"BXqll::Phi_u(): order not implemented.");
◆ Phi_u_inv()
| double BXqll::Phi_u_inv |
( |
unsigned int |
ord_qcd, |
|
|
unsigned int |
ord_qed |
|
) |
| |
|
private |
Inverse of the normalization function for \(B\to X_s\ell\ell\) from eq. (4.8) of 1503.04849.
- Parameters
-
| [in] | (ord_qcd,ord_qed) | order to be returned |
Definition at line 1609 of file BXqll.cpp.
1613 double phi00_2 = phi00 * phi00;
1614 double phi10 =
phi1;
1618 if (ord_qcd ==
QCD0 && ord_qed ==
QED0)
1619 return (1. / phi00);
1620 else if (ord_qcd ==
QCD1 && ord_qed ==
QED0)
1621 return (
alstilde * (- phi10 / phi00_2));
1622 else if (ord_qcd ==
QCD2 && ord_qed ==
QED0)
1623 return (
alstilde *
alstilde * (phi10 * phi10 / phi00_2 / phi00 - phi20 / phi00_2));
1624 else if (ord_qcd ==
QCD0 && ord_qed ==
QED1)
1625 return (
kappa * (- phi01 / phi00_2));
1626 else if (ord_qcd ==
QCD1 && ord_qed ==
QED1)
1627 return (
alstilde *
kappa * 2. * phi10 * phi01 / phi00_2 / phi00);
1628 else if (ord_qcd ==
QCD2 && ord_qed ==
QED1)
1630 3. * phi10 * phi10 * phi01 / phi00_2 / phi00_2));
◆ S1010_L()
| double BXqll::S1010_L |
( |
double |
sh, |
|
|
orders |
order |
|
) |
| |
|
private |
◆ S1010_T()
| double BXqll::S1010_T |
( |
double |
sh, |
|
|
orders |
order |
|
) |
| |
|
private |
◆ S710_A()
| double BXqll::S710_A |
( |
double |
sh, |
|
|
orders |
order |
|
) |
| |
|
private |
Auxiliary functions \(S_{NM}^A\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
| [in] | order | LO or NLO |
Definition at line 979 of file BXqll.cpp.
982 double umsh = 1. - sh;
983 double sigma = -8.*umsh*umsh;
984 double chi_1 = -4.*(3.*sh*sh + 2.*sh + 3.)/3.;
985 double chi_2 = -4.*(9.*sh*sh - 10.*sh - 7.);
991 return sigma + deltaMb2;
995 throw std::runtime_error(
"BXqll::S710_A: order not implemented");
◆ S77_L()
| double BXqll::S77_L |
( |
double |
sh, |
|
|
orders |
order |
|
) |
| |
|
private |
Auxiliary functions \(S_{NM}^L\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
| [in] | order | LO or NLO |
Definition at line 913 of file BXqll.cpp.
916 double umsh = 1. - sh;
917 double sigma = 4.*umsh*umsh;
918 double chi_1 = -2.*umsh*(3.*sh + 13.)/3.;
919 double chi_2 = 2.*(15.*sh*sh - 6.*sh - 13.);
925 return sigma + deltaMb2;
929 throw std::runtime_error(
"BXqll::S77_L: order not implemented");
◆ S77_T()
| double BXqll::S77_T |
( |
double |
sh, |
|
|
orders |
order |
|
) |
| |
|
private |
Auxiliary functions \(S_{NM}^T\) from [Huber:2015sra].
- Parameters
-
| [in] | sh | normalized dilepton invariant mass \(q^2/m_b^2\) |
| [in] | order | LO or NLO |
Definition at line 847 of file BXqll.cpp.
850 double umsh = 1. - sh;
851 double sigma = 8.*umsh*umsh/sh;
852 double chi_1 = 4.*umsh*(5.*sh + 3.)/3./sh;
853 double chi_2 = 4.*(3.*sh*sh + 2.*sh - 9.)/sh;
859 return sigma + deltaMb2;
863 throw std::runtime_error(
"BXqll::S77_T: order not implemented");
◆ S79_L()
| double BXqll::S79_L |
( |
double |
sh, |
|
|
orders |
order |
|
) |
| |
|
private |
Definition at line 932 of file BXqll.cpp.
935 double umsh = 1. - sh;
936 double sigma = 4.*umsh*umsh;
937 double chi_1 = 2.*umsh*umsh;
938 double chi_2 = 2.*(3.*sh*sh - 6.*sh - 1.);
944 return sigma + deltaMb2;
948 throw std::runtime_error(
"BXqll::S79_L: order not implemented");
◆ S79_T()
| double BXqll::S79_T |
( |
double |
sh, |
|
|
orders |
order |
|
) |
| |
|
private |
Definition at line 866 of file BXqll.cpp.
869 double umsh = 1. - sh;
870 double sigma = 8.*umsh*umsh;
871 double chi_1 = 4.*umsh*umsh;
872 double chi_2 = 4.*(9.*sh*sh - 6.*sh - 7.);
878 return sigma + deltaMb2;
882 throw std::runtime_error(
"BXqll::S79_T: order not implemented");
◆ S910_A()
| double BXqll::S910_A |
( |
double |
sh, |
|
|
orders |
order |
|
) |
| |
|
private |
Definition at line 998 of file BXqll.cpp.
1001 double umsh = 1. - sh;
1002 double sigma = -4.*umsh*umsh;
1003 double chi_1 = -2.*sh*(3.*sh*sh + 2.*sh + 3.)/3.;
1004 double chi_2 = -2.*sh*(15.*sh*sh - 14.*sh - 9.);
1007 183.885*umsh*umsh*umsh + 158.739*umsh*umsh - 29.0124*umsh - 30.8056;
1012 return sigma + deltaMb2;
1018 throw std::runtime_error(
"BXqll::S910_A: order not implemented");
◆ S99_L()
| double BXqll::S99_L |
( |
double |
sh, |
|
|
orders |
order |
|
) |
| |
|
private |
Definition at line 951 of file BXqll.cpp.
954 double umsh = 1. - sh;
955 double sigma = umsh*umsh;
956 double chi_1 = umsh*(13.*sh + 3.)/6.;
957 double chi_2 = (-17.*sh*sh + 10.*sh + 3.)/2.;
960 11.7493*umsh*umsh + 12.2293*umsh - 38.6457;
965 return sigma + deltaMb2;
971 throw std::runtime_error(
"BXqll::S99_L: order not implemented");
◆ S99_T()
| double BXqll::S99_T |
( |
double |
sh, |
|
|
orders |
order |
|
) |
| |
|
private |
Definition at line 885 of file BXqll.cpp.
888 double umsh = 1. - sh;
889 double sigma = 2.*sh*umsh*umsh;
890 double chi_1 = -sh*umsh*(3.*sh + 5.)/3.;
891 double chi_2 = sh*(15.*sh*sh - 14.*sh - 5.);
894 136.374*umsh*umsh*umsh + 119.344*umsh*umsh - 15.6175*umsh - 31.1706;
899 return sigma + deltaMb2;
905 throw std::runtime_error(
"BXqll::S99_T: order not implemented");
◆ tau22fit()
| double BXqll::tau22fit |
( |
double |
sh | ) |
|
|
private |
The fit of the finite bremsstrahlung correction \(tau_{22}(\hat s)\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \(tau_{22}(\hat s)\)
Definition at line 2188 of file BXqll.cpp.
2195 return (-186.96738127 + 1313.45792139*sh - 8975.40399683*sh*sh + 47018.56440838*sh*sh*sh -
2196 159603.3217871*sh*sh*sh*sh + 309228.13379963*sh*sh*sh*sh*sh - 258317.14719949*sh*sh*sh*sh*sh*sh -
2197 51.2467544*
log(sh));
2198 else if (q2 >= 14.4)
2199 return (-322.73989723 + 4.75813656/sh/sh - 80.36414222/sh + 687.70415138*sh - 491.08241967*sh*sh +
2200 303.28125994*sh*sh*sh - 132.82124268*sh*sh*sh*sh + 35.63127394*sh*sh*sh*sh*sh -
2201 4.36712003*sh*sh*sh*sh*sh*sh - 306.899641*
log(sh));
◆ tau27fit_Im()
| double BXqll::tau27fit_Im |
( |
double |
sh | ) |
|
|
private |
The fit of the imaginary part of finite bremsstrahlung correction \(tau_{27}(\hat s)\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \(tau_{27}(\hat s)\)
Definition at line 2220 of file BXqll.cpp.
2227 return (-189.61083508+1349.85607262*sh-9198.62227938*sh*sh+48104.40980548*sh*sh*sh-
2228 162998.75872037*sh*sh*sh*sh+315224.375522*sh*sh*sh*sh*sh-262649.64320483*sh*sh*sh*sh*sh*sh-
2229 52.52183304*
log(sh));
2230 else if (q2 >= 14.4)
2231 return (523.76263422+49.97156504/sh-1120.42920341*sh+1024.46949612*sh*sh-767.28958612*sh*sh*sh+
2232 393.62561539*sh*sh*sh*sh-120.74162898*sh*sh*sh*sh*sh+16.63110789*sh*sh*sh*sh*sh*sh+
2233 352.74960196*
log(sh));
◆ tau27fit_Re()
| double BXqll::tau27fit_Re |
( |
double |
sh | ) |
|
|
private |
The fit of the real part of finite bremsstrahlung correction \(tau_{27}(\hat s)\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \(tau_{27}(\hat s)\)
Definition at line 2204 of file BXqll.cpp.
2211 return (-45.40905903+334.92509492*sh-2404.69181358*sh*sh+12847.93973401*sh*sh*sh-
2212 44421.35127703*sh*sh*sh*sh+87786.54536182*sh*sh*sh*sh*sh-75574.96266083*sh*sh*sh*sh*sh*sh-
2213 13.79251644*
log(sh));
2214 else if (q2 >= 14.4)
2215 return (87.43391175-196.67646862*sh+219.51106756*sh*sh-184.44868587*sh*sh*sh+
2216 103.59892754*sh*sh*sh*sh-34.56056777*sh*sh*sh*sh*sh+5.14181565*sh*sh*sh*sh*sh*sh+
2217 38.55667004*
log(sh));
◆ tau28fit_Im()
| double BXqll::tau28fit_Im |
( |
double |
sh | ) |
|
|
private |
The fit of the imaginary part of finite bremsstrahlung correction \(tau_{28}(\hat s)\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \(tau_{28}(\hat s)\)
Definition at line 2252 of file BXqll.cpp.
2259 return (57.88258299-430.77957254*sh+3002.9999511*sh*sh-15808.63980887*sh*sh*sh+
2260 53787.08410769*sh*sh*sh*sh-104360.60205475*sh*sh*sh*sh*sh+87294.84251167*sh*sh*sh*sh*sh*sh+
2261 14.61062129*
log(sh));
2262 else if (q2 >= 14.4)
2263 return (-24.92802842+0.3842418/sh/sh-6.38294139/sh+53.15600599*sh-37.59024636*sh*sh+
2264 23.04316804*sh*sh*sh-10.03556518*sh*sh*sh*sh+2.68088049*sh*sh*sh*sh*sh-
2265 0.32751495*sh*sh*sh*sh*sh*sh-24.01652729*
log(sh));
◆ tau28fit_Re()
| double BXqll::tau28fit_Re |
( |
double |
sh | ) |
|
|
private |
The fit of the real part of finite bremsstrahlung correction \(tau_{28}(\hat s)\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \(tau_{28}(\hat s)\)
Definition at line 2236 of file BXqll.cpp.
2243 return (8.67757227-85.91172547*sh+666.57779497*sh*sh-3619.65234448*sh*sh*sh+
2244 12475.74303361*sh*sh*sh*sh-24365.45545631*sh*sh*sh*sh*sh+20446.33269814*sh*sh*sh*sh*sh*sh+
2245 1.54278226*
log(sh));
2246 else if (q2 >= 14.4)
2247 return (-4.11234905-0.52681762/sh+8.21844628*sh-6.04601107*sh*sh+3.67099354*sh*sh*sh-
2248 1.57120958*sh*sh*sh*sh+0.41975346*sh*sh*sh*sh*sh-0.05280596*sh*sh*sh*sh*sh*sh-
2249 3.16331567*
log(sh));
◆ tau29fit_Im()
| double BXqll::tau29fit_Im |
( |
double |
sh | ) |
|
|
private |
The fit of the imaginary part of finite bremsstrahlung correction \(tau_{29}(\hat s)\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \(tau_{29}(\hat s)\)
Definition at line 2283 of file BXqll.cpp.
2290 return (0.7688748-0.21680402*sh-1.16934757*sh*sh+8.31833871*sh*sh*sh-4.81289468*sh*sh*sh*sh-
2291 51.53765482*sh*sh*sh*sh*sh+158.06040784*sh*sh*sh*sh*sh*sh-0.00485643*
log(sh));
2292 else if (q2 >= 14.4)
2293 return (-38.80905455+95.60697233*sh-124.04368889*sh*sh+118.64599185*sh*sh*sh-
2294 73.76081228*sh*sh*sh*sh+26.55080999*sh*sh*sh*sh*sh-4.19021877*sh*sh*sh*sh*sh*sh-
2295 16.02711369*
log(sh));
◆ tau29fit_Re()
| double BXqll::tau29fit_Re |
( |
double |
sh | ) |
|
|
private |
The fit of the real part of finite bremsstrahlung correction \(tau_{29}(\hat s)\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \(tau_{29}(\hat s)\)
Definition at line 2268 of file BXqll.cpp.
2275 return (0.53834924+0.47775224*sh-16.20063604*sh*sh+101.36668267*sh*sh*sh-
2276 466.94537092*sh*sh*sh*sh+1224.77742613*sh*sh*sh*sh*sh-1469.41817323*sh*sh*sh*sh*sh*sh-
2277 0.01686348*
log(sh));
2278 else if (q2 >= 14.4)
2279 return (4.46985355-6.16130742*sh+0.84917331*sh*sh+1.7696124*sh*sh*sh-1.14453916*sh*sh*sh*sh+
2280 0.24261178*sh*sh*sh*sh*sh-0.02540446*sh*sh*sh*sh*sh*sh+2.67164817*
log(sh));
◆ tau78()
| double BXqll::tau78 |
( |
double |
sh | ) |
|
|
private |
The finite bremsstrahlung correction \(tau_{78}(\hat s)\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \(tau_{78}(\hat s)\)
Definition at line 2151 of file BXqll.cpp.
2156 double dmsh = 2.-sh;
2157 double qmsh = 4.-sh;
2159 return (8./9./sh*(25.-2.*M_PI*M_PI-27.*sh+3.*sh*sh-sh*sh*sh+12.*(sh+sh*sh)*
log(sh)+
2160 6.*(M_PI/2.-atan((2.-4.*sh+sh*sh)/dmsh/
sqrt(sh)/
sqrt(qmsh)))*
2161 (M_PI/2.-atan((2.-4.*sh+sh*sh)/dmsh/
sqrt(sh)/
sqrt(qmsh)))-
◆ tau88()
| double BXqll::tau88 |
( |
double |
sh | ) |
|
|
private |
The finite bremsstrahlung correction \(tau_{88}(\hat s)\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \(tau_{88}(\hat s)\)
Definition at line 2176 of file BXqll.cpp.
2181 double umsh = 1.-sh;
2182 double qmsh = 4.-sh;
2184 return (4./27./sh*(-8.*M_PI*M_PI+umsh*(77.-sh-4.*sh*sh)-24.*
dilog((
gslpp::complex) umsh).real()+
2185 3.*(10.-4.*sh-9.*sh*sh+8.*
log(
sqrt(sh)/umsh))*
log(sh)+48.*(
dilog((3.-sh)/2.+
2186 i*umsh*
sqrt(qmsh)/2./
sqrt(sh))).real()-6.*((20.*sh+10.*sh*sh-3.*sh*sh*sh)/
sqrt(sh)/
sqrt(qmsh)
◆ tau89()
| double BXqll::tau89 |
( |
double |
sh | ) |
|
|
private |
The finite bremsstrahlung correction \(tau_{89}(\hat s)\) from [Asatryan:2002iy].
- Parameters
-
| [in] | sh | \(q^2/m_b^2\) of the decay |
- Returns
- \(tau_{89}(\hat s)\)
Definition at line 2164 of file BXqll.cpp.
2169 double dmsh = 2.-sh;
2170 double qmsh = 4.-sh;
2172 return (2./3.*(sh*qmsh-3.-4.*
log(sh)*(1.-sh-sh*sh)-8.*(
dilog(sh/2.+i*
sqrt(sh)*
sqrt(qmsh)/2.)-
2173 dilog((sh*qmsh-2.)/2.+i*dmsh*
sqrt(sh)*
sqrt(qmsh)/2.)).real()+
2174 4.*(sh*sh*
sqrt(qmsh/sh)+2.*atan(
sqrt(sh)*
sqrt(qmsh)/dmsh))*(atan(
sqrt(qmsh/sh))-
◆ Test_WC_DF1()
| void BXqll::Test_WC_DF1 |
( |
| ) |
|
|
private |
Temporary method to test Wilson coefficients with C10_OS1 matching and HeffDF1 evolution.
Definition at line 1696 of file BXqll.cpp.
1848 std::cout <<
"mu_b = " <<
mu_b << std::endl;
1849 std::cout <<
"mu_c = " <<
mu_c << std::endl;
1850 std::cout <<
"Mb = " <<
Mb << std::endl;
1851 std::cout <<
"Mc = " <<
Mc << std::endl;
1852 std::cout <<
"Mb_pole = " <<
Mb_pole << std::endl;
1853 std::cout <<
"Mc_pole = " <<
Mc_pole << std::endl;
1854 std::cout <<
"Ms = " <<
Ms << std::endl;
1855 std::cout <<
"m_e = " <<
Mlep << std::endl;
1856 std::cout <<
"alstilde = " <<
alstilde << std::endl;
1857 std::cout <<
"aletilde = " <<
aletilde << std::endl;
1858 std::cout <<
"1/ale_MZ = " << 1./
mySM.
alphaMz() << std::endl;
1860 std::cout <<
"BXcenu = " <<
BR_BXcenu << std::endl;
1861 std::cout <<
"C = " <<
C_ratio << std::endl;
1862 std::cout <<
"pre = " <<
pre << std::endl;
1863 std::cout <<
"lambda_1 = " <<
lambda_1 << std::endl;
1864 std::cout <<
"lambda_2 = " <<
lambda_2 << std::endl;
1868 std::cout << std::endl;
1869 std::cout <<
"H_T = " <<
getH(
"T", 0.05) << std::endl;
1870 std::cout <<
"H_T = " <<
getH(
"T", 0.15) << std::endl;
1871 std::cout <<
"H_T = " <<
getH(
"T", 0.25) << std::endl;
1872 std::cout <<
"H_L = " <<
getH(
"L", 0.05) << std::endl;
1873 std::cout <<
"H_L = " <<
getH(
"L", 0.15) << std::endl;
1874 std::cout <<
"H_L = " <<
getH(
"L", 0.25) << std::endl;
1875 std::cout <<
"H_A = " <<
getH(
"A", 0.05) << std::endl;
1876 std::cout <<
"H_A = " <<
getH(
"A", 0.15) << std::endl;
1877 std::cout <<
"H_A = " <<
getH(
"A", 0.25) << std::endl;
◆ updateParameters()
| void BXqll::updateParameters |
( |
| ) |
|
|
private |
The update parameter method for BXqll.
Definition at line 46 of file BXqll.cpp.
104 for(
unsigned int qed_ord =
QED0; qed_ord <=
QED2; qed_ord++)
105 for(
unsigned int qcd_ord =
QCD0; qcd_ord <=
QCD2; qcd_ord++)
108 for (
unsigned int i = 0; i < 15; i++)
109 if (i != 8 && i != 9 && qed_ord < 2 && qcd_ord * qed_ord < 2)
◆ gslpp_special_functions::dilog
◆ abslambdat_over_Vcb
| double BXqll::abslambdat_over_Vcb |
|
private |
◆ ale
◆ aletilde
◆ allcoeff
Vector that contains the Wilson coeffients
Definition at line 102 of file BXqll.h.
◆ alsmu
◆ alsmuc
◆ alstilde
◆ aveH
Gsl integral variable
Definition at line 106 of file BXqll.h.
◆ BR_BXcenu
◆ BXqllParameters
| std::vector<std::string> BXqll::BXqllParameters |
|
private |
The string of mandatory BXqll parameters
Definition at line 99 of file BXqll.h.
◆ C_ratio
◆ CF
◆ errH
Gsl integral variable
Definition at line 107 of file BXqll.h.
◆ FH
Gsl integral variable
Definition at line 108 of file BXqll.h.
◆ GF
◆ Hij_A
◆ Hij_L
◆ Hij_T
◆ kappa
◆ lambda_1
◆ lambda_2
◆ Lbl
◆ lep
Final leptons type
Definition at line 83 of file BXqll.h.
◆ M_10
◆ M_7
◆ M_9
◆ Mb
◆ Mb_pole
◆ Mc
◆ Mc_pole
◆ Mlep
◆ Ms
◆ Mtau
◆ mu_b
◆ mu_c
◆ muh
◆ MW
◆ myF_1
◆ myF_2
◆ myHeff
◆ mySM
◆ old_handler
| gsl_error_handler_t* BXqll::old_handler |
|
private |
GSL error handler store
Definition at line 110 of file BXqll.h.
◆ phi1
◆ phi2
◆ pre
◆ QCD_max
| unsigned int BXqll::QCD_max |
|
private |
◆ QED_max
| unsigned int BXqll::QED_max |
|
private |
◆ quark
Initial meson type
Definition at line 84 of file BXqll.h.
◆ Vts_over_Vcb
| double BXqll::Vts_over_Vcb |
|
private |
◆ w_H
| gsl_integration_cquad_workspace* BXqll::w_H |
|
private |
Gsl integral variable
Definition at line 109 of file BXqll.h.
◆ WC
Matrix that contains the Wilson coeffients for each order
Definition at line 104 of file BXqll.h.
The documentation for this class was generated from the following files:
double DeltaF_29re(double muh, double z, double sh, int maxpow=20)
double omega910_A(double sh)
gslpp::complex h_z(double zed, double sh)
Auxiliary function from .
double S99_L(double sh, orders order)
double F_19im(double muh, double z, double sh, int maxpow=20)
double omega77em_T(double sh)
Auxiliary functions from .
gslpp::complex eij_L(unsigned int i, unsigned int j, double sh)
gslpp::complex omega210em_A(double sh)
double omega99_L(double sh)
double S77_L(double sh, orders order)
Auxiliary functions from .
double S710_A(double sh, orders order)
Auxiliary functions from .
double omega22em_T(double sh)
void computeHij_T(double sh)
Matrix of auxiliary functions from .
void computeMi(double sh)
Vectors of auxiliary functions from Table 6 of .
double abslambdat_over_Vcb
double S79_L(double sh, orders order)
double CCH_multiplication(std::vector< gslpp::matrix< gslpp::complex > > &Hij)
Auxiliary function that performs the multiplication of Wilson coefficients and matrix elements.
complex dilog(const complex &z)
double tau27fit_Re(double sh)
The fit of the real part of finite bremsstrahlung correction from .
double DeltaF_19re(double muh, double z, double sh, int maxpow=20)
const StandardModel & mySM
gslpp::complex eij_A(unsigned int i, unsigned int j, double sh)
double omega79_T(double sh)
std::vector< gslpp::vector< gslpp::complex > > M_9
Expanded< gslpp::vector< gslpp::complex > > ComputeCoeff(double mu, schemes scheme=NDR)
double F_27re(double muh, double z, double sh, int maxpow=20)
double omega99em_L(double sh)
gslpp::vector< gslpp::complex > LowScaleCoeff(qcd_orders order_qcd, qed_orders order_qed)
gslpp::complex f9pen_Huber(double sh)
Auxiliary function from .
void Test_WC_DF1()
Temporary method to test Wilson coefficients with C10_OS1 matching and HeffDF1 evolution.
gslpp::complex computelamt_s() const
The product of the CKM elements .
double omega77em_L(double sh)
Auxiliary functions from .
gslpp::complex F17(double sh)
The correction from .
Expanded< gslpp::vector< gslpp::complex > > allcoeff
double F_19re(double muh, double z, double sh, int maxpow=20)
double F_29re(double muh, double z, double sh, int maxpow=20)
double DeltaF_29im(double muh, double z, double sh, int maxpow=20)
double tau28fit_Re(double sh)
The fit of the real part of finite bremsstrahlung correction from .
double S79_T(double sh, orders order)
double F_17im(double muh, double z, double sh, int maxpow=20)
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
double omega77_T(double sh)
Auxiliary functions from .
std::vector< gslpp::matrix< gslpp::complex > > Hij_A
gslpp::complex omega29em_T(double sh)
gslpp::complex cij_L(unsigned int i, unsigned int j, double sh, unsigned int ord)
double omega710em_A(double sh)
Auxiliary functions from .
A class for defining operations on and functions of complex numbers.
gslpp::complex getV_cb() const
A member for returning the value of the CKM element .
double F_29im(double muh, double z, double sh, int maxpow=20)
complex log(const complex &z)
std::vector< gslpp::matrix< gslpp::complex > > Hij_L
gslpp::complex g_Huber(double y)
Auxiliary function from .
double tau22fit(double sh)
The fit of the finite bremsstrahlung correction from .
double tau78(double sh)
The finite bremsstrahlung correction from .
double F_29re(double muh, double z, double sh, int maxpow=20)
std::vector< gslpp::vector< gslpp::complex > > M_7
unsigned int int_qed(orders_qed order_qed)
Auxiliary function that matches orders_qed to an integer.
double Mbar2Mp(const double mbar, const orders order=FULLNNLO) const
Converts the mass to the pole mass.
double Beta0(const double nf) const
The coefficient for a certain number of flavours .
double F_17re(double muh, double z, double sh, int maxpow=20)
double getCF() const
A get method to access the Casimir factor of QCD.
double Phi_u_inv(unsigned int ord_qcd, unsigned int ord_qed)
Inverse of the normalization function for from eq. (4.8) of 1503.04849.
gslpp::complex omega27em_T(double sh)
std::vector< gslpp::matrix< gslpp::complex > > Hij_T
double omega910em_A(double sh)
complex conjugate() const
const double & getMass() const
A get method to access the particle mass.
double F_17im(double muh, double z, double sh, int maxpow=20)
double omega99em_T(double sh)
gslpp::complex cij_A(unsigned int i, unsigned int j, double sh)
complex pow(const complex &z1, const complex &z2)
double DeltaF_19im(double muh, double z, double sh, int maxpow=20)
gslpp::complex F_BIR(double r)
Auxiliary function from .
double getGF() const
A get method to retrieve the Fermi constant .
complex sqrt(const complex &z)
gslpp::complex F27(double sh)
The correction from .
static const complex & i()
gslpp::complex F87(double sh)
The correction from .
gslpp::complex KS_cc(double sh)
Kruger-Sehgal factorizable non-perturbative charm contributions following .
double tau27fit_Im(double sh)
The fit of the imaginary part of finite bremsstrahlung correction from .
std::vector< std::string > BXqllParameters
double getMuc() const
A get method to access the threshold between four- and three-flavour theory in GeV.
double F_29im(double muh, double z, double sh, int maxpow=20)
gslpp::complex F19(double sh)
The correction from .
double H_T(double sh)
Angular observable as defined in .
double Ale(double mu, orders order, bool Nf_thr=true) const
The running electromagnetic coupling in the scheme.
double Als(double mu, orders order=FULLNLO, bool qed_flag=false, bool Nf_thr=true) const
The running QCD coupling in the scheme including QED corrections.
double F_27im(double muh, double z, double sh, int maxpow=20)
double S1010_T(double sh, orders order)
Particle getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
double S910_A(double sh, orders order)
gslpp::complex F29(double sh)
The correction from .
double getH(std::string obs, double sh)
Method to obtain each observable as defined in .
gslpp::complex omega29em_L(double sh)
double omega710_A(double sh)
Auxiliary functions from .
double H_L(double sh)
Angular observable as defined in .
double tau29fit_Re(double sh)
The fit of the real part of finite bremsstrahlung correction from .
gsl_integration_cquad_workspace * w_H
gslpp::complex cij_T(unsigned int i, unsigned int j, double sh, unsigned int ord)
contributions as defined in
std::vector< gslpp::vector< gslpp::complex > > M_10
double tau28fit_Im(double sh)
The fit of the imaginary part of finite bremsstrahlung correction from .
double tau88(double sh)
The finite bremsstrahlung correction from .
double S77_T(double sh, orders order)
Auxiliary functions from .
double omega22em_L(double sh)
void computeHij_L(double sh)
Matrix of auxiliary functions from .
double Phi_u(orders ord)
Normalization function for from eq. (4.8) of 1503.04849.
gslpp::complex C9mod(double sh)
The modified coefficient from .
double S99_T(double sh, orders order)
double getMub() const
A get method to access the threshold between five- and four-flavour theory in GeV.
double omega99_T(double sh)
double H_A(double sh)
Angular observable as defined in .
double getOptionalParameter(std::string name) const
A method to get parameters that are specific to only one set of observables.
double F89(double sh)
The correction from .
double Phi_brems(double sh)
The finite bremsstrahlung corrections to dGamma/ds for from .
double omega79_L(double sh)
double F_17re(double muh, double z, double sh, int maxpow=20)
double F_19im(double muh, double z, double sh, int maxpow=20)
gslpp::complex KS_aux(double sh, double m, double Gamma, double Br_ll, double Br_had)
Auxiliary function for the Kruger-Sehgal charm contributions.
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
gsl_function convertToGslFunction(const F &f)
gslpp::complex f_Huber(double sh, double gamma_9, double rho_c, double rho_b, double rho_0, double rho_num)
Auxiliary function from .
double F_27re(double muh, double z, double sh, int maxpow=20)
double omega79em_L(double sh)
double F_19re(double muh, double z, double sh, int maxpow=20)
gslpp::matrix< gslpp::complex > WC
double F_27im(double muh, double z, double sh, int maxpow=20)
double omega77_L(double sh)
Auxiliary functions from .
double omega79em_T(double sh)
double S1010_L(double sh, orders order)
gslpp::complex eij_T(unsigned int i, unsigned int j, double sh)
Log-enhanced electromagnetic corrections as defined in .
double tau29fit_Im(double sh)
The fit of the imaginary part of finite bremsstrahlung correction from .
gsl_error_handler_t * old_handler
gslpp::complex omega27em_L(double sh)
double tau89(double sh)
The finite bremsstrahlung correction from .
void updateParameters()
The update parameter method for BXqll.
CKM getCKM() const
A get method to retrieve the member object of type CKM.
double getMuw() const
A get method to retrieve the matching scale around the weak scale.
void computeHij_A(double sh)
Matrix of auxiliary functions from .
Particle getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.