Welcome to EnergyFlow
EnergyFlow is a Python package for a suite of particle physics tools for computing Energy Flow Polynomials (EFPs) and implementing Energy Flow Networks (EFNs) and Particle Flow Networks (PFNs). Here are several of the features and functionalities provided by the EnergyFlow package:
- Energy Flow Polynomials: EFPs are a collection of jet substructure observables which form a complete linear basis of IRC-safe observables. EnergyFlow provides tools to compute EFPs on events for several energy and angular measures as well as custom measures.
- Energy Flow Networks: EFNs are infrared- and collinear-safe models designed for learning from collider events as unordered, variable-length sets of particles. EnergyFlow contains customizable Keras implementations of EFNs.
- Particle Flow Networks: PFNs are general models designed for learning from collider events as unordered, variable-length sets of particles, based on the Deep Sets framework. EnergyFlow contains customizable Keras implementations of PFNs.
Beyond the primary functions described above, the EnergyFlow package also provides useful supplementary features. These include a large quark/gluon jet dataset, implementations of additional machine learning architectures useful for collider physics, and many examples exhibiting the usage of the package.
- Jet Tagging Datasets: A dataset of 2 million simulated quark and gluon jets is provided.
- Additional Architectures: Implementations of other architectures useful for particle physics are also provided, such as convolutional neural networks (CNNs) for jet images.
- Detailed Examples: Examples showcasing EFPs, EFNs, PFNs, and more. Also see the EFP Demo.
The current version is
0.10.5. Using the most up-to-date version is recommended. As of version
0.7.0, tests have been written covering the majority of the EFP code. The source code can be found on GitHub.
 P. T. Komiske, E. M. Metodiev, and J. Thaler, Energy Flow Networks: Deep Sets for Particle Jets, 1810.05165.
See the LICENSE for detailed copyright information. EnergyFlow uses a customized
einsumfunc.py from the NumPy GitHub repository as well as a few functions relating to downloading files copied from the Keras GitHub repository. The copyrights for these parts of the code are properly attributed to their respective owners in the LICENSE file.