pilemc is hosted by Hepforge, IPPP Durham


PileMC is a tool for the simulation of pile-up events at HepMC level. Technically, PileMC reads two HepMC files, one of which contains signal events and the other one contains minimum-bias events. The program generates a HepMC file containing signal events superimposed with min-bias events, yielding an event-generator-level approximation to the presence of pile-up in high-luminosity collisions.


There is no official release of PileMC yet. However, you can check out the development version via SVN:

svn checkout http://pilemc.hepforge.org/svn/trunk pilemc

To compile and install the SVN version of PileMC, follow these steps:
./configure --prefix=/your/prefix/path --with-hepmc=/path/to/hepmc
make install

reconf calls several tools from the GNU Build System (a.k.a. Autotools), which is therefore required to build the SVN version of PileMC.


The usage of PileMC is straightforward. You only have to take care that the event generators and Rivet are put together properly. The following example shows how to use PileMC together with Herwig++ and Rivet:

# create some named pipes for the exchange of HepMC events
mkfifo signal.hepmc
mkfifo minbias.hepmc
mkfifo signal-plus-pileup.hepmc

# start (different) generators, which write events to signal.hepmc and minbias.hepmc respectively
Herwig++ run signal.run -N1000 &> herwig.signal.log &
agile-runmc Pythia6:425 --beams=LHC:7000 -P fpythia-minbias.params \
  -n 30000 -o minbias.hepmc &> herwig.minbias.log &

# and now PileMC, which dumps the composed events to signal-plus-pileup.hepmc 
pilemc -s signal.hepmc -p minbias.hepmc -o signal-plus-pileup.hepmc &> pilemc.log &

# use Rivet to do the analysis
rivet -a ATLAS_2010_S8817804 -H herwig-with-pileup.aida signal-plus-pileup.hepmc

If you put all these commands into a shell script, don't forget to start the event generators and pilemc in the background with &.