HepMC Interface
An interface to the HepMC [Dob01] standard event record
format has been provided by M. Kirsanov. To use it, the relevant
libraires need to be linked, as explained in the README
file. Version 1 of the program requires that CLHEP is also linked,
for the handling of four-vectors, while version 2 is standalone.
This requires some adjustments in the interface code based on which
version is going to be used.
The (simple) procedure to translate PYTHIA 8 events into HepMC ones
is illustrated in the main31.cc
, main32.cc
and main54.cc
main programs. At the core is a call to
the
HepMC::I_Pythia8::fill_next_event( pythia, hepmcevt, ievnum = -1, convertGluonTo0 = false )
which takes a reference of the generator object and uses it, on the one
hand, to read out and covert the event record in pythia.event
and, on the other hand, to extract and store parton-density (PDF) information
for the hard subprocess from pythia.info
. The latter step only
works with HepMC version 2. The optional last argument, if true
,
allows you to store gluons as "PDG" code 0 rather than the normal 21; this
only applies to the PDF information, not the event record.
The earlier version of this routine,
HepMC::I_Pythia8::fill_next_event( pythia.event, hepmcevt, ievnum = -1 )
is retained (for now) for backwards compatibility. It takes a PYTHIA event
as input and returns a HepMC one, but without storing the PDF information.
The latter could then instead be stored by a separate call
HepMC::I_Pythia8::pdf_put_info( hepmcevt, pythia, convertGluonTo0 = false )
or not, as wished.