Frequently Asked EnergyFlow Questions


How do I cite the EnergyFlow package?

Please cite the relevant papers if they or this package help your research. Here are the BibTeX entries to use:

@article{Komiske:2017aww,
      author         = "Komiske, Patrick T. and Metodiev, Eric M. and Thaler, Jesse",
      title          = "{Energy Flow Polynomials: A complete linear basis for jet 
                         substructure}",
      journal        = "JHEP",
      volume         = "04",
      year           = "2018",
      pages          = "013",
      doi            = "10.1007/JHEP04(2018)013",
      eprint         = "1712.07124",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-ph",
      reportNumber   = "MIT-CTP-4965"
}

@article{Komiske:2018cqr,
      author         = "Komiske, Patrick T. and Metodiev, Eric M. and Thaler, Jesse",
      title          = "{Energy Flow Networks: Deep Sets for Particle Jets}",
      journal        = "JHEP",
      volume         = "01",
      year           = "2019",
      pages          = "121",
      doi            = "10.1007/JHEP01(2019)121",
      eprint         = "1810.05165",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-ph",
      reportNumber   = "MIT-CTP 5064"
}

@article{Komiske:2019fks,
      author         = "Komiske, Patrick T. and Metodiev, Eric M. and Thaler, Jesse",
      title          = "{The Metric Space of Collider Events}",
      year           = "2019",
      eprint         = "1902.02346",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-ph",
      reportNumber   = "MIT-CTP 5102"
}

In addition to the above papers, we ask that you cite the quark and gluon datasets directly. Here are the BibTex entries to use:

@misc{komiske_patrick_2019_3164691,
  author       = {Komiske, Patrick and Metodiev, Eric and Thaler, Jesse},
  title        = {Pythia8 Quark and Gluon Jets for Energy Flow},
  month        = may,
  year         = 2019,
  doi          = {10.5281/zenodo.3164691},
  url          = {https://doi.org/10.5281/zenodo.3164691}
}

@misc{pathak_aditya_2019_3066475,
  author       = {Pathak, Aditya and Komiske, Patrick and
                  Metodiev, Eric and Schwartz, Matthew},
  title        = {Herwig7.1 Quark and Gluon Jets},
  month        = may,
  year         = 2019,
  doi          = {10.5281/zenodo.3066475},
  url          = {https://doi.org/10.5281/zenodo.3066475}
}

DOI - Pythia samples
DOI - Herwig samples

Why Python instead of C++?

Computing the EFPs requires a function such as NumPy's einsum that can efficiently evaluate arbitrary tensor contractions. To write such a function from scratch in C++ is difficult, and there is no obvious library in C++ to use (though if one were to attempt this the tensor algebra compiler seems like a promising tool).

NumPy is a highly-optimized Python library written in C that provides all of the tools required to efficiently compute the EFPs. Libraries like NumPy take advantage of optimizations that the physicist-programmer typically does not, such as architecture-optimized libraries like BLAS or LAPACK and low-level features such as SSE/AVX instructions.

Beyond just computing EFPs, EnergyFlow makes use of other libraries written in python including Keras and scikit-learn for the architecture implementations, POT and SciPy for EMD computations, and matplotlib for the examples.

Can I contribute to the code?

All of our code is open source and hosted on GitHub. We welcome additional contributors, and if you are interested in getting involved please contact us directly. Contact information is included in the relevant Energy Flow papers and our GitHub repository.

How do I report an issue?

Please let us know of any issues you encounter as soon as possible by creating a GitHub Issue.

Where can I get graph image files?

Image files for all connected multigraphs with up to 7 edges in the EFP style are available as PDF files here. You are free to use them with the proper attribution.