Skip to main content

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

You can go to http://tf-pwa.readthedocs.io/install for more informations. Get the packages using

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

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, we recommed Ampere card users to install with tensorflow_2_6_requirements.txt (see this technical FAQ).

You can install a tensorflow gpu version in anaconda as

conda install tensorflow[build="gpu*"]=2.8

and then install the rest dependences

conda install --file requirements-min.txt

Or

You can install a newer version in conda-forge as

conda install --file tensorflow_2_6_requirements.txt -c conda-forge
  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 (The newest tensorflow support install with CUDA runtime directly as pip install tensorflow[and-cuda]). 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]

You can also install from pypi.org directly without cloning the repo manually.

python3 -m pip install TFPWA

And also for the newest version from github

python3 -m pip install git+https://github.com/jiangyi15/tf-pwa.git

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 can also build with Makefile in docs as

cd docs && make html

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

Other resources

面向 BESIII 用户的 TF-PWA 使用手册

HADRON 2023

PWA 12

Dependencies

tensorflow or tensorflow-gpu >= 2.0.0

cudatoolkit : CUDA library for GPU acceleration

sympy : symbolic expression

PyYAML : config.yml file

matplotlib : plot

scipy : fit

Metadata

Release files for TFPWA 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for TFPWA 0.2.2
File Size Uploaded
TFPWA-0.2.2.tar.gz 791.9 kB Details

Release files / TFPWA-0.2.2.tar.gz

Download URL TFPWA-0.2.2.tar.gz
Size 791.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a030f4bf791f284b11d2dfe8027c81fe5c43c6ae0368e22663ee9fee96e703ab
BLAKE2b-256 checksum
How to use checksums
262763112b66714a4e72554ee8e390182cc1edb4e4d8849dbda134c70561e6c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release history Release notifications | RSS feed

This release

0.2.2 This release

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page