예제 #1
0
파일: bcl.py 프로젝트: polci/flavio
def ff_isgurwise(process, q2, par, scale, n=3, t0=None):
    r"""Central value of $B\to P$ form factors in the standard convention
    and BCL parametrization (arXiv:0807.2722) for $f_0$ and $f_+$, but using
    an improved Isgur-Wise relation in the heavy quark limit for $f_T$.
    """
    pd = process_dict[process]
    mpl = par[process + ' BCL m+']
    m0 = par[process + ' BCL m0']
    mB = par['m_'+pd['B']]
    mP = par['m_'+pd['P']]
    ff = {}
    a={}
    a['f+'] = [ par[process + ' BCL' + ' a' + str(j) + '_f+'] for j in range(n) ]
    # only the first n-1 parameters for f0 are taken from par
    # the nth one is chosen to fulfill the kinematic constraint f+(0)=f0(0)
    a['f0'] = [ par[process + ' BCL' + ' a' + str(j) + '_f0'] for j in range(n-1) ]
    fplus_q20 = pole('f+', mpl, 0) * param_fplusT(mB, mP, a['f+'], 0, t0)
    f0_q20 = pole('f0', m0, 0) * param_f0(mB, mP, a['f0'], 0, t0)
    an_f0 = (fplus_q20-f0_q20)/z(mB, mP, 0, t0)**(n-1)
    a['f0'].append(an_f0)
    # evaluate FFs
    ff['f+'] = pole('f+', mpl, q2) * param_fplusT(mB, mP, a['f+'], q2, t0)
    ff['f0'] = pole('f0', m0, q2) * param_f0(mB, mP, a['f0'], q2, t0)
    ff = isgur_wise(process, q2, ff, par, scale=scale)
    return ff
예제 #2
0
def ff(process, q2, par, scale):
    r"""Central value of $B\to P$ form factors in the lattice convention
    CLN parametrization.

    See arXiv:hep-ph/9712417 and arXiv:1703.05330.
    """
    pd = process_dict[process]
    mB = par['m_' + pd['B']]
    mP = par['m_' + pd['P']]
    w = max((mB**2 + mP**2 - q2) / (2 * mB * mP), 1)
    phqet = hqet.get_hqet_parameters(par, scale)
    ash = phqet['ash']
    epsc = phqet['epsc']
    epsb = phqet['epsb']
    zc = phqet['zc']
    CV1 = hqet.CV1(w, zc)
    CV2 = hqet.CV2(w, zc)
    CV3 = hqet.CV3(w, zc)
    CT1 = hqet.CT1(w, zc)
    CT2 = hqet.CT2(w, zc)
    CT3 = hqet.CT3(w, zc)
    L = hqet.L(par, w)
    # leading, universal Isgur-Wise function
    rho2 = par['CLN rho2_xi']
    c = par['CLN c_xi']
    z = common.z(mB, mP, q2, t0='tm')
    xi = 1 - 8 * rho2 * z + (64 * c - 16 * rho2) * z**2
    h = {}
    h['h+'] = xi * (1 + ash * (CV1 + (w + 1) / 2 * (CV2 + CV3)) +
                    (epsc + epsb) * L[1] + epsc**2 * par['B->D CLN deltac_h+'])
    h['h-'] = xi * (ash * (w + 1) / 2 * (CV2 - CV3) + (epsc - epsb) * L[4])
    h['hT'] = xi * (1 + ash * (CT1 - CT2 + CT3) + (epsc + epsb) *
                    (L[1] - L[4]))
    return h_to_f(mB, mP, h, q2)
예제 #3
0
파일: bcl.py 프로젝트: polci/flavio
def ff(process, q2, par, n=3, t0=None):
    r"""Central value of $B\to P$ form factors in the standard convention
    and BCL parametrization (arXiv:0807.2722).

    The standard convention defines the form factors $f_+$, $f_0$, and $f_T$.
    """
    pd = process_dict[process]
    mpl = par[process + ' BCL m+']
    m0 = par[process + ' BCL m0']
    mB = par['m_'+pd['B']]
    mP = par['m_'+pd['P']]
    ff = {}
    a={}
    for i in ['f+', 'fT']:
        a[i] = [ par[process + ' BCL' + ' a' + str(j) + '_' + i] for j in range(n) ]
    # only the first n-1 parameters for f0 are taken from par
    # the nth one is chosen to fulfill the kinematic constraint f+(0)=f0(0)
    a['f0'] = [ par[process + ' BCL' + ' a' + str(j) + '_f0'] for j in range(n-1) ]
    fplus_q20 = pole('f+', mpl, 0) * param_fplusT(mB, mP, a['f+'], 0, t0)
    f0_q20 = pole('f0', m0, 0) * param_f0(mB, mP, a['f0'], 0, t0)
    an_f0 = (f0_q20-fplus_q20)/z(mB, mP, 0, t0)**(n-1)
    a['f0'].append(an_f0)
    # evaluate FFs
    ff['f+'] = pole('f+', mpl, q2) * param_fplusT(mB, mP, a['f+'], q2, t0)
    ff['fT'] = pole('fT', mpl, q2) * param_fplusT(mB, mP, a['fT'], q2, t0)
    ff['f0'] = pole('f0', m0, q2) * param_f0(mB, mP, a['f0'], q2, t0)
    return ff
예제 #4
0
파일: cln.py 프로젝트: peterstangl/flavio
def ff(process, q2, par, scale):
    r"""Central value of $B\to V$ form factors in the lattice convention
    CLN parametrization.

    See arXiv:1703.05330.
    """
    pd = process_dict[process]
    mB = par['m_' + pd['B']]
    mV = par['m_' + pd['V']]
    w = max((mB**2 + mV**2 - q2) / (2 * mB * mV), 1)
    phqet = hqet.get_hqet_parameters(par, scale)
    ash = phqet['ash']
    epsc = phqet['epsc']
    epsb = phqet['epsb']
    zc = phqet['zc']
    # eq. (22) of arXiv:0809.0222
    CV1 = hqet.CV1(w, zc)
    CV2 = hqet.CV2(w, zc)
    CV3 = hqet.CV3(w, zc)
    CA1 = hqet.CA1(w, zc)
    CA2 = hqet.CA2(w, zc)
    CA3 = hqet.CA3(w, zc)
    CT1 = hqet.CT1(w, zc)
    CT2 = hqet.CT2(w, zc)
    CT3 = hqet.CT3(w, zc)
    L = hqet.L(par, w)
    # leading, universal Isgur-Wise function
    rho2 = par['CLN rho2_xi']
    c = par['CLN c_xi']
    z = common.z(mB, mV, q2, t0='tm')
    xi = 1 - 8 * rho2 * z + (64 * c - 16 * rho2) * z**2
    h = {}
    h['V'] = xi * (1 + ash * CV1
                   + epsc * (L[2] - L[5])
                   + epsb * (L[1] - L[4]))
    h['A1'] = xi * (1 + ash * CA1
                    + epsc * (L[2] - L[5] * (w - 1)/(w + 1))
                    + epsb * (L[1] - L[4] * (w - 1)/(w + 1))
                    + epsc**2 * par['B->D* CLN deltac_hA1'])
    h['A2'] = xi * (ash * CA2 + epsc * (L[3] + L[6]))
    h['A3'] = xi * (1 + ash * (CA1 + CA3)
                    + epsc * (L[2] - L[3] + L[6] - L[5])
                    + epsb * (L[1] - L[4]))
    h['T1'] = xi * (1 + ash * (CT1 + (w - 1)/2 * (CT2 - CT3))
                    + epsc * L[2]
                    + epsb * L[1]
                    + epsc**2 * par['B->D* CLN deltac_hT1'])
    h['T2'] = xi * (ash * (w + 1)/2 * (CT2 + CT3)
                    + epsc * L[5]
                    - epsb * L[4])
    h['T3'] = xi * (ash * CT2
                    + epsc * (L[6] - L[3]))
    return h_to_A(mB, mV, h, q2)
예제 #5
0
def ff(process, q2, par, scale, order_z=3, order_z_slp=2, order_z_sslp=1):
    r"""Central value of $B\to V$ form factors in the lattice convention
    CLN parametrization.

    See arXiv:1703.05330.
    """
    pd = process_dict[process]
    mB = par['m_' + pd['B']]
    mV = par['m_' + pd['V']]
    w = max((mB**2 + mV**2 - q2) / (2 * mB * mV), 1)
    phqet = hqet.get_hqet_parameters(par)
    ash = phqet['ash']
    epsc = phqet['epsc']
    epsb = phqet['epsb']
    zc = phqet['zc']
    # eq. (22) of arXiv:0809.0222
    CV1 = hqet.CV1(w, zc)
    CV2 = hqet.CV2(w, zc)
    CV3 = hqet.CV3(w, zc)
    CA1 = hqet.CA1(w, zc)
    CA2 = hqet.CA2(w, zc)
    CA3 = hqet.CA3(w, zc)
    CT1 = hqet.CT1(w, zc)
    CT2 = hqet.CT2(w, zc)
    CT3 = hqet.CT3(w, zc)
    z = common.z(mB, mV, q2, t0='tm')
    rho2 = par['CLN rho2_xi']
    c = par['CLN c_xi']
    xi3 = par['CLN xi3']
    xi = hqet.xi(z, rho2, c, xi3, order_z=order_z)
    L = hqet.Lz(par, w, z, order_z=order_z_slp)
    ell = hqet.ell(par, z, order_z=order_z_sslp)
    h = {}
    h['V'] = xi * (1 + ash * CV1 + epsc * (L[2] - L[5]) + epsb *
                   (L[1] - L[4]) + epsc**2 * (ell[2] - ell[5]))
    h['A1'] = xi * (1 + ash * CA1 + epsc * (L[2] - L[5] * (w - 1) /
                                            (w + 1)) + epsb *
                    (L[1] - L[4] * (w - 1) / (w + 1)) + epsc**2 *
                    (ell[2] - ell[5] * (w - 1) / (w + 1)))
    h['A2'] = xi * (ash * CA2 + epsc * (L[3] + L[6]))
    h['A3'] = xi * (1 + ash * (CA1 + CA3) + epsc *
                    (L[2] - L[3] + L[6] - L[5]) + epsb *
                    (L[1] - L[4]) + epsc**2 *
                    (ell[2] - ell[3] + ell[6] - ell[5]))
    h['T1'] = xi * (1 + ash * (CT1 + (w - 1) / 2 * (CT2 - CT3)) + epsc * L[2] +
                    epsb * L[1] + epsc**2 * ell[2])
    h['T2'] = xi * (ash * (w + 1) / 2 *
                    (CT2 + CT3) + epsc * L[5] - epsb * L[4] + epsc * ell[5])
    h['T3'] = xi * (ash * CT2 + epsc * (L[6] - L[3]) + epsc *
                    (ell[6] - ell[3]))
    return h_to_A(mB, mV, h, q2)
예제 #6
0
def ff(process, q2, par, scale):
    r"""Central value of $B\to V$ form factors in the lattice convention
    CLN parametrization.

    See arXiv:1703.05330.
    """
    pd = process_dict[process]
    mB = par['m_' + pd['B']]
    mV = par['m_' + pd['V']]
    w = max((mB**2 + mV**2 - q2) / (2 * mB * mV), 1)
    phqet = hqet.get_hqet_parameters(par, scale)
    ash = phqet['ash']
    epsc = phqet['epsc']
    epsb = phqet['epsb']
    zc = phqet['zc']
    # eq. (22) of arXiv:0809.0222
    CV1 = hqet.CV1(w, zc)
    CV2 = hqet.CV2(w, zc)
    CV3 = hqet.CV3(w, zc)
    CA1 = hqet.CA1(w, zc)
    CA2 = hqet.CA2(w, zc)
    CA3 = hqet.CA3(w, zc)
    CT1 = hqet.CT1(w, zc)
    CT2 = hqet.CT2(w, zc)
    CT3 = hqet.CT3(w, zc)
    L = hqet.L(par, w)
    # leading, universal Isgur-Wise function
    rho2 = par['CLN rho2_xi']
    c = par['CLN c_xi']
    z = common.z(mB, mV, q2, t0='tm')
    xi = 1 - 8 * rho2 * z + (64 * c - 16 * rho2) * z**2
    h = {}
    h['V'] = xi * (1 + ash * CV1 + epsc * (L[2] - L[5]) + epsb * (L[1] - L[4]))
    h['A1'] = xi * (1 + ash * CA1 + epsc * (L[2] - L[5] * (w - 1) /
                                            (w + 1)) + epsb *
                    (L[1] - L[4] * (w - 1) /
                     (w + 1)) + epsc**2 * par['B->D* CLN deltac_hA1'])
    h['A2'] = xi * (ash * CA2 + epsc * (L[3] + L[6]))
    h['A3'] = xi * (1 + ash * (CA1 + CA3) + epsc *
                    (L[2] - L[3] + L[6] - L[5]) + epsb * (L[1] - L[4]))
    h['T1'] = xi * (1 + ash * (CT1 + (w - 1) / 2 * (CT2 - CT3)) + epsc * L[2] +
                    epsb * L[1] + epsc**2 * par['B->D* CLN deltac_hT1'])
    h['T2'] = xi * (ash * (w + 1) / 2 *
                    (CT2 + CT3) + epsc * L[5] - epsb * L[4])
    h['T3'] = xi * (ash * CT2 + epsc * (L[6] - L[3]))
    return h_to_A(mB, mV, h, q2)
예제 #7
0
def ff(process, q2, par, scale, order_z=3, order_z_slp=2, order_z_sslp=1):
    r"""Central value of $B\to P$ form factors in the lattice convention
    CLN parametrization.

    See arXiv:hep-ph/9712417 and arXiv:1703.05330.
    """
    pd = process_dict[process]
    mB = par['m_' + pd['B']]
    mP = par['m_' + pd['P']]
    w = max((mB**2 + mP**2 - q2) / (2 * mB * mP), 1)
    phqet = hqet.get_hqet_parameters(par)
    ash = phqet['ash']
    epsc = phqet['epsc']
    epsb = phqet['epsb']
    zc = phqet['zc']
    CV1 = hqet.CV1(w, zc)
    CV2 = hqet.CV2(w, zc)
    CV3 = hqet.CV3(w, zc)
    CT1 = hqet.CT1(w, zc)
    CT2 = hqet.CT2(w, zc)
    CT3 = hqet.CT3(w, zc)
    z = common.z(mB, mP, q2, t0='tm')
    rho2 = par['CLN rho2_xi']
    c = par['CLN c_xi']
    xi3 = par['CLN xi3']
    xi = hqet.xi(z, rho2, c, xi3, order_z=order_z)
    L = hqet.Lz(par, w, z, order_z=order_z_slp)
    ell = hqet.ell(par, z, order_z=order_z_sslp)
    h = {}
    h['h+'] = xi * (1 + ash * (CV1 + (w + 1) / 2 * (CV2 + CV3))
                    + (epsc + epsb) * L[1]
                    + epsc**2 * ell[1])
    h['h-'] = xi * (ash * (w + 1) / 2 * (CV2 - CV3)
                    + (epsc - epsb) * L[4]
                    + epsc**2 * ell[4])
    h['hT'] = xi * (1 + ash * (CT1 - CT2 + CT3)
                    + (epsc + epsb) * (L[1] - L[4])
                    + epsc**2 * (ell[1] - ell[4]))
    return h_to_f(mB, mP, h, q2)
예제 #8
0
파일: sse.py 프로젝트: flav-io/flavio
def zs(mX, mP, par, q2):
    mLb = par['m_Lambdab']
    mB = par['m_B+']
    zq2 = z(mB, mP, q2, t0=(mLb - mX)**2) # cf. eq. (34) of arXiv:1602.01399
    return np.array([1, zq2, zq2**2])
예제 #9
0
파일: bsz.py 프로젝트: peterstangl/flavio
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])
예제 #10
0
def zs(mB, mV, q2, t0):
    zq2 = z(mB, mV, q2, t0)
    return np.array([1, zq2, zq2**2])
예제 #11
0
파일: bcl.py 프로젝트: polci/flavio
def param_f0(mB, mP, a_i, q2, t0=None):
    Z = z(mB, mP, q2, t0)
    k = np.arange(len(a_i))
    return ( a_i * Z**k ).sum()
예제 #12
0
파일: bcl.py 프로젝트: polci/flavio
def param_fplusT(mB, mP, a_i, q2, t0=None):
    Z = z(mB, mP, q2, t0)
    n = len(a_i)
    k = np.arange(n)
    return ( a_i * (Z**k - (-1.)**(k - n) * k/n * Z**n) ).sum()
예제 #13
0
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])
예제 #14
0
파일: sse.py 프로젝트: flav-io/flavio
def zs(mB, mV, q2, t0):
    zq2 = z(mB, mV, q2, t0)
    return np.array([1, zq2, zq2 ** 2])
예제 #15
0
def zs(mX, mP, par, q2):
    mLb = par['m_Lambdab']
    mB = par['m_B+']
    zq2 = z(mB, mP, q2, t0=(mLb - mX)**2)  # cf. eq. (34) of arXiv:1602.01399
    return np.array([1, zq2, zq2**2])