Table of Contents
Supported file formats
ProMC file format
PROMC file format is used since 2014. It is primary used to to keep EVGEN records (truth level). The format uses Google protocol buffers. It uses varints for integer values (and, by design, for 4-momenta and vertex). It's efficient format for events with large number of particles. The file sizes for EVGEN files are typically 30% smaller than for traditional ROOT files (with fixed bytes for floats and integers). The file format is self-describing. Suported by C++, Java/Jython (read/write), CPython.
<fc #000080> Supported by: </fc> hs-toolkit and Jas4PP
ProIO file format
PROIO file format is used since 2018. It is more efficient file format than ProMC when the number of events in the files larger than 64k, and when number of particles in files is not large (<100). For the latter Monte Carlo records, the files created by ProIO are about 10-20% smaller in size than those from ProMC. ProIO files can be used with C++, Python, Java/Jython (only read), Go.
For pp collision events with large number of particles, ProMC and ProIO have same file sizes when ProIO use mc.proto files with VarintPackedParticles messages (arrays with 4-momenta converted to varints). See some tests in http://atlaswww.hep.anl.gov/hepsim/info.php?item=326
<fc #000080> Supported by: </fc> hs-toolkit and Jas4PP
LCIO file format
LCIO files are used to keep simulated and reconstructed events for Geant4 simulation (and reconstruction) using “all-silicon” detector deigns.
<fc #000080> Supported by Jas4PP</fc>
ROOT file format
ROOT files are used to keep fast detector simulations from Delphes
LHE file format
LHE file formats are typically used for parton-level events from Madgraph.