lineshape¶
import ampform.dynamics.lineshape
Lineshape functions that describe the dynamics.
See also
-
class
BlattWeisskopf
(q: sympy.core.symbol.Symbol, d: sympy.core.symbol.Symbol, angular_momentum: sympy.core.symbol.Symbol, evaluate: bool = False, **hints: Any)[source]¶ Bases:
ampform.dynamics.lineshape.UnevaluatedExpression
Blatt-Weisskopf function \(B_L(q)\), up to \(L \leq 8\).
- 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.
Function \(B_L(q)\) is defined as:
(1)¶\[\begin{split}\displaystyle \begin{cases} 1 & \text{for}\: L = 0 \\\frac{2 z}{z + 1} & \text{for}\: L = 1 \\\frac{13 z^{2}}{9 z + \left(z - 3\right)^{2}} & \text{for}\: L = 2 \\\frac{277 z^{3}}{z \left(z - 15\right)^{2} + \left(2 z - 5\right) \left(18 z - 45\right)} & \text{for}\: L = 3 \\\frac{12746 z^{4}}{25 z \left(2 z - 21\right)^{2} + \left(z^{2} - 45 z + 105\right)^{2}} & \text{for}\: L = 4 \\\frac{998881 z^{5}}{z^{5} + 15 z^{4} + 315 z^{3} + 6300 z^{2} + 99225 z + 893025} & \text{for}\: L = 5 \\\frac{118394977 z^{6}}{z^{6} + 21 z^{5} + 630 z^{4} + 18900 z^{3} + 496125 z^{2} + 9823275 z + 108056025} & \text{for}\: L = 6 \\\frac{19727003738 z^{7}}{z^{7} + 28 z^{6} + 1134 z^{5} + 47250 z^{4} + 1819125 z^{3} + 58939650 z^{2} + 1404728325 z + 18261468225} & \text{for}\: L = 7 \\\frac{4392846440677 z^{8}}{z^{8} + 36 z^{7} + 1890 z^{6} + 103950 z^{5} + 5457375 z^{4} + 255405150 z^{3} + 9833098275 z^{2} + 273922023375 z + 4108830350625} & \text{for}\: L = 8 \end{cases}\end{split}\]with \(z = (d q)^2\). The impact parameter \(d\) is usually fixed, so not shown as a function argument.
Each of these cases has been taken from [Chung et al. 1995], p. 415, and [Chung 2015]. For a good overview of where to use these Blatt-Weisskopf functions, see [Asner et al. 2006].
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
Base class for classes that expressions with an
evaluate
method.Derive from this class when decorating a class with
implement_expr
orimplement_doit_method
. It is important to derive fromUnevaluatedExpression
, because aevaluate
method has to be implemented.-
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_doit_method
() → Callable[[Type[ampform.dynamics.lineshape.UnevaluatedExpression]], Type[ampform.dynamics.lineshape.UnevaluatedExpression]][source]¶ Implement
doit()
method for anUnevaluatedExpression
class.Implement a
doit
method for a class that derives fromExpr
(viaUnevaluatedExpression
).
-
implement_expr
(n_args: int) → Callable[[Type[ampform.dynamics.lineshape.UnevaluatedExpression]], Type[ampform.dynamics.lineshape.UnevaluatedExpression]][source]¶ Decorator for classes that derive from
UnevaluatedExpression
.Implement a
__new__
anddoit
method for a class that derives fromExpr
(viaUnevaluatedExpression
).
-
implement_new_method
(n_args: int) → Callable[[Type[ampform.dynamics.lineshape.UnevaluatedExpression]], Type[ampform.dynamics.lineshape.UnevaluatedExpression]][source]¶ Implement
__new__()
method for anUnevaluatedExpression
class.Implement a
__new__
method for a class that derives fromExpr
(viaUnevaluatedExpression
).
-
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 [Asner et al. 2006].
-
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 [Asner et al. 2006].