Site menu:



Next generation input-output file format

ProMC is a library for Monte Carlo event records or any structural data, including experimental data, in very compact binary form. The main features are:

ProMC ("ProtocolBuffers" MC) is based on Google's Protocol Buffers, language-neutral, platform-neutral and extensible mechanism for serializing structured data. It uses "varints" as a way to store and compress integers using variable number of bytes. Smaller numbers take a smaller number of bytes. This means that low energetic particles (jets, clusters, cells, tracks etc.) can be represented by smaller number of bytes, since values needed to represent such particles are smaller compared to high-energetic particles or other objects.

ProMC is optimized for efficient storage of numeric data which have a small signal and large background (or “noise”). For HEP, it is optimized for data storage of events with large number of soft particles ("pileup" or "noise"). Benchmarks indicate that ProMC files use 40-50% less disk storage for events with pileup compared to IO with fixed-length representation of numbers and gzip/zip compression. The data reduction depends on the underlying energy spectrum: low-energetic part of the spectrum is "compressed" more effectively than high-energy part.

ProMC downloads (ANL)
ProMC downloads (UK, Durham)
ProMC manual and tutorial

S.Chekanov, chekanov[AT] (ANL)