This repository contains the source code for “ampform-dpd
to formulate symbolic amplitude models for the decay
All the dependencies required to work on this Repository are managed by Pixi. If you have installed Pixi, you can simply start developing by activating the environment with:
pixi shell
This will install uv
for managing Python and its dependencies as well as Julia. Then it activates the environment and you can start developing.
Style checks are enforced with Pre-commit. You should install this system-wide once, for instance through uv
. For running local CI jobs, it is also recommended to install `tox:
uv tool install --with pre-commit-uv pre-commit
uv tool install --with tox-uv tox
You can then install the Git hooks for this repository, so that the checks are run automatically before each commit:
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
Footnotes
-
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 also possible have a look at the documentation without cell output (just as a check for the links). This can be done with:
↩tox -e doc