Giter Site home page Giter Site logo

redeboer / compwa-polarimetry Goto Github PK

View Code? Open in Web Editor NEW

This project forked from compwa/polarimetry

0.0 0.0 0.0 1.01 MB

Polarimetry for the decay Λc → p K π

Home Page: https://lc2pkpi-polarimetry.docs.cern.ch

License: GNU General Public License v3.0

Python 44.19% C 19.20% Julia 36.61%

compwa-polarimetry's Introduction

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

10.1007/JHEP07(2023)228 10.5281/zenodo.7544989 GPLv3+ license

Ruff code style: prettier Spelling checked PyPI package Supported Python versions

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 Collaboration1 and its supplementary material.

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

Footnotes

  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]

  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:

    tox -e doc
    

compwa-polarimetry's People

Contributors

redeboer avatar mmikhasenko avatar pre-commit-ci[bot] avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.