ComPWA / polarimetry

Polarimetry for the decay Λc → p K π
https://compwa.github.io/polarimetry
Apache License 2.0
5 stars 1 forks source link

Aligned polarimetry field of the Λc → p π K decay

10.1007/JHEP07(2023)228 10.5281/zenodo.7544989 License

Ruff uv Pixi Badge code style: prettier Spelling checked PyPI package Supported Python versions Binder

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]

Installation

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()'

Documentation dependencies

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

Building the documentation

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
```