This repository contains Python bindings for AmpTools and interfaces with iftpwa repository for constructing non-parametric models for partial wave analysis under the numerical information field theory framework, NIFTy. Additional hooks into jax + numpyro allows for rapid and automated exploration of the partial wave optimization landscape under Frequentist and Bayesian lenses.
iftpwarepository (currently private under development)- Partial wave analysis of large datasets using non-parametric (smooth Gaussian processes) and parametric models using NIFTy for fast variational inference over million to billion parameter spaces.
- For general information on information theory, see these Notes
iftpwaprior model can act as a generator for diverse and complex amplitude models (smooth Gaussian processes + parametric models like a Breit-Wigner, Flatte, etc.)- Inference from multiple angles using likelihoods provided by JAX:
- Inference with
iftpwaincreases identifiability of smooth amplitudes in the presence of ambiguities + crossing solutions + instabilities - Maximum Likelihood Estimation (MLE) of binned amplitudes using iminuit or
scipy.optimize(lbfgs, etc.) - MCMC (Hamiltonian Monte Carlo) of binned amplitudes using NumPyro
- SVGD (Stein Variational Gradient Descent) using NumPyro for "inversion" of binned projected moments back to amplitudes
- Inference with
- Neural density ratio estimation (DRE) for amortized application of acceptance functions - trained using flax/optax
- These core technologies can be used to increase the rate and effectiveness of Input/Output studies
AmpTools and FSRoot are included as submodules. Python bindings are created using PyROOT which uses cppyy.
Features:
- Access to PyROOT ecosystem
- Pythonization of c++ objects: simplify interactions with c++ source code
- Dynamically load appropriate libraries / (re)compilation of high level scripts (like fits and plotters) are time consuming and distracting
- Improved scripting, string parsing (regex), etc.
Here is the Documentation for installation instructions and tutorials.