From 2242d1b9cb848c134d3e46e5bb8e6b255f771a4a Mon Sep 17 00:00:00 2001
From: Remco de Boer <29308176+redeboer@users.noreply.github.com>
Date: Fri, 13 Jan 2023 14:42:52 +0100
Subject: [PATCH] DOC: describe main formulas from JPAC:2019ufm (#37)
https://journals.aps.org/prd/abstract/10.1103/PhysRevD.101.034033
---
.cspell.json | 5 +++
docs/conf.py | 4 ++
docs/index.md | 103 ++++++++++++++++++++++++++++++++++++++++++++
docs/references.bib | 16 +++++++
setup.cfg | 1 +
5 files changed, 129 insertions(+)
create mode 100644 docs/references.bib
diff --git a/.cspell.json b/.cspell.json
index 8c6fde98..89e8a323 100644
--- a/.cspell.json
+++ b/.cspell.json
@@ -73,6 +73,8 @@
"concat",
"docnb",
"elif",
+ "eqnarray",
+ "eqref",
"figsize",
"fontsize",
"gcov",
@@ -115,6 +117,7 @@
"textwrap",
"toctree",
"tqdm",
+ "unsrt",
"venv",
"wspace",
"xlabel",
@@ -140,9 +143,11 @@
"Gordan",
"helicities",
"helicity",
+ "JPAC",
"lambdify",
"lambdifying",
"LHCb",
+ "lineshape",
"lineshapes",
"matplotlib",
"NumPy",
diff --git a/docs/conf.py b/docs/conf.py
index aa93ea69..f03456a7 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -81,6 +81,9 @@ def generate_api() -> None:
autodoc_typehints_format = "short"
autosectionlabel_prefix_document = True
autosectionlabel_maxdepth = 2
+bibtex_bibfiles = [
+ "references.bib",
+]
codeautolink_concat_default = True
copyright = "2022"
default_role = "py:obj"
@@ -102,6 +105,7 @@ def generate_api() -> None:
"sphinx_copybutton",
"sphinx_design",
"sphinx_togglebutton",
+ "sphinxcontrib.bibtex",
]
html_sourcelink_suffix = ""
html_theme = "sphinx_book_theme"
diff --git a/docs/index.md b/docs/index.md
index b9c8efb9..18e14169 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -71,6 +71,100 @@ where you should replace the `3.x` with the version of Python you want to use.
+## Physics
+
+Dalitz-plot decomposition allows us to separate variables that affect the angular distribution from variables that describe the dynamics. It allows rewriting a **transition amplitude** $T$ as
+
+$$
+T^{\Lambda}_{\{\lambda\}}(\alpha,\beta,\gamma; \{\sigma\}) = \sum_{\nu}
+{\color{RoyalBlue} D_{\Lambda,\nu}^{J}(\alpha,\beta,\gamma)}
+\,
+{\color{Orange} O^\nu_{\{\lambda\}}(\{\sigma\})}.
+$$
+
+Here, $\Lambda$ and $\nu$ indicate the allowed spin projections of the initial state, $\{\lambda\}$ are the allowed spin projections of the final state (e.g. $\{\lambda\}=\lambda_1,\lambda_3,\lambda_3$ for a three-body decay), The Euler angles $\alpha,\beta,\gamma$ are obtained by choosing a specific aligned center-of-momentum frame ("aligned CM"), see Fig. 2 in Ref {cite}`JPAC:2019ufm`, which gives us an "aligned" transition amplitude $O^\nu_{\{\lambda\}}$ that only depends on dynamic variables $\{\sigma\}$ (in the case of a three-body decay, the three Mandelstam variables $\sigma_1,\sigma_2,\sigma_3$).
+
+These aligned transition amplitudes are then combined into an observable **differential cross section** (intensity distribution) using a spin density matrix $\rho_{_{\Lambda,\Lambda'}}$ for the spin projections $\Lambda$ of the initial state,
+
+:::{container} full-width
+
+$$
+\mathrm{d}\sigma/\mathrm{d}\Phi_3 = N
+\sum_{\Lambda,\Lambda'} \rho_{_{\Lambda,\Lambda'}}
+\sum_{\nu,\nu'} {\color{RoyalBlue}
+ D^{J^*}_{\Lambda,\nu}\left(\alpha,\beta,\gamma\right)
+ D^{J}_{\Lambda',\nu'}\left(\alpha,\beta,\gamma\right)
+ }
+ \sum_{\{\lambda\}} {\color{Orange}
+ O^\nu_{\{\lambda\}}\left(\{\sigma\}\right)
+ O^{\nu'*}_{\{\lambda\}}\left(\{\sigma\}\right)
+ }.
+$$
+
+:::
+
+Given the right alignment, the aligned transition amplitude can be written as
+
+
+
+````{math}
+---
+label: aligned-amplitude
+---
+\begin{eqnarray*}
+{\color{Orange}O^\nu_{\{\lambda\}}\left(\{\sigma\}\right)} &=&
+ \sum_{(ij)k}
+ \sum^{(ij)\to i,j}_s
+ \sum_\tau
+ \sum_{\{\lambda'\}}
+ \; {\color{Orange}X_s\!\left(\sigma_k\right)}
+\\ {\color{LightGray}\text{production:}} && \quad \times\;```
+ \eta_J\,
+ d^J_{\nu,\tau-\lambda'_k}\!\left(\hat\theta_{k(1)}\right)\,
+ H^{0\to(ij),k}_{\tau,\lambda_k'}
+\\ {\color{LightGray}\text{decay:}} && \quad \times\;
+ \eta_s\,
+ d^s_{\tau,\lambda'_i-\lambda_j'}\!\left(\theta_{ij}\right)\,
+ H^{(ij)\to i,j}_{\lambda'_i,\lambda'_j}
+\\ {\color{LightGray}\text{rotations:}} && \quad \times\;
+ d^{j_1}_{\lambda'_1,\lambda_1}\!\left(\zeta^1_{k(0)}\right)\,
+ d^{j_2}_{\lambda'_2,\lambda_2}\!\left(\zeta^2_{k(0)}\right)\,
+ d^{j_3}_{\lambda'_3,\lambda_3}\!\left(\zeta^3_{k(0)}\right)
+\end{eqnarray*}
+````
+
+Notice the general structure:
+
+- **Summations**: The outer sum is taken over the three decay chain combinations $(ij)k \in \left\{(23)1, (31)2, (12)3\right\}$. Next, we sum over the spin magnitudes $s$ of all resonances[^1], the corresponding allowed helicities $\tau$, and allowed spin projections $\{\lambda'\}$ of the final state.
+- **Dynamics**: The function $X_s$ only depends on a single Mandelstam variable and carries all the dynamical information about the decay chain. Typically, these are your $K$-matrix or Breit-Wigner lineshape functions.
+- **Isobars**: There is a Wigner $d$-function and a helicity coupling $H$ for each isobar in the three-body decay chain: the $0\to(ij),k$ production node and the $(ij)\to i,j$ decay node. The argument of these Wigner $d$-functions are the polar angles. The factors $\eta_J=\sqrt{2S+1}$ and $\eta_s=\sqrt{2s+1}$ are normalization factors.
+- **Wigner rotations**: The last three Wigner $d$-functions represent Wigner rotations that appear when rotating the boosted frames of the production and decay isobar amplitudes back to the space-fixed CM frame.
+
+If $k=1$, we have $\hat\theta_{k(1)}=0$, so the Wigner $d$ function for the production isobar reduces to a Kronecker delta, $d^J_{\nu,\tau-\lambda'_k}\!\left(\hat\theta_{k(1)}\right) = \delta_{\nu,\tau-\lambda'_k}$.
+
+[^1]: Alternatively, one can sum over all resonances themselves, so that one has a dynamic function $X_\mathcal{R}(\sigma_k)$ for each resonance $\mathcal{R}$ in subsystem $k$.
+
+Equation {eq}`aligned-amplitude` is written in terms of _helicity_ couplings, but can be rewritten in terms of _$LS$ couplings_, using
+
+```{math}
+\begin{eqnarray*}
+H^{0\to(ij),k}_{\tau,\lambda'_k} & = &
+ \sum_{LS}
+ H^{0\to(ij),k}_{LS}
+ \sqrt{\frac{2L+1}{2J+1}}
+ C^{S,\tau-\lambda'_k}_{s,\tau,j_k,-\lambda'_k}
+ C^{J,\tau-\lambda'_k}_{L,0,S,\tau-\lambda'_k} \\
+H^{(ij)\to i,j}_{\lambda'_i,\lambda'_j} & = &
+ \sum_{l's'}
+ H^{0\to(ij),k}_{l's'}
+ \sqrt{\frac{2l'+1}{2s+1}}
+ C^{s',\lambda'_i-\lambda'_j}_{j_i,\lambda'_i,j_j,-\lambda'_j}
+ C^{s,\lambda'_i-\lambda'_j}_{l',0,s',\lambda'_i-\lambda'_j}\,.
+\end{eqnarray*}
+```
+
+The dynamics function is dependent on the $LS$ values and we write $X_s^{LS;l's'}$ instead of $X_s$.
+
## Examples
```{toctree}
@@ -87,3 +181,12 @@ hidden:
---
API
```
+
+## Bibliography
+
+```{bibliography} /references.bib
+---
+style: unsrt
+cited:
+---
+```
diff --git a/docs/references.bib b/docs/references.bib
new file mode 100644
index 00000000..5437a021
--- /dev/null
+++ b/docs/references.bib
@@ -0,0 +1,16 @@
+@article{JPAC:2019ufm,
+ title = {Dalitz-Plot Decomposition for Three-Body Decays},
+ author = {Mikhasenko, M. and Albaladejo, M. and Bibrzycki, Ł. and {Fernandez-Ramirez}, C. and Mathieu, V. and Mitchell, S. and Pappagallo, M. and Pilloni, A. and Winney, D. and Skwarnicki, T. and Szczepaniak, A. P.},
+ year = {2020},
+ month = feb,
+ journal = {Physical Review D: Particles and Fields},
+ volume = {101},
+ number = {3},
+ eprint = {1910.04566},
+ eprinttype = {arxiv},
+ pages = {034033},
+ issn = {2470-0010, 2470-0029},
+ doi = {10.1103/PhysRevD.101.034033},
+ url = {https://journals.aps.org/prd/abstract/10.1103/PhysRevD.101.034033},
+ archiveprefix = {arXiv}
+}
diff --git a/setup.cfg b/setup.cfg
index ad04915a..feb6f074 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -62,6 +62,7 @@ doc =
sphinx-copybutton
sphinx-design
sphinx-togglebutton
+ sphinxcontrib-bibtex
tensorwaves[jax]
tqdm
jupyter =