phasespace#
import ampform.dynamics.phasespace
Different parametrizations of phase space factors.
Phase space factors are computed by integrating over the phase space element given by Equation (49.12) in PDG2021, §Kinematics, p.2. See also Equation (50.9) on PDG2021, §Resonances, p.6. This integral is not always easy to solve, which leads to different parametrizations.
This module provides several parametrizations. They all comply with the
PhaseSpaceFactorProtocol, so that they can be used in parametrizations like
EnergyDependentWidth.
- class PhaseSpaceFactorProtocol(*args, **kwargs)[source]#
Bases:
ProtocolProtocol that is used by
EnergyDependentWidth.Follow this
Protocolwhen defining other implementations of a phase space. Even functions likeBreakupMomentumcomply with this protocol, but are technically speaking not phase space factors.- __call__(s, m1, m2) Expr[source]#
Expected
signature.- Parameters:
s – Mandelstam variable \(s\). Commonly, this is just \(s = m_R^2\), with \(m_R\) the invariant mass of decaying particle \(R\).
m1 – Mass of decay product \(a\).
m2 – Mass of decay product \(b\).
- class BreakupMomentum(s, m1, m2, name, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprBreak-up momentum of a two-body decay.
For a two-body decay \(R \to 12\), the break-up momentum is the absolute value of the momentum of both \(1\) and \(2\) in the rest frame of \(R\). See Equation (50.7) on PDG2024, §Resonances, p.7.
In AmpForm’s standard implementation, the numerator is represented as a single square root. This results in better computational performance, as the expression tree has fewer computational nodes, but comes at the cost of a more complicated cut structure when the function is continued to the complex plane. The square root itself is defined as the standard
sympy.sqrt.Alternative implementations:
(1)#\[\begin{split} \begin{aligned} q\left(s\right) \;&=\; \frac{\sqrt{\left(s - \left(m_{1} - m_{2}\right)^{2}\right) \left(s - \left(m_{1} + m_{2}\right)^{2}\right)}}{2 \sqrt{s}} \\ \end{aligned}\end{split}\]
- class BreakupMomentumKallen(s, m1, m2, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprTwo-body break-up momentum with a Källén function.
This version of the
BreakupMomentumrepresents the numerator using theKallenfunction. This is common practice in literature (e.g. PDG2024, §Resonances, p.7), but results in a more complicated cut and worse numerical performance thanBreakupMomentum.(2)#\[\begin{split} \begin{aligned} q\left(s\right) \;&=\; \frac{\sqrt{\frac{\lambda\left(s, m_{1}^{2}, m_{2}^{2}\right)}{s}}}{2} \\ \end{aligned}\end{split}\]
- class BreakupMomentumSplitSqrt(s, m1, m2, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprTwo-body break-up momentum with cut structure.
This version of the
BreakupMomentumrepresents the numerator as two separate square roots. This results in a cleaner cut structure at the cost of slightly worse numerical performance thanBreakupMomentum.(3)#\[\begin{split} \begin{aligned} q\left(s\right) \;&=\; \frac{\sqrt{s - \left(m_{1} - m_{2}\right)^{2}} \sqrt{s - \left(m_{1} + m_{2}\right)^{2}}}{2 \sqrt{s}} \\ \end{aligned}\end{split}\]
- class BreakupMomentumComplex(s, m1, m2, name, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprTwo-body break-up momentum with a square root that is defined on the real axis.
In this version of the
BreakupMomentumSplitSqrt, the square roots are replaced byComplexSqrt, which has a defined behavior for negative input values, so that it can be evaluated on the entire real axis.(4)#\[\begin{split} \begin{aligned} q^\mathrm{c}\left(s\right) \;&=\; \frac{\sqrt[\mathrm{c}]{s - \left(m_{1} - m_{2}\right)^{2}} \sqrt[\mathrm{c}]{s - \left(m_{1} + m_{2}\right)^{2}}}{2 \sqrt{s}} \\ \end{aligned}\end{split}\]
- class BreakupMomentumSquared(s, m1, m2, name, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprSquared value of the two-body
BreakupMomentum.It’s up to the caller in which way to take the square root of this break-up momentum, because \(q^2\) can have negative values for non-zero \(m_1,m_2\). In this case, one may want to use
ComplexSqrtinstead of the standardsqrt().(5)#\[\begin{split} \begin{aligned} q^2\left(s\right) \;&=\; \frac{\left(s - \left(m_{1} - m_{2}\right)^{2}\right) \left(s - \left(m_{1} + m_{2}\right)^{2}\right)}{4 s} \\ \end{aligned}\end{split}\]
- class PhaseSpaceFactor(s, m1, m2, name, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprStandard phase-space factor, using a definition consistent with
BreakupMomentum.See PDG2024, §Resonances, p.6, Equation (50.11). We ignore the factor \(\frac{1}{16\pi}\) as done in [Chung, 1995], p.5.
Similarly to
BreakupMomentum, this class represents the numerator as a single square root for better numerical performance. This comes at the cost of a more complicated cut structure when the function is continued to the complex plane.Alternative implementations:
(6)#\[\begin{split} \begin{aligned} \rho\left(s\right) \;&=\; \frac{\sqrt{\left(s - \left(m_{1} - m_{2}\right)^{2}\right) \left(s - \left(m_{1} + m_{2}\right)^{2}\right)}}{s} \\ \end{aligned}\end{split}\]
- class PhaseSpaceFactorSWave(s, m1, m2, name, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprPhase space factor using
chew_mandelstam_s_wave().This
PhaseSpaceFactorprovides an analytic continuation for decay products with both equal and unequal masses (compareEqualMassPhaseSpaceFactor).(7)#\[\begin{split} \begin{aligned} \rho^\mathrm{CM}\left(s\right) \;&=\; - \frac{i \left(\frac{2 q^\mathrm{c}\left(s\right)}{\sqrt{s}} \log{\left(\frac{m_{1}^{2} + m_{2}^{2} + 2 \sqrt{s} q^\mathrm{c}\left(s\right) - s}{2 m_{1} m_{2}} \right)} - \left(m_{1}^{2} - m_{2}^{2}\right) \left(- \frac{1}{\left(m_{1} + m_{2}\right)^{2}} + \frac{1}{s}\right) \log{\left(\frac{m_{1}}{m_{2}} \right)}\right)}{\pi} \\ \end{aligned}\end{split}\]
- chew_mandelstam_s_wave(s, m1, m2)[source]#
Chew-Mandelstam function for \(S\)-waves (no angular momentum).
(8)#\[\frac{\frac{2 q^\mathrm{c}\left(s\right)}{\sqrt{s}} \log{\left(\frac{m_{a}^{2} + m_{b}^{2} + 2 \sqrt{s} q^\mathrm{c}\left(s\right) - s}{2 m_{a} m_{b}} \right)} - \left(m_{a}^{2} - m_{b}^{2}\right) \left(- \frac{1}{\left(m_{a} + m_{b}\right)^{2}} + \frac{1}{s}\right) \log{\left(\frac{m_{a}}{m_{b}} \right)}}{\pi}\]with \(q^2(s)\) defined as (5).
See also
- class PhaseSpaceFactorAbs(s, m1, m2, name, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprPhase space factor with square root over the absolute value.
As opposed to
PhaseSpaceFactor, this takes the square root of theAbsvalue ofBreakupMomentumSquared.This version of the phase space factor is often denoted as \(\hat{\rho}\) and is used in
EqualMassPhaseSpaceFactor.(9)#\[\begin{split} \begin{aligned} \hat{\rho}\left(s\right) \;&=\; \frac{2 \sqrt{\left|{q^2\left(s\right)}\right|}}{\sqrt{s}} \\ \end{aligned}\end{split}\]with \(q^2(s)\) defined as (5).
- class PhaseSpaceFactorKallen(s, m1, m2, name, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprPhase-space factor that is the equivalent of
BreakupMomentumKallen.(10)#\[\begin{split} \begin{aligned} \rho\left(s\right) \;&=\; \frac{\sqrt{\lambda\left(s, m_{1}^{2}, m_{2}^{2}\right)}}{s} \\ \end{aligned}\end{split}\]
- class PhaseSpaceFactorSplitSqrt(s, m1, m2, name, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprPhase-space factor that is the equivalent of
BreakupMomentumSplitSqrt.This version of the
PhaseSpaceFactorrepresents the numerator as two separate square roots. This results in a cleaner cut structure at the cost of slightly worse numerical performance thanPhaseSpaceFactor.(11)#\[\begin{split} \begin{aligned} \rho\left(s\right) \;&=\; \frac{\sqrt{s - \left(m_{1} - m_{2}\right)^{2}} \sqrt{s - \left(m_{1} + m_{2}\right)^{2}}}{s} \\ \end{aligned}\end{split}\]
- class PhaseSpaceFactorComplex(s, m1, m2, name, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprPhase-space factor with
ComplexSqrt.Same as
PhaseSpaceFactorSplitSqrt, but using aComplexSqrtthat does have defined behavior for defined for negative input values along the real axis.(12)#\[\begin{split} \begin{aligned} \rho^\mathrm{c}\left(s\right) \;&=\; \frac{\sqrt[\mathrm{c}]{s - \left(m_{a} - m_{b}\right)^{2}} \sqrt[\mathrm{c}]{s - \left(m_{a} + m_{b}\right)^{2}}}{s} \\ \end{aligned}\end{split}\]with \(q^2(s)\) defined as (5).
- class EqualMassPhaseSpaceFactor(s, m1, m2, name, *args, evaluate: bool = False, **kwargs)[source]#
Bases:
ExprAnalytic continuation for the
PhaseSpaceFactor.See PDG2018, §Resonances, p.9 and Analytic continuation.
Warning: The PDG specifically derives this formula for a two-body decay with equal masses.
(13)#\[\begin{split} \begin{aligned} \rho^\mathrm{eq}\left(s\right) \;&=\; \begin{cases} \frac{i \log{\left(\left|{\frac{\hat{\rho}\left(s\right) + 1}{\hat{\rho}\left(s\right) - 1}}\right| \right)} \hat{\rho}\left(s\right)}{\pi} & \text{for}\: s < 0 \\\frac{i \log{\left(\left|{\frac{\hat{\rho}\left(s\right) + 1}{\hat{\rho}\left(s\right) - 1}}\right| \right)} \hat{\rho}\left(s\right)}{\pi} + \hat{\rho}\left(s\right) & \text{for}\: s > \left(m_{a} + m_{b}\right)^{2} \\\frac{2 i \operatorname{atan}{\left(\frac{1}{\hat{\rho}\left(s\right)} \right)} \hat{\rho}\left(s\right)}{\pi} & \text{otherwise} \end{cases} \\ \end{aligned}\end{split}\]with \(\hat{\rho}\left(s\right)\) defined by
PhaseSpaceFactorAbs(9).