eduardo-rodrigues / decaylanguage

A package to describe and convert particle decays between digital representations

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DecayLanguage

Documentation Status Travis-CI Build Status AppVeyor Build Status Coverage Status PyPI Package latest release Supported versions Commits since latest release

A language to describe particle decays, and tools to work with them.

Installation

Just run the following:

pip install decaylanguage

You can use a virtual environment through pipenv or --user if you know what those are.

Strict dependencies:

Recommended dependencies:

  • graphviz to render (DOT language) graph descriptions of decay chains.

Usage

This is a quick user guide; for full API docs, see https://decaylanguage.readthedocs.io/en/latest/

DecayLanguage is a set of tools for building and transforming particle decays. The parts are:

Particles

You can use a variety of methods to get particles; if you know the PDG number you can get a particle directly, or you can use a search:

Particle.from_pdg(211)
Particle.from_search_list(name='pi')[0]

You can search for the properties, which are name, mass, width, charge, A, rank, I, J, G, P, quarks, status, latex, mass_upper, mass_lower, width_upper, and width_lower (some of those don't make sense). You can also use from_search to require only one match.

Once you have a particle, any of the properties can be accessed, along with several methods. Though they are not real properties, you can access bar, radius, and spintype. You can also invert() a particle. There are lots of printing choices, describe(), programmatic_name(), html_name(), html printing outs in notebooks, and of course repr and str support.

Decays

The most common way to create a decay chain is to read in an AmpGen style syntax from a file or a string.

Converters

You can output to a format (currently only GooFit supported, feel free to make a PR to add more). Use a subclass of DecayChain, in this case, GooFitChain.

Acknowledgements

Decay Language is free software released under a BSD 3-Clause License. It was originally developed by Henry Schreiner.

About

A package to describe and convert particle decays between digital representations

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Cuda 45.7%Language:Jupyter Notebook 35.0%Language:Python 19.0%Language:Batchfile 0.2%