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 pilemcTo compile and install the SVN version of PileMC, follow these steps:
./reconf ./configure --prefix=/your/prefix/path --with-hepmc=/path/to/hepmc make 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 &.