9  ndg params

A matching between the ndg parameter and the OS can be defined as

{ms=μσZPZSμδmc=μσ+ZPZSμδ{μσ=12(ms+mc)    μσ=12ZSZP(mcms). \begin{cases} m_s = \mu_\sigma - \frac{Z_P}{Z_S}\mu_\delta \\ m_c = \mu_\sigma + \frac{Z_P}{Z_S}\mu_\delta \\ \end{cases} \quad\quad \begin{cases} \mu_\sigma =\frac{1}{2}( m_s + m_c) \quad\,\,\,\,\\ \mu_\sigma =\frac{1}{2}\frac{Z_S}{Z_P}( m_c - m_s) \\ \end{cases} \,. This matching scheme has the problem that ZPZS\frac{Z_P}{Z_S} needs to be know very precise to estimate well the cancellation in the msm_s.

An alternative scheme used in the gm2 strange and charm paper is {mc=μσ+ZPZSμδaMKndg(μσ,μδ)=aMKOS(ms)=aMKOS(msref)+(msrefms)MKOSmsms \begin{cases} m_c = \mu_\sigma + \frac{Z_P}{Z_S}\mu_\delta \\ aM_K^{ndg}(\mu_\sigma,\mu_\delta) = aM_K^{OS}(m_s)= aM_K^{OS}(m_s^{ref}) +(m_s^{ref}-m_s)\frac{\partial M_K^{OS}}{\partial m_s}\Bigg|_{m_s} \\ \end{cases} where msrefm_s^{ref} is some value close enough to msm_s such higer order in the expansion are negligible. The derivative is splitted in sea and valence contribution MKOSms=valMKOSms+seaMKOSms \frac{\partial M_K^{OS}}{\partial m_s}=\frac{\partial^{val} M_K^{OS}}{\partial m_s} + \frac{\partial^{sea} M_K^{OS}}{\partial m_s} the derivative with respect to the valence is computed as finite difference and the derivative with respect to the sea is computed with the scalar insertions.

df <- data.frame(
  "en" = c("B64", "C80"),
  "kappa" = c(0.139426500000, 0.138752850000),
  "mul_sim" = c(0.00072, 0.0006),
  "musig_sim" = c(0.1246864, 0.106585999855),
  "mudel_sim" = c(0.1315052, 0.107146000965),
  "ms_sim" = c(0,0),
  "mc_sim" = c(0,0),
  "Zp_Zs" = c(0.79018,  0.82308),
  "mul" = c(0.0006669, 0.0005864),
  "musig" = c(0,0),
  "mudel" = c(0,0),
  "ms" = c(0.018267,  0.016053),
  "mc" = c(0.23134,   0.19849)
)
library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
library(knitr)
# df$ms_sim<- df$musig_sim- df$
df <- mutate(df,
  ms_sim = musig_sim - Zp_Zs * mudel_sim,
  mc_sim = musig_sim + Zp_Zs * mudel_sim
)

df <- mutate(df,
  musig = (ms + mc) / 2,
  mudel = (mc - ms) / Zp_Zs / 2
)
print(df$mc_sim,digits = 12)
[1] 0.228599178936 0.194775730329
kable(df[, c(1:7)], digits = 20)
en kappa mul_sim musig_sim mudel_sim ms_sim mc_sim
B64 0.1394265 0.00072 0.1246864 0.1315052 0.02077362 0.2285992
C80 0.1387529 0.00060 0.1065860 0.1071460 0.01839627 0.1947757
kable(df[, c(8:13)], digits = 20)
Zp_Zs mul musig mudel ms mc
0.79018 0.0006669 0.1248035 0.1348256 0.018267 0.23134
0.82308 0.0005864 0.1072715 0.1108258 0.016053 0.19849

now we cange only the charm keeping the strange at the simulation point

library(dplyr)
library(knitr)

df1 <- mutate(df,
  musig = (ms_sim + mc) / 2,
  mudel = (mc - ms_sim) / Zp_Zs / 2
)
  # musigma = 0.1260567
  # mudelta = 0.1332397
  # 2Kappamubar   = 0.0351512889651
  # 2KappaEpsBar  = 0.0371542900641
  # kappa = 0.1394265
  # 
  # #epsbar = 0.1394265
  # 2Kappamubar2  = 0.034769065158
  # 2KappaEpsBar2 = 0.036670563765
  # kappa2 = 0.1394265


kable(df1[, c(1, 2, 3, 4, 9, 10)], digits = 13)
en kappa mul_sim musig_sim mul musig
B64 0.1394265 0.00072 0.1246864 0.0006669 0.1260568
C80 0.1387529 0.00060 0.1065860 0.0005864 0.1084431
library(dplyr)
library(knitr)
# keeping ms fixed and change mc form
# mc_sim =0.2285992
mc_targ =0.22887328 # 0.1 of the iso-sim step
df1 <- mutate(df,
  musig = (ms_sim + mc_targ) / 2,
  mudel = (mc_targ - ms_sim) / Zp_Zs / 2
)
kable(df1[, c(1, 2, 3, 4,  10,11)], digits = 16)
en kappa mul_sim musig_sim musig mudel
B64 0.1394265 0.00072 0.1246864 0.1248235 0.1316786
C80 0.1387529 0.00060 0.1065860 0.1236348 0.1278594
options(digits=16)
cat("2*kap*mub = ", df1$kappa*2*df1$musig,"\n")
2*kap*mub =  0.0348073936511998 0.03430935469479172 
cat("2*kap*epsb = ", df1$kappa*2*df1$mudel,"\n")
2*kap*epsb =  0.03671898440436382 0.0354817090476069 
cat("denominator\n")
denominator
cat("2*kap*mub = ", df1$kappa*2*df1$musig_sim,"\n")
2*kap*mub =  0.0347691766992 0.02957822249996168 
cat("2*kap*epsb = ", df1$kappa*2*df1$mudel_sim,"\n")
2*kap*epsb =  0.0366706195356 0.029733625999993