D⁰ → K⁰ K⁺ K⁻#
The decay \(D^0 \to K^0K^+K^-\) has a spinless initial and final state, which means that there is no need to align spin with Dalitz-plot decomposition. This notebook shows that the model formulated by ampform is the same as that formulated by AmpForm-DPD. To simplify this comparison, we do not define any dynamics.
%matplotlib widget
Decay definition#
flowchart LR
T0_N0["$$D^{0}$$"]
T0_1["$$1: K^{0}$$"]
T0_2["$$2: K^{-}$$"]
T0_3["$$3: K^{+}$$"]
T0_N1@{ shape: text, label: " " }
T0_4("$$a_{0}(980)^{-}$$")
T0_N0 --- T0_4
T0_4 --- T0_N1
T0_N0 --- T0_3
T0_N1 --- T0_1
T0_N1 --- T0_2
T1_N0["$$D^{0}$$"]
T1_1["$$1: K^{0}$$"]
T1_2["$$2: K^{-}$$"]
T1_3["$$3: K^{+}$$"]
T1_N1@{ shape: text, label: " " }
T1_4("$$a_{0}(980)^{+}$$")
T1_N0 --- T1_4
T1_4 --- T1_N1
T1_N0 --- T1_2
T1_N1 --- T1_1
T1_N1 --- T1_3
T2_N0["$$D^{0}$$"]
T2_1["$$1: K^{0}$$"]
T2_2["$$2: K^{-}$$"]
T2_3["$$3: K^{+}$$"]
T2_N1@{ shape: text, label: " " }
T2_4("$$\begin{gathered} a_{0}(980)^{0} \\\ f_{0}(980) \end{gathered}$$")
T2_N0 --- T2_4
T2_4 --- T2_N1
T2_N0 --- T2_1
T2_N1 --- T2_2
T2_N1 --- T2_3
index |
name |
LaTeX |
\(J^P\) |
mass (MeV) |
width (MeV) |
|---|---|---|---|---|---|
0 |
|
\(D^{0}\) |
\(0^-\) |
1,864 |
0 |
1 |
|
\(K^{0}\) |
\(0^-\) |
497 |
0 |
2 |
|
\(K^{-}\) |
\(0^-\) |
493 |
0 |
3 |
|
\(K^{+}\) |
\(0^-\) |
493 |
0 |
name |
LaTeX |
\(J^P\) |
mass (MeV) |
width (MeV) |
|---|---|---|---|---|
|
\(a_{0}(980)^{0}\) |
\(0^+\) |
980 |
75 |
|
\(a_{0}(980)^{-}\) |
\(0^+\) |
980 |
75 |
|
\(a_{0}(980)^{+}\) |
\(0^+\) |
980 |
75 |
|
\(f_{0}(980)\) |
\(0^+\) |
990 |
60 |
Model formulation#
DPD model#
Note that, as opposed to Λc⁺ → pπ⁺K⁻ and J/ψ → K⁰Σ⁺p̅, there are no Wigner-\(d\) functions, because the final state is spinless.
There is an isobar Wigner-\(d\) function, which takes the following helicity angles as argument:
AmpForm model#
AmpForm does not formulate alignment Wigner-\(D\) functions. For the case of this spinless final state, this means the intensity is the same as that of the DPD model.
Confirm equivalence#
AMPFORM_EXPR = cached.unfold(AMPFORM_MODEL)
AMPFORM_EXPR
DPD_EXPR = cached.unfold(DPD_MODEL)
DPD_EXPR
assert DPD_EXPR.xreplace(substitutions) == AMPFORM_EXPR