3 bugs in the muon decay implementation in SPhenoBoundaryEW.m
Posted: 7. Sep 2017, 16:32
Hello Florian,
while comparing the calculation of the W pole mass via muon decay in the SPheno code created by SARAH for the MRSSM with the routine from FlexibleSUSY 2.0, I found 3 numerically relevant bugs in SPhenoBoundaryEW.m:
1. In the code right before line 2000, mf_u(3) denotes the top pole mass while mf_u2(3) denotes the squared top DRbar mass (after the first iteration). According to Refs. arXiv:hep-ph/9606211 and arXiv:hep-ph/9212285, the pole mass should be used everywhere.
2. Some lines below in the self energies, again the top DRbar mass is used (after the first iteration) instead of the more appropriate pole mass (see arXiv:hep-ph/9212285).
3. Another few lines below, the code appears twice. Here, delta_rho is a pure 1-loop quantity, which leads to the formula
, where rho contains the leading SM 2-loop corrections, not being compatible with the previously calculated weak mixing angle
. In the computation of delta_rw, delta_rho should be replaced by (delta_rho+fac(2)/sinW2_Q+xt2), also taking the leading SM 2-loop corrections into account.
Altogether, these bugs account for a deviation in the calculated W pole mass of about 100 MeV for BMP1 from arXiv:1410.4791 (with the second bug having the largest numerical influence). Considering the experimental uncertainty of 15 MeV, the bugs are very relevant and should be fixed.
Cheers,
Markus
while comparing the calculation of the W pole mass via muon decay in the SPheno code created by SARAH for the MRSSM with the routine from FlexibleSUSY 2.0, I found 3 numerically relevant bugs in SPhenoBoundaryEW.m:
1. In the code
Code: Select all
WriteString[sphenoSugra,"xt2=3._dp*(G_F*mf_u2(3)*oo8pi2*oosqrt2)**2&\n"];
WriteString[sphenoSugra," &*Abs("<>SPhenoForm[HiggsMixingMatrix]<>"(1,2))**2*rho_2(Sqrt("<>SPhenoForm[SPhenoMassSq[HiggsBoson]]<>"(1))/mf_U(3))&\n"];
WriteString[sphenoSugra," &*((1._dp+tanb**2)/tanb**2)\n"];
WriteString[sphenoSugra,"fac(1)=alphaMZ*alphaS_mZ*oo4pi&\n"];
WriteString[sphenoSugra," &*(2.145_dp*mf_u2(3)/mZ2+0.575*Log(mf_u(3)/mZ)-0.224_dp&\n"];
WriteString[sphenoSugra," &-0.144_dp*mZ2/mf_u2(3))/Pi\n"];
WriteString[sphenoSugra,"fac(2)=alphamZ*alphaS_mZ*oo4pi&\n"];
WriteString[sphenoSugra," &*(-2.145_dp*mf_u2(3)/mW2+1.262*Log(mf_u(3)/mZ)-2.24_dp&\n"];
WriteString[sphenoSugra," &-0.85_dp*mZ2/mf_u2(3))/Pi\n"];
2. Some lines below in the self energies
Code: Select all
MakeCall["Pi1Loop"<>ToString[VectorZ],Flatten[{massesZ,couplingsZ}],{"mZ2"},{"kont","dmZ2"},sphenoSugra];
.
.
.
MakeCall["Pi1Loop"<>ToString[VectorW],Flatten[{massesW,couplingsW}],{"mW2"},{"kont","dmW2"},sphenoSugra];
MakeCall["Pi1Loop"<>ToString[VectorW],Flatten[{massesW,couplingsW}],{"0._dp"},{"kont","dmW2_0"},sphenoSugra];
3. Another few lines below, the code
Code: Select all
WriteString[sphenoSugra,"delta_rw=delta_rho*(1._dp-delta_r)+delta_r\n"];
Code: Select all
WriteString[sphenoSugra,"mW2=mZ2*rho*(0.5_dp& \n"];
WriteString[sphenoSugra," &+Sqrt(0.25_dp-alphamz*pi/(sqrt2*G_F*mz2*rho*(1._dp-delta_rw))))\n"];
Code: Select all
WriteString[sphenoSugra,"CosW2SinW2=pi*alphamZ/(sqrt2*mZ2*G_F*(1-delta_r))\n"];
WriteString[sphenoSugra,"sinW2_Q=0.5_dp-Sqrt(0.25_dp-CosW2SinW2)\n\n"];
Altogether, these bugs account for a deviation in the calculated W pole mass of about 100 MeV for BMP1 from arXiv:1410.4791 (with the second bug having the largest numerical influence). Considering the experimental uncertainty of 15 MeV, the bugs are very relevant and should be fixed.
Cheers,
Markus