lineshape

import ampform.dynamics.lineshape

Lineshape functions that describe the dynamics.

class BlattWeisskopf(*args: sympy.core.symbol.Symbol, **hints: Any)[source]

Bases: ampform.dynamics.lineshape.UnevaluatedExpression

Blatt-Weisskopf function \(B_L\), up to \(L \leq 4\).

Parameters
  • q – Break-up momentum. Can be computed with breakup_momentum.

  • d – impact parameter \(d\), also called meson radius. Usually of the order 1 fm.

  • angular_momentum – Angular momentum \(L\) of the decaying particle.

(1)\[\begin{split}\displaystyle \begin{cases} 1 & \text{for}\: L = 0 \\\frac{\sqrt{2} \left|{d}\right| \left|{q}\right|}{\sqrt{d^{2} q^{2} + 1}} & \text{for}\: L = 1 \\\frac{\sqrt{13} d^{2} q^{2}}{\sqrt{9 d^{2} q^{2} + \left(d^{2} q^{2} - 3\right)^{2}}} & \text{for}\: L = 2 \\\sqrt{277} d^{2} q^{2} \sqrt{\frac{1}{d^{2} q^{2} \left(d^{2} q^{2} - 15\right)^{2} + \left(2 d^{2} q^{2} - 5\right) \left(18 d^{2} q^{2} - 45\right)}} \left|{d}\right| \left|{q}\right| & \text{for}\: L = 3 \\\frac{\sqrt{12746} d^{4} q^{4}}{\sqrt{25 d^{2} q^{2} \left(2 d^{2} q^{2} - 21\right)^{2} + \left(d^{4} q^{4} - 45 d^{2} q^{2} + 105\right)^{2}}} & \text{for}\: L = 4 \end{cases}\end{split}\]

Each of these cases has been taken from [1], p. 415. For a good overview of where to use these Blatt-Weisskopf functions, see [2].

See also Form factor.

property angular_momentum
property d

Impact parameter, also called meson radius.

default_assumptions = {}
doit(**hints: Any)sympy.core.expr.Expr

Evaluate objects that are not evaluated by default like limits, integrals, sums and products. All objects of this kind will be evaluated recursively, unless some species were excluded via ‘hints’ or unless the ‘deep’ hint was set to ‘False’.

>>> from sympy import Integral
>>> from sympy.abc import x
>>> 2*Integral(x, x)
2*Integral(x, x)
>>> (2*Integral(x, x)).doit()
x**2
>>> (2*Integral(x, x)).doit(deep=False)
2*Integral(x, x)
evaluate()sympy.core.expr.Expr[source]
property q

Break-up momentum.

class UnevaluatedExpression(*args)[source]

Bases: sympy.core.expr.Expr

default_assumptions = {}
abstract evaluate()sympy.core.expr.Expr[source]
breakup_momentum(m_r: sympy.core.symbol.Symbol, m_a: sympy.core.symbol.Symbol, m_b: sympy.core.symbol.Symbol)sympy.core.expr.Expr[source]
implement_expr(n_args: int)Callable[[Type[ampform.dynamics.lineshape.UnevaluatedExpression]], sympy.core.expr.Expr][source]

Decorator for classes that derive from UnevaluatedExpression.

Implement a __new__ and doit method for a class that derives from Expr (via UnevaluatedExpression). It is important to derive from evaluate method has to be implemented

relativistic_breit_wigner(mass: sympy.core.symbol.Symbol, mass0: sympy.core.symbol.Symbol, gamma0: sympy.core.symbol.Symbol)sympy.core.expr.Expr[source]

Relativistic Breit-Wigner lineshape.

(2)\[\displaystyle \frac{\Gamma m_{0}}{- i \Gamma m_{0} - m^{2} + m_{0}^{2}}\]

See Without form factor and [2].

relativistic_breit_wigner_with_ff(mass: sympy.core.symbol.Symbol, mass0: sympy.core.symbol.Symbol, gamma0: sympy.core.symbol.Symbol, m_a: sympy.core.symbol.Symbol, m_b: sympy.core.symbol.Symbol, angular_momentum: sympy.core.symbol.Symbol, meson_radius: sympy.core.symbol.Symbol)sympy.core.expr.Expr[source]

Relativistic Breit-Wigner with BlattWeisskopf factor.

For \(L=0\), this lineshape has the following form:

(3)\[\displaystyle \frac{\Gamma m_{0}}{- \frac{i \Gamma m_{0}^{2} \sqrt{\frac{\left(m^{2} - \left(m_{a} - m_{b}\right)^{2}\right) \left(m^{2} - \left(m_{a} + m_{b}\right)^{2}\right)}{m^{2}}}}{m \sqrt{\frac{\left(m_{0}^{2} - \left(m_{a} - m_{b}\right)^{2}\right) \left(m_{0}^{2} - \left(m_{a} + m_{b}\right)^{2}\right)}{m_{0}^{2}}}} - m^{2} + m_{0}^{2}}\]

See With form factor and [2].