Module flavio.physics.ckm
Functions needed for the CKM matrix as well as for frequently used combinations of CKM elements.
See the documentation of the ckmutil package for details on some of the functions:
Functions
def ckm_beta_gamma(Vus, Vcb, beta, gamma)-
Expand source code
@lru_cache(maxsize=2) def ckm_beta_gamma(Vus, Vcb, beta, gamma): return ckmutil.ckm.ckm_beta_gamma(Vus, Vcb, beta, gamma) def ckm_standard(t12, t13, t23, delta)-
Expand source code
@lru_cache(maxsize=2) def ckm_standard(t12, t13, t23, delta): return ckmutil.ckm.ckm_standard(t12, t13, t23, delta) def ckm_tree(Vus, Vub, Vcb, gamma)-
Expand source code
@lru_cache(maxsize=2) def ckm_tree(Vus, Vub, Vcb, gamma): return ckmutil.ckm.ckm_tree(Vus, Vub, Vcb, gamma) def ckm_wolfenstein(laC, A, rhobar, etabar)-
Expand source code
@lru_cache(maxsize=2) def ckm_wolfenstein(laC, A, rhobar, etabar): return ckmutil.ckm.ckm_wolfenstein(laC, A, rhobar, etabar) def get_ckm(par_dict)-
Expand source code
def get_ckm(par_dict): return AuxiliaryQuantity['CKM matrix'].prediction(par_dict=par_dict, wc_obj=None) def get_ckmangle_alpha(par)-
Expand source code
def get_ckmangle_alpha(par): r"""Returns the CKM angle $\alpha$.""" V = get_ckm(par) # see eq. (12.16) of http://pdg.lbl.gov/2015/reviews/rpp2014-rev-ckm-matrix.pdf return phase(-V[2,0]*V[2,2].conj()/V[0,0]/V[0,2].conj())Returns the CKM angle $\alpha$.
def get_ckmangle_beta(par)-
Expand source code
def get_ckmangle_beta(par): r"""Returns the CKM angle $\beta$.""" V = get_ckm(par) # see eq. (12.16) of http://pdg.lbl.gov/2015/reviews/rpp2014-rev-ckm-matrix.pdf return phase(-V[1,0]*V[1,2].conj()/V[2,0]/V[2,2].conj())Returns the CKM angle $\beta$.
def get_ckmangle_gamma(par)-
Expand source code
def get_ckmangle_gamma(par): r"""Returns the CKM angle $\gamma$.""" V = get_ckm(par) # see eq. (12.16) of http://pdg.lbl.gov/2015/reviews/rpp2014-rev-ckm-matrix.pdf return phase(-V[0,0]*V[0,2].conj()/V[1,0]/V[1,2].conj())Returns the CKM angle $\gamma$.
def xi(a, bc)-
Expand source code
def xi(a, bc): r"""Returns the CKM combination $\xi_a^{bc} = V_{ab}V_{ac}^\ast$ if `a` is in `['u','c','t']` or $\xi_a^{bc} = V_{ba}V_{ca}^\ast$ if `a` is in `['d','s','b']`. Parameters ---------- - `a`: should be either one of `['u','c','t']` or one of `['d','s','b']` - `bc`: should be a two-letter string with two up-type or down-type flavours, e.g. `'cu'`, `'bs'`. If `a` is up-type, `bc` must be down-type and vice versa. Returns ------- A function that takes a parameter dictionary as input, just like `get_ckm`. """ if a in _q_dict_u: kl_num = _q_dict_u[a] i_num = _q_dict_d[bc[0]] j_num = _q_dict_d[bc[1]] return lambda par: xi_kl_ij(par, kl_num, kl_num, i_num, j_num) else: ij_num = _q_dict_d[a] k_num = _q_dict_u[bc[0]] l_num = _q_dict_u[bc[1]] return lambda par: xi_kl_ij(par, k_num, l_num, ij_num, ij_num)Returns the CKM combination $\xi_a^{bc} = V_{ab}V_{ac}^\ast$ if
ais in['u','c','t']or $\xi_a^{bc} = V_{ba}V_{ca}^\ast$ ifais in['d','s','b'].Parameters
a: should be either one of['u','c','t']or one of['d','s','b']bc: should be a two-letter string with two up-type or down-type flavours, e.g.'cu','bs'. Ifais up-type,bcmust be down-type and vice versa.
Returns
A function that takes a parameter dictionary as input, just like
get_ckm(). def xi_kl_ij(par, k, l, i, j)-
Expand source code
def xi_kl_ij(par, k, l, i, j): V = get_ckm(par) return V[k,i] * V[l,j].conj()