Skip to content
Snippets Groups Projects
Commit b6c19e69 authored by Markus Prim's avatar Markus Prim
Browse files

Rename to more general case

parent c5d78895
Branches
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@ import uncertainties
from eFFORT.BRhoLepNuRateExp import getDiffRatedq2
class BToPiLNu:
class BToPLNu:
def __init__(self, m_B: float, m_P: float, m_L: float, V_ub: float, eta_EW: float = 1.0066) -> None:
self.m_B = m_B
......@@ -71,66 +71,4 @@ class BToPiLNu:
def Gamma(self):
return scipy.integrate.quad(lambda x: self.dGamma_dq2(x).nominal_value, self.q2min, self.q2max, epsabs=1e-20)
# def cosTheta(self, q2, El):
# return ((self.m_B**2 - self.m_P**2 + q2) * (q2 + self.m_L**2) - (4*q2*self.m_B*El)) / \
# (2*self.m_B*self.pion_momentum(q2) * (q2 - self.m_L**2))
#
# def dcosTheta_dEl(self, q2):
# return 2 * q2 / (self.pion_momentum(q2) * (q2 - self.m_L**2))
#
# def ddGamma_dq2dEl(self, q2, El):
# # This term already has approximations
# return self.N0(q2) * self.pion_momentum(q2) * (2 * (1 - self.cosTheta(q2, El)**2) * self.H0(q2)**2) * self.dcosTheta_dEl(q2)
class BToPiLNuBCL(BToPiLNu):
def __init__(self, m_B: float, m_V: float, m_L: float, V_ub: float, eta_EW: float = 1.0066):
super(BToPiLNuBCL, self).__init__(m_B, m_V, m_L, V_ub, eta_EW)
self._coefficients = None
# correlation_matrix = np.array([
# [1, -0.870, -0.400, 0.453, 0.428, -0.175, -0.201, -0.119, -0.009],
# [0, 1, 0.14, -0.455, -0.342, 0.224, 0.174, 0.047, -0.033],
# [0, 0, 1, -0.789, -0.874, -0.068, 0.142, 0.025, -0.007],
# [0, 0, 0, 1, 0.879, -0.051, -0.253, 0.098, 0.234],
# [0, 0, 0, 0, 1, 0.076, 0.038, 0.018, -0.200],
# [0, 0, 0, 0, 0, 1, -0.043, -0.604, -0.388],
# [0, 0, 0, 0, 0, 0, 1, -0.408, -0.758],
# [0, 0, 0, 0, 0, 0, 0, 1, 0.457],
# [0, 0, 0, 0, 0, 0, 0, 0, 1],
# ])
# correlation_matrix = correlation_matrix + correlation_matrix.T - np.diag(correlation_matrix.diagonal())
# (v_ub, fp0, fp1, fp2, fp3, f00, f01, f02, f03) = uncertainties.correlated_values_norm([
# (3.72e-3, 0.16e-3),
# (0.419, 0.013),
# (-0.495, 0.054),
# (-0.43, 0.13),
# (0.22, 0.31),
# (0.510, 0.019),
# (-1.700, 0.082),
# (1.53, 0.19),
# (4.52, 0.83),
# ], correlation_matrix)
# self.fplus_par = [fp0, fp1, fp2, fp3]
# self.fzero_par = [f00, f01, f02, f03]
@property
def coefficients(self):
return self._coefficients
@coefficients.setter
def coefficients(self, coefficients):
self._coefficients = coefficients
self.gamma = None # Clear cache of normalization integral when updating coefficients
def fzero(self, q2):
N = 4
return sum([b * self.z(q2) ** n for n, b in enumerate(self.coefficients[N:])])
def fplus(self, q2):
m_Bstar = 5.325
N = 4
return 1 / (1 - q2 / m_Bstar ** 2) * sum(
[b * (self.z(q2) ** n - (-1) ** (n - N) * n / N * self.z(q2) ** N) for n, b in
enumerate(self.coefficients[:N])])
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment