slophep.Predictions.FormFactorsBToV
- class slophep.Predictions.FormFactorsBToV.BGLGeneric_BToV(B: str, V: str, par: dict = None, scale: float = None, order_g: int = 2, order_f: int = 2, order_F1: int = 2, order_F2: int = 1)[source]
Bases:
FormFactorBToV- blaschke(BcStates: list, z: float, Mb: float, Mc: float) float[source]
Calculate Blaschke factor P(t) from B_c-type resonances
- get_ff(q2: float) dict[source]
Calculates BGL form factors (SM only) as in hammer https://gitlab.com/mpapucci/Hammer/-/blob/v1.2.1/src/FormFactors/FFBtoDstarBGL.cc?ref_type=tags
Note that there is an additional 1./(etaEW*Vcb) factor applied to FFs in Hammer that is not present here. For that exact correspondence use BGL_Hammer FFs for the decay mode.
- Parameters:
q2 (float)
- Returns:
FF dictionary
- Return type:
dict
- class slophep.Predictions.FormFactorsBToV.BGL_BToV(B: str, V: str, par: dict = None, scale: float = None, *ffargs)[source]
Bases:
FormFactorBToV- blaschke(BcStates: list, z: float, Mb: float, Mc: float) float[source]
Calculate Blaschke factor P(t) from B_c-type resonances
- get_ff(q2: float) dict[source]
Calculates BGL form factors (SM only) as in hammer https://gitlab.com/mpapucci/Hammer/-/blob/v1.2.1/src/FormFactors/FFBtoDstarBGL.cc?ref_type=tags
Note that there is an additional 1./(etaEW*Vcb) factor applied to FFs in Hammer that is not present here. For that exact correspondence use BGL_Hammer FFs for the decay mode.
- Parameters:
q2 (float)
- Returns:
FF dictionary
- Return type:
dict
- class slophep.Predictions.FormFactorsBToV.BGL_BToV_Hammer(B: str, V: str, par: dict, scale: float, *ffargs)[source]
Bases:
BGL_BToV- get_ff(q2: float) dict[source]
Calculates BGL form factors (SM only) as in hammer https://gitlab.com/mpapucci/Hammer/-/blob/v1.2.1/src/FormFactors/FFBtoDstarBGL.cc?ref_type=tags
Note that there is an additional 1./(etaEW*Vcb) factor applied to FFs as in Hammer.
- Parameters:
q2 (float)
- Returns:
FF dictionary
- Return type:
dict
- class slophep.Predictions.FormFactorsBToV.BLPRXP_BToV(B: str, V: str, par: dict = None, scale: float = None, *ffargs)[source]
Bases:
FormFactorBToV- get_ff(q2: float) dict[source]
FF in BLPRXP parameterisation from https://arxiv.org/abs/2206.11281 as in HAMMER v1.4.1
- Parameters:
q2 (float) – q2 value to calculate FF at
- Returns:
FF dictionary
- Return type:
dict
- class slophep.Predictions.FormFactorsBToV.BLPR_BToV(B: str, V: str, par: dict = None, scale: float = None, *ffargs)[source]
Bases:
FormFactorBToV- get_ff(q2: float) dict[source]
FF in BLPR parameterisation from https://arxiv.org/pdf/1703.05330 as in HAMMER v1.4.1
- Parameters:
q2 (float) – q2 value to calculate FF at
- Returns:
FF dictionary
- Return type:
dict
- class slophep.Predictions.FormFactorsBToV.BLPR_BToV_Hammer(B: str, V: str, par: dict, scale: float, *ffargs)[source]
Bases:
BLPR_BToV
- class slophep.Predictions.FormFactorsBToV.BSZ_BToV(B: str, V: str, par: dict = None, scale: float = None, *ffargs)[source]
Bases:
FormFactorBToV- get_ff(q2: float) dict[source]
Calculates BSZ form factors, following https://arxiv.org/pdf/1503.05534 and https://arxiv.org/pdf/1811.00983. Implementation lifted from flavio https://github.com/flav-io/flavio/blob/master/flavio/physics/bdecays/formfactors/b_v/bsz.py, and should be in line with EOS https://github.com/eos/eos/blob/master/eos/form-factors/parametric-bsz2015-impl.hh
- Parameters:
q2 (float)
- Returns:
FF dictionary
- Return type:
dict
- z(mB: float, mM: float, q2: float, t0: float = None)[source]
Form factor expansion parameter z.
- Parameters:
mB (float) – initial pseudoscalar meson mass
mM (float) – final meson meson mass
q2 (float) – momentum transfer squared q2
t0 (float) – parameter t_0. If not given, chosen as t_0 = t_+ (1 - sqrt(1 - t_-/t_+))$ where t_+- = (m_B +- m_M)^2. If equal to tm, set to t_0=t_-
- class slophep.Predictions.FormFactorsBToV.CLN2_BToV(B: str, V: str, par: dict = None, scale: float = None, *ffargs)[source]
Bases:
FormFactorBToV- get_ff(q2: float) dict[source]
Central value of $B o V$ form factors in the lattice convention CLN parametrization. See eqs. (B4)-(B7) of arXiv:1203.2654.
Directly lifted from flavio, see https://github.com/flav-io/flavio/blob/master/flavio/physics/bdecays/formfactors/b_v/clnexp.py
For SM, this behaviour should be the same as HQET2 in EvtGen and CLN in HAMMER (though haven’t verified throughly)
For BSM, this follows flavio behaviour implementing eq. 11 in https://arxiv.org/pdf/1503.05534 and assuming r(q2) = 1 for all three terms in the equation
- Parameters:
q2 (float) – q2 value to calculate FF at
- Returns:
FF dictionary
- Return type:
dict
- isgur_wise(q2: float, ff: dict) dict[source]
Isgur-Wise-like relations to obtain tensor form factors from vector form factors from the equations of motion in the heavy quark limit
Implements eq. 11 in https://arxiv.org/pdf/1503.05534 and assumes r(q2) = 1 for all three terms in the equation
Directly lifted from flavio https://github.com/flav-io/flavio/blob/master/flavio/physics/bdecays/formfactors/b_v/isgurwise.py
- Parameters:
q2 (float) – q2 value to calculate FF at
ff (dict) – dictionary with other FFs
- Returns:
FF dictionary with a tensor FFs
- Return type:
dict
- class slophep.Predictions.FormFactorsBToV.CLN_BToV(B: str, V: str, par: dict = None, scale: float = None, *ffargs)[source]
Bases:
FormFactorBToV- get_ff(q2: float) dict[source]
Central value of $B o V$ form factors in the lattice convention CLN parametrization. See eqs. (B4)-(B7) of arXiv:1203.2654.
Directly lifted from flavio, see https://github.com/flav-io/flavio/blob/master/flavio/physics/bdecays/formfactors/b_v/clnexp.py
For SM, this behaviour should be the same as HQET2 in EvtGen and CLN in HAMMER (though haven’t verified throughly)
- Parameters:
q2 (float) – q2 value to calculate FF at
- Returns:
FF dictionary
- Return type:
dict
- class slophep.Predictions.FormFactorsBToV.CLN_BToV_Hammer(B: str, V: str, par: dict, scale: float, *ffargs)[source]
Bases:
CLN_BToV
- class slophep.Predictions.FormFactorsBToV.FormFactorBToV(B: str, V: str, par: dict = None, scale: float = None)[source]
Bases:
FormFactor- property B: str
The B meson
- property V: str
The Charmed Vector meson
- get_ff(q2: float) dict[source]
Calculate form factors at particular q2. To implement in derived class. Must return in basis V, A0, A1, A12, T1, T2, T23
- Parameters:
q2 (float)
- Returns:
dictionary with FFs V, A0, A1, A12, T1, T2, T23
- Return type:
dict
- get_ff_R_basis(q2: float) dict[source]
Calculate FF CLN ratios R0, R1, R2, formulae from ancillary material in https://arxiv.org/abs/2304.03137. Directly lifted from the ancillary files (LOAD_FIT.py)
- Parameters:
q2 (float)
- Returns:
dictionary with FFs hA1, R0, R1, R2
- Return type:
dict
- get_ff_gfF1F2_basis(q2: float) dict[source]
Calculate FFs in common BGL basis g, f, F1, F2
- Parameters:
q2 (float)
- Returns:
dictionary with FFs g, f, F1, F2
- Return type:
dict
- get_ff_h_basis(q2: float) dict[source]
Calculate form factors in HQET basis h_i
NOTE: hT3 and thus T3 must be computed from T23 and this requires dividing by a term that is zero at zero recoil. Because of this, the zero-recoil value is slightly offset from q2_max -> 0.999999999*q2_max
This affects only this transformation of basis. The method get_ff(q2) does not have this issue.
- Parameters:
q2 (float)
- Returns:
dictionary with FFs hV, hA0, hA1, hA2, hA3, hT1, hT2, hT3
- Return type:
dict
- class slophep.Predictions.FormFactorsBToV.HPQCD_BToV(B: str, V: str, par: dict = None, scale: float = None, *ffargs)[source]
Bases:
FormFactorBToV- _get_ff_h(q2: float, A: str) float[source]
Calculates h form factors according to https://arxiv.org/abs/2304.03137. Directly lifted from the ancillary files (LOAD_FIT.py)
- Parameters:
q2 (float)
A (str) – FF to compute, hA1, hA2, hA3, hV, hT1, hT2, hT3
- Returns:
FF computed at q2 value
- Return type:
float
- get_ff(q2: float) dict[float][source]
Implements FF caclculation according to https://arxiv.org/abs/2304.03137. Directly lifted from the ancillary files (LOAD_FIT.py)
- Parameters:
q2 (float)
- Returns:
FF dictionary
- Return type:
dict[float]
- class slophep.Predictions.FormFactorsBToV.ISGW2_BToV(B: str, V: str, par: dict = None, scale: float = None, *ffargs)[source]
Bases:
FormFactorBToV