コード例 #1
0
def wc_eff(par, wc_obj, scale, nu):
    r"""Lee-Yang effective couplings.

    See eqS. (2), (9) of arXiv:1803.08732."""
    # wilson coefficients
    wc = get_wceff_fccc_std(wc_obj, par, 'du', 'e', nu, None, scale, nf=3)
    # proton charges
    g = proton_charges(par, scale)
    gV = g['gV_u-d']
    gA = g['gA_u-d']
    gS = g['gS_u-d']
    gP = g['gP_u-d']
    gT = g['gT_u-d']
    # radiative corrections
    # Note: CVLSM is the universal Marciano-Sirlin result that needs to be
    # divided out since it's already  contained in the Deltas
    CVLSM = get_CVLSM(par, scale, nf=3)
    DeltaRV = par['DeltaRV']
    DeltaRA = DeltaRV  # not needed for superallowed, for neutron difference absorbed in lambda
    rV = sqrt(1 + DeltaRV) / CVLSM
    rA = sqrt(1 + DeltaRA) / CVLSM
    # effective couplings
    # note that C_i' = C_i
    C = {}
    C['V'] = gV * (wc['VL'] * rV + wc['VR'])
    C['A'] = -gA * (wc['VL'] * rA - wc['VR'])
    C['S'] = gS * (wc['SL'] + wc['SR'])
    C['P'] = gP * (wc['SL'] - wc['SR'])
    C['T'] = 4 * gT * (wc['T'])
    return C
コード例 #2
0
def CS(wc, par, scale, Z, N):
    """Scalar electron-nucleon coupling."""
    me = proton_charges(par, scale)
    CSu = -(wc['CSRR_eeuu'].imag + wc['CSRL_eeuu'].imag)
    CSd = -(wc['CSRR_eedd'].imag + wc['CSRL_eedd'].imag)
    CS0 = me['gS_u+d'] * (CSu + CSd)
    CS1 = me['gS_u-d'] * (CSu - CSd)
    return CS0 + (Z - N) / (Z + N) * CS1
コード例 #3
0
def CR_mue(wc_obj, par, nucl):
    r"""Conversion rate independent of the target nucleus"""
    mm = par['m_mu']
    scale = flavio.config['renormalization scale']['mudecays']
    #####overlap integrals and other parameters#####
    pc = proton_charges(par, scale)
    GuSp = (pc['gS_u+d'] + pc['gS_u-d']) / 2
    GdSp = (pc['gS_u+d'] - pc['gS_u-d']) / 2
    GsSp = pc['gS_s']
    GuSn = GdSp
    GdSn = GuSp
    GsSn = GsSp
    D = par['D ' + nucl] * mm**(5 / 2)
    Sp = par['Sp ' + nucl] * mm**(5 / 2)
    Vp = par['Vp ' + nucl] * mm**(5 / 2)
    Sn = par['Sn ' + nucl] * mm**(5 / 2)
    Vn = par['Vn ' + nucl] * mm**(5 / 2)
    omega_capt = par['GammaCapture ' + nucl]
    #####Wilson Coefficients######
    #####Conversion Rate obtained from hep-ph/0203110#####
    flavio.citations.register("Kitano:2002mt")
    wc = wc_obj.get_wc('mue', scale, par, nf_out=3)
    prefac = -np.sqrt(2) / par['GF']
    AL = prefac / (4 * mm) * wc['Cgamma_emu']
    AR = prefac / (4 * mm) * wc['Cgamma_mue'].conjugate()
    gRV = {
        'u': prefac * (wc['CVRR_mueuu'] + wc['CVLR_uumue']) / 2,
        'd': prefac * (wc['CVRR_muedd'] + wc['CVLR_ddmue']) / 2,
        's': prefac * (wc['CVRR_muess'] + wc['CVLR_ssmue']) / 2,
    }
    gLV = {
        'u': prefac * (wc['CVLR_mueuu'] + wc['CVLL_mueuu']) / 2,
        'd': prefac * (wc['CVLR_muedd'] + wc['CVLL_muedd']) / 2,
        's': prefac * (wc['CVLR_muess'] + wc['CVLL_muess']) / 2,
    }
    gRS = {
        'u': prefac * (wc['CSRR_emuuu'] + wc['CSRL_emuuu']).conjugate() / 2,
        'd': prefac * (wc['CSRR_emudd'] + wc['CSRL_emudd']).conjugate() / 2,
        's': prefac * (wc['CSRR_emuss'] + wc['CSRL_emuss']).conjugate() / 2,
    }
    gLS = {
        'u': prefac * (wc['CSRR_mueuu'] + wc['CSRL_mueuu']) / 2,
        'd': prefac * (wc['CSRR_muedd'] + wc['CSRL_muedd']) / 2,
        's': prefac * (wc['CSRR_muess'] + wc['CSRL_muess']) / 2,
    }
    lhc = (AR.conjugate() * D + (2 * gLV['u'] + gLV['d']) * Vp +
           (gLV['u'] + 2 * gLV['d']) * Vn +
           (GuSp * gLS['u'] + GdSp * gLS['d'] + GsSp * gLS['s']) * Sp +
           (GuSn * gLS['u'] + GdSn * gLS['d'] + GsSn * gLS['s']) * Sn)
    rhc = (AL.conjugate() * D + (2 * gRV['u'] + gRV['d']) * Vp +
           (gRV['u'] + 2 * gRV['d']) * Vn +
           (GuSp * gRS['u'] + GdSp * gRS['d'] + GsSp * gRS['s']) * Sp +
           (GuSn * gRS['u'] + GdSn * gRS['d'] + GsSn * gRS['s']) * Sn)
    omega_conv = 2 * par['GF']**2 * (abs(lhc)**2 + abs(rhc)**2)
    return omega_conv / omega_capt
コード例 #4
0
def CR_mue(wc_obj, par, nucl):
  r"""Conversion rate independent of the target nucleus"""
  mm = par['m_mu']
  scale = flavio.config['renormalization scale']['mudecays']
  #####overlap integrals and other parameters#####
  # GuV = par['GuV']
  # GdV = par['GdV']
  # GsV = par['GsV']
  pc = proton_charges(par, scale)
  GuS = (pc['gS_u+d'] + pc['gS_u-d']) / 2
  GdS = (pc['gS_u+d'] - pc['gS_u-d']) / 2
  GsS = pc['gS_s']
  D   = par['D ' +nucl]*mm**(5/2)
  Sp  = par['Sp '+nucl]*mm**(5/2)
  Vp  = par['Vp '+nucl]*mm**(5/2)
  Sn  = par['Sn '+nucl]*mm**(5/2)
  Vn  = par['Vn '+nucl]*mm**(5/2)
  GC  = par['GammaCapture '+nucl]
  #####Wilson Coefficients######
  #####Conversion Rate obtained from hep-ph/0203110#####
  wc = wc_obj.get_wc('mue', scale, par, nf_out=3)
  AL = np.sqrt(2)/(4*par['GF']*mm)*wc['Cgamma_emu'].conjugate()
  AR = np.sqrt(2)/(4*par['GF']*mm)*wc['Cgamma_mue']
  gRV = {'u': 4*(wc['CVRR_mueuu'] + wc['CVLR_mueuu']),
         'd': 4*(wc['CVRR_muedd'] + wc['CVLR_muedd']),
         's': 4*(wc['CVRR_muess'] + wc['CVLR_muess'])}
  gLV = {'u': 4*(wc['CVLR_uumue'] + wc['CVLL_mueuu']),
         'd': 4*(wc['CVLR_ddmue'] + wc['CVLL_muedd']),
         's': 4*(wc['CVLR_ssmue'] + wc['CVLL_muess'])}
  gRS = {'u': 4*(wc['CSRR_emuuu'].conjugate() + wc['CSRL_mueuu']),
         'd': 4*(wc['CSRR_emudd'].conjugate() + wc['CSRL_muedd']),
         's': 4*(wc['CSRR_emuss'].conjugate() + wc['CSRL_muess'])}
  gLS = {'u': 4*(wc['CSRL_emuuu'].conjugate() + wc['CSRR_mueuu']),
         'd': 4*(wc['CSRL_emudd'].conjugate() + wc['CSRR_muedd']),
         's': 4*(wc['CSRL_emuss'].conjugate() + wc['CSRR_muess'])}
  lhc = (AR.conjugate()*D + (2*gLV['u'] + gLV['d'])*Vp
         +(gLV['u'] + 2*gLV['d'])*Vn
         + (GuS* gLS['u'] + GdS*gLS['d'] + GsS*gLS['s'])*Sp
         + (GuS*gLS['u'] + GdS*gLS['d'] + GsS*gLS['s'])*Sn)
  rhc = (AL.conjugate()*D + (2*gRV['u'] + gRV['d'])*Vp
         +(gRV['u'] + 2*gRV['d'])*Vn
         + (GuS* gRS['u'] + GdS*gRS['d'] + GsS*gRS['s'])*Sp
         + (GuS*gRS['u'] + GdS*gRS['d'] + GsS*gRS['s'])*Sn)
  return 2*(par['GF']**2)*(abs(lhc)**2 + abs(rhc)**2)/GC