Module flavio.physics.bdecays.formfactors.b_v.bsz
Functions
def ff(process, q2, par, n=2, omit_A='A0')-
Expand source code
def ff(process, q2, par, n=2, omit_A='A0'): r"""Central value of $B\to V$ form factors in the lattice convention and BSZ parametrization. The lattice convention defines the form factors $A_0$, $A_1$, $A_{12}$, $V$, $T_1$, $T_2$, $T_{23}$. The BSZ parametrization defines $$F_i(q^2) = P_i(q^2) \sum_k a_k^i \,\left[z(q^2)-z(0)\right]^k$$ where $P_i(q^2)=(1-q^2/m_{R,i}^2)^{-1}$ is a simple pole. """ pd = process_dict[process] mres = (par[process + ' BCL m0'], par[process + ' BCL m1-'], par[process + ' BCL m1+']) mB = par['m_'+pd['B']] mV = par['m_'+pd['V']] ff = {} # setting a0_A0 and a0_T2 according to the exact kinematical relations, # cf. eq. (16) of arXiv:1503.05534 flavio.citations.register("Straub:2015ica") par_prefix = process + ' BSZ' par[par_prefix + ' a0_A12'] = par[par_prefix + ' a0_A0'] / (8*mB*mV / (mB**2-mV**2)) par[par_prefix + ' a0_T2'] = par[par_prefix + ' a0_T1'] for i in ["A0","A1","A12","V","T1","T2","T23"]: a = [ par[par_prefix + ' a' + str(j) + '_' + i] for j in range(n) ] ff[i] = pole(i, mres, q2)*np.dot(a, zs(mB, mV, q2, t0=None)[:n]) return ffCentral value of $B\to V$ form factors in the lattice convention and BSZ parametrization.
The lattice convention defines the form factors $A_0$, $A_1$, $A_{12}$, $V$, $T_1$, $T_2$, $T_{23}$.
The BSZ parametrization defines
$$F_i(q^2) = P_i(q^2) \sum_k a_k^i \,\left[z(q^2)-z(0)\right]^k$$
where $P_i(q^2)=(1-q^2/m_{R,i}^2)^{-1}$ is a simple pole.
def pole(ff, mres, q2)-
Expand source code
def pole(ff,mres,q2): mresdict = {'A0': 0,'A1': 2,'A12': 2,'V': 1,'T1': 1,'T2': 2,'T23': 2} m = mres[mresdict[ff]] return 1/(1-q2/m**2) def zs(mB, mV, q2, t0)-
Expand source code
@lru_cache(maxsize=config['settings']['cache size']) def zs(mB, mV, q2, t0): zq2 = z(mB, mV, q2, t0) z0 = z(mB, mV, 0, t0) return np.array([1, zq2-z0, (zq2-z0)**2])