This repository a symbolic amplitude model for the decay $\Lambda^+_c \to p \pi^+ K^-$ that is aligned with Dalitz-plot decomposition and computes an align polarimeter vector field $\vec\alpha$. Helicity couplings and other parameter values are taken from a recent study by the LHCb Collaboration[^1] and its supplementary material.
[^1]: Amplitude analysis of the $\Lambda^+_c \to p K^- \pi^+$ decay and $\Lambda^+_c$ baryon polarization measurement in semileptonic beauty hadron decays (2022) [link]
It's recommended to develop this code base with VSCode and install the developer environment with Conda:
conda env create
conda activate polarimetry
Style checks are enforced with Pre-commit. To activate for each commit, run:
pre-commit install
[!TIP] For more information about the local Python developer environment, see here.
This repository also contains Julia source code and Pluto notebooks. Julia can be downloaded here. You then have to activate and instantiated the Julia environment provided in the julia
folder. This can be done as follows from the root directory:
julia --project=./julia -e 'import Pkg; Pkg.instantiate()'
To build the documentation, you need to install LaTeX and some additional fonts. In Ubuntu, this can be done with:
sudo apt-get install -y cm-super dvipng texlive-latex-extra
In addition, for building the documentation as a single PDF file, you need to install XeTeX:
sudo apt-get install -y inkscape latexmk make texlive-fonts-extra texlive-xetex xindy
Having installed the Python environment, you can build the documentation with:[^2]
tox -e docnb
This will run all Jupyter notebooks and convert the output to static webpages (view the output under docs/_build/html/index.html
). Running all notebooks from scratch (without any available cache) should take around one hour.
If you have installed Julia and instantiated the Julia environment, you can embed the Pluto notebooks as static pages in the documentation with:
EXECUTE_PLUTO=YES tox -e docnb
or, alternatively, by executing all Jupyter and Pluto notebooks (ignoring any existing caches):
EXECUTE_PLUTO=YES tox -e docnb-force
The above commands result in a static HTML webpage. It's also possible to render the notebook as a single PDF file. This can be done as follows:
tox -e pdf
Just as above, cell output can be rendered by setting the EXECUTE_NB
variable to some value:
EXECUTE_NB=YES tox -e pdf
[^2]: It's also possible have a look at the documentation without cell output (just as a check for the links). This can be done with:
```shell
tox -e doc
```