Skip to content
forked from jiangyi15/tf-pwa

Partial Wave Analysis using TensorFlow.

License

Notifications You must be signed in to change notification settings

Yinrui-Liu/tf-pwa

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Partial Wave Analysis program using Tensorflow

Documentation build status CI status Test coverage conda cloud pypi license
Binder pre-commit Prettier Code style: black Imports: isort

This is a package and application for partial wave analysis (PWA) using TensorFlow. By using simple configuration file (and some scripts), PWA can be done fast and automatically.

Install

Get the packages using

git clone https://github.com/jiangyi15/tf-pwa

The dependencies can be installed by conda or pip.

conda (recommended)

When using conda, you don't need to install CUDA for TensorFlow specially.

  1. Get miniconda for python3 from miniconda3 and install it.

  2. Install requirements

conda install --file requirements-min.txt
  1. The following command can be used to set environment variables of Python. (Use --no-deps to make sure that no PyPI package will be installed. Using -e, so it can be updated by git pull directly.)
python -m pip install -e . --no-deps
  1. (option) There are some option packages, such as uproot for reading root file. It can be installed as
conda install uproot -c conda-forge
### conda channel (experimental)

A pre-built conda package (Linux only) is also provided, just run following command to install it.

conda config --add channels jiangyi15
conda install tf-pwa

### pip

When using `pip`, you will need to install CUDA to use GPU. Just run the following command :

python3 -m pip install -e .

To contribute to the project, please also install additional developer tools with:

python3 -m pip install -e .[dev]

Scripts

fit.py

simple fit scripts, decay structure is described in config.yml, here [] means options.

python fit.py [--config config.yml]  [--init_params init_params.json]

fit parameters will save in final_params.json, figure can be found in figure/.

state_cache.sh

script for cache state, using the latest *_params.json file as parameters and cache newer files in path (the default is trash/).

./state_cache.sh [path]

Documents

See tf-pwa.rtfd.io for more information.

Autodoc using sphinx-doc, need sphinx-doc

python setup.py build_sphinx

Then, the documents can be found in build/sphinx/index.html.

Documents cna also build with Makefile in docs as

cd docs && make html

Then, the documents can be found in docs/_build/html.

Dependencies

tensorflow or tensorflow-gpu >= 2.0.0

sympy : symbolic expression

PyYAML : config.yml file

matplotlib : plot

scipy : fit

About

Partial Wave Analysis using TensorFlow.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.1%
  • Other 0.9%