10  ndg params

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

\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 \frac{Z_P}{Z_S} needs to be know very precise to estimate well the cancellation in the m_s.

An alternative scheme used in the gm2 strange and charm paper is \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 m_s^{ref} is some value close enough to m_s such higer order in the expansion are negligible. The derivative is splitted in sea and valence contribution \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","D54"),
  "kappa" = c(0.139426500000, 0.138752850000, 0.137972174000),
  "mul_sim" = c(0.00072, 0.0006, 0.00054),
  "musig_sim" = c(0.1315052, 0.107146000965, 0.087911000000),#0.077706999882
  "mudel_sim" = c(0.1246864, 0.106585999855, 0.086224000000),#0.074646999976
  "ms_sim" = c(0,0,0),
  "mc_sim" = c(0,0,0),
  "Zp_Zs" = c(0.79018,  0.82308, 0.85095),
  "mul" = c(0.0006669, 0.0005864, 0.0004934),
  "musig" = c(0,0,0),
  "mudel" = c(0,0,0),
  "ms" = c(0.018267,  0.016053, 0.013559),
  "mc" = c(0.23134,   0.19849, 0.16474)
)
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.230029899552 0.194874805726 0.161283312800
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.1315052 0.1246864 0.03298050 0.2300299
C80 0.1387529 0.00060 0.1071460 0.1065860 0.01941720 0.1948748
D54 0.1379722 0.00054 0.0879110 0.0862240 0.01453869 0.1612833
kable(df[, c(8:13)], digits = 20)
Zp_Zs mul musig mudel ms mc
0.79018 0.0006669 0.1248035 0.13482561 0.018267 0.23134
0.82308 0.0005864 0.1072715 0.11082580 0.016053 0.19849
0.85095 0.0004934 0.0891495 0.08883072 0.013559 0.16474

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.1315052 0.0006669 0.13216025
C80 0.1387529 0.00060 0.1071460 0.0005864 0.10895360
D54 0.1379722 0.00054 0.0879110 0.0004934 0.08963934
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.1315052 0.1309269 0.1239545
C80 0.1387529 0.00060 0.1071460 0.1241452 0.1272392
D54 0.1379722 0.00054 0.0879110 0.1217060 0.1259384
options(digits=16)
cat("2*kap*mub = ", df1$kappa*2*df1$musig,"\n")
2*kap*mub =  0.03650935611963307 0.03445101120121027 0.0335840782922007 
cat("2*kap*epsb = ", df1$kappa*2*df1$mudel,"\n")
2*kap*epsb =  0.03456509229315717 0.03530960365515591 0.03475199451439068 
cat("denominator\n")
denominator
cat("2*kap*mub = ", df1$kappa*2*df1$musig_sim,"\n")
2*kap*mub =  0.0366706195356 0.029733625999993 0.024258543577028 
cat("2*kap*epsb = ", df1$kappa*2*df1$mudel_sim,"\n")
2*kap*epsb =  0.0347691766992 0.02957822249996168 0.023793025461952