Skip to content

lan13005/PyAmpTools

Repository files navigation

Introduction

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.

Information Field Theory for Partial Wave Analysis

  • iftpwa repository (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

High Throughput Stress Testing of PWA Inference Pipelines

  • iftpwa prior 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 iftpwa increases 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
  • 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

Python Bindings for C++

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.

Documentation

Here is the Documentation for installation instructions and tutorials.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages