Skip to main content

Partial Wave Analysis program using Tensorflow

Project description

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. 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 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

TFPWA-0.2.1.tar.gz (771.3 kB view details)

Uploaded Source

File details

Details for the file TFPWA-0.2.1.tar.gz.

File metadata

  • Download URL: TFPWA-0.2.1.tar.gz
  • Upload date:
  • Size: 771.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for TFPWA-0.2.1.tar.gz
Algorithm Hash digest
SHA256 71fd75214833634e1cc7066651a7cdfbcb855e9bd3a2f285f8ff06119bc488d4
MD5 c32229fa95333a5e4e0e589454c3d2d8
BLAKE2b-256 5efc1cd7ffbdb14d669a09da09118d7b278ed18a4a7698c76609f98d316231ad

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page