Kinematics#
- dispersionrelations.kinematics.Kallen(x, y, z)[source]#
The Källén triangle function.
- Parameters:
x (array_like) – A complex number or sequence of complex numbers.
y (array_like) – A complex number or sequence of complex numbers.
z (array_like) – A complex number or sequence of complex numbers.
- Returns:
λ – The broadcasted shape from x, y, z.
- Return type:
array_like
Notes
The function is defined as [10]
\[\lambda(x, y, z) = x^2 + y^2 + z^2 - 2 (xy + yz + zx) .\]An alternate form can be derived for squared inputs
\[\lambda(q^2, M_1^2, M_2^2) = (q^2 - (M_1 + M_2)^2)(q^2 - (M_1 - M_2)^2) .\]
- dispersionrelations.kinematics.momentum_cms(s, M1, M2)[source]#
The center-of-mass momentum of a two-body system.
- Parameters:
s (array_like) – Four-momentum squared of the two-body system.
M1 (float, complex) – Mass of the first particle.
M2 (float, complex) – Mass of the second particle.
- Returns:
q – The same shape as input s.
- Return type:
array_like
Notes
The CMS momentum is defined as
\[q(s, M_1, M_2) = \frac{1}{2}\sqrt{\frac{\lambda(s, M_1^2, M_2^2)}{s}},\]where \(\lambda(s, M_1^2, M_2^2)\) is the Källén triangle function.
Examples
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from dispersionrelations.kinematics import momentum_cms >>> M1 = 0.3 >>> M2 = 0.5 >>> E_plot = np.linspace(M1+M2, 2, 500) >>> s_plot = E_plot**2 >>> plt.plot(E_plot, momentum_cms(s_plot, M1, M2))
- dispersionrelations.kinematics.phase_space_twobody(s, M1, M2)[source]#
Phase space function for a two-particle system.
- Parameters:
s (array_like) – Four-momentum squared of the two-body system.
M1 (float, complex) – Mass of the first particle.
M2 (float, complex) – Mass of the second particle.
- Returns:
ρ – The same shape as input s.
- Return type:
array_like
Notes
The phase space function is defined as
\[\rho(s, M_1, M_2) = \frac{1}{16\pi}\frac{2q}{\sqrt{s}} = \frac{1}{16\pi}\frac{\sqrt{\lambda(s, M_1, M_2)}}{s},\]where \(q\) is the CMS momentum of the particles.
Examples
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from dispersionrelations.kinematics import phase_space_twobody >>> M1 = 0.3 >>> M2 = 0.5 >>> E_plot = np.linspace(M1+M2, 2, 500) >>> s_plot = E_plot**2 >>> plt.plot(E_plot, phase_space_twobody(s_plot, M1, M2))