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))
_images/kinematics-1.png
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))
_images/kinematics-2.png