ALPcouplings
Classes
- class alpaca.ALPcouplings(values: dict, scale: float, basis: str, ew_scale: float = 100.0, VuL: ndarray | None = None, VdL: ndarray | None = None, VuR: ndarray | None = None, VdR: ndarray | None = None, VeL: ndarray | None = None, VeR: ndarray | None = None)
Container for ALP couplings.
Members
- valuesdict
dict containing the ALP couplings.
- scalefloat
Energy scale where the couplings are defined, in GeV.
- basisstr
Basis in which the couplings are defined. The available bases are:
- ‘derivative_above’:
Basis with the explicitly shift-symmetric couplings of the fermion currents to the derivative of the ALP; above the EW scale.
- ‘massbasis_ew’:
Basis with the couplings of the fermion currents to the ALP in the mass basis of the fermions, at the EW scale.
- ‘RL_below’:
Basis with the couplings of the fermion currents to the ALP in the mass basis of the fermions, below the EW scale.
- ‘VA_below’:
Basis with the couplings of the fermion currents to the ALP in the mass basis of the fermions, below the EW scale, with vector and axial-vector couplings.
- ew_scalefloat
Energy scale of the electroweak symmetry breaking scale, in GeV.
- __init__(values: dict, scale: float, basis: str, ew_scale: float = 100.0, VuL: ndarray | None = None, VdL: ndarray | None = None, VuR: ndarray | None = None, VdR: ndarray | None = None, VeL: ndarray | None = None, VeR: ndarray | None = None)
Constructor method
Parameters
- valuesdict
dict containing the ALP couplings.
- scalefloat
Energy scale where the couplings are defined, in GeV.
- basisstr
Basis in which the couplings are defined. The available bases are:
- ‘derivative_above’:
Basis with the explicitly shift-symmetric couplings of the fermion currents to the derivative of the ALP; above the EW scale.
- ‘massbasis_ew’:
Basis with the couplings of the fermion currents to the ALP in the mass basis of the fermions, at the EW scale.
- ‘RL_below’:
Basis with the couplings of the fermion currents to the ALP in the mass basis of the fermions, below the EW scale.
- ‘VA_below’:
Basis with the couplings of the fermion currents to the ALP in the mass basis of the fermions, below the EW scale, with vector and axial-vector couplings.
- ew_scalefloat, optional
Energy scale of the electroweak symmetry breaking scale, in GeV. Defaults to 100 GeV
- VuLnp.ndarray, optional
Unitary rotation of the left-handed up-type quarks to diagonalize Yu. If None, it is set to the identity. (Only used in ‘derivative_above’ and ‘massbasis_ew’ bases)
- VdLnp.ndarray, optional
Unitary rotation of the left-handed down-type quarks to diagonalize Yd. If None, it is set to the CKM matrix. (Only used in ‘derivative_above’ and ‘massbasis_ew’ bases)
- VuRnp.ndarray, optional
Unitary rotation of the right-handed up-type quarks to diagonalize Yu. If None, it is set to the identity. (Only used in ‘derivative_above’ and ‘massbasis_ew’ bases)
- VdRnp.ndarray, optional
Unitary rotation of the right-handed down-type quarks to diagonalize Yd. If None, it is set to the identity. (Only used in ‘derivative_above’ and ‘massbasis_ew’ bases)
- VeLnp.ndarray, optional
Unitary rotation of the left-handed leptons to diagonalize Ye. If None, it is set to the identity. (Only used in ‘derivative_above’ and ‘massbasis_ew’ bases)
- VeRnp.ndarray, optional
Unitary rotation of the right-handed leptons to diagonalize Ye. If None, it is set to the identity. (Only used in ‘derivative_above’ and ‘massbasis_ew’ bases)
Raises
- ValueError
If attempting to translate to an unrecognized basis.
- TypeError
If attempting to assign a non-numeric value
- AttributeError
If the matrices VuL and VdL are provided at the same time.
- classmethod load(file: str | PathLike | TextIOBase) ALPcouplings
Load the object from a JSON file.
Parameters
- filestr | PathLike | TextIOBase
Name of the file, or object, where the object is saved.
Returns
- aALPcouplings
Object loaded from the file.
- match_run(scale_out: float, basis: str, integrator: str = 'scipy', beta: str = 'full', match_tildecouplings=True, scipy_method: str = 'RK45', scipy_rtol: float = 0.001, scipy_atol: float = 1e-06, **kwargs) ALPcouplings
Match and run the couplings to another basis and energy scale.
Parameters
- scale_outfloat
Energy scale where the couplings are to be evolved, in GeV.
- basisstr
Target basis to translate.
- integratorstr, optional
Method to use for the RG evolution. The available integrators are:
- ‘scipy’:
Use the scipy.integrate.odeint function.
- ‘leadinglog’:
Use the leading-log approximation.
- ‘symbolic’:
Use the leading-log approximation with symbolic expressions.
- ‘no_rge’:
Return the couplings at the final scale without running them.
- betastr, optional
Beta function to use for the RG evolution. The available beta functions are:
- ‘ytop’:
Use the beta function for the top Yukawa coupling.
- ‘full’:
Use the full beta function.
- match_tildecouplingsbool, optional
Whether to implement the matching conditions with the ‘tilde’ version of the gauge couplings instead of the bare ones. The use of the ‘tilde’ coefficients partially captures 2-loop effects in the matching, and ensures RG invariance, as discussed in Bauer et al. (2020) arXiv:2012.12272. Defaults to True.
- scipy_methodstr, optional
Method to use for the scipy integrator. Defaults to ‘RK45’. Other available options are ‘RK23’, ‘DOP853’, and ‘BDF’. See the documentation of scipy.integrate.solve_ivp for more information.
- scipy_rtolfloat, optional
Relative tolerance for the scipy integrator. Defaults to 1e-3.
- scipy_atolfloat, optional
Absolute tolerance for the scipy integrator. Defaults to 1e-6.
Returns
- aALPcouplings
Evolved couplings.
Raises
- KeyError
If attempting to translate to an unrecognized basis.
- save(file: str | PathLike | TextIOBase) None
Save the object to a JSON file.
Parameters
- filestr | PathLike | TextIOBase
Name of the file, or object, where the object will be saved.
- translate(basis: str) ALPcouplings
Translate the couplings to another basis at the same energy scale.
Parameters
- basisstr
Target basis to translate.
Returns
- aALPcouplings
Translated couplings.
Raises
- ValueError
If attempting to translate to an unrecognized basis.
Objects
- alpaca.ALPcouplingsEncoder
JSON encoder for ALPcouplings objects and structures containing them.
Usage
>>> import json >>> from alpaca import ALPcouplings, ALPcouplingsEncoder >>> a = ALPcouplings({'cG': 1.0}, 1e3, 'derivative_above') >>> with open('file.json', 'wt') as f: ... json.dump(a, f, cls=ALPcouplingsEncoder)