PYTHIA  8.303
Public Member Functions | List of all members
Pythia8ToHepMC3 Class Reference

Public Member Functions

 Pythia8ToHepMC3 ()
 Constructor and destructor.
 
bool fill_next_event (Pythia8::Pythia &pythia, GenEvent *evt, int ievnum=-1)
 The recommended method to convert Pythia events into HepMC3 ones.
 
bool fill_next_event (Pythia8::Event &pyev, GenEvent *evt, int ievnum=-1, const Pythia8::Info *pyinfo=0, Pythia8::Settings *pyset=0)
 Alternative method to convert Pythia events into HepMC3 ones. More...
 
bool print_inconsistency () const
 Read out values for some switches.
 
bool free_parton_warnings () const
 
bool crash_on_problem () const
 
bool convert_gluon_to_0 () const
 
bool store_pdf () const
 
bool store_proc () const
 
bool store_xsec () const
 
bool store_weights () const
 
void set_print_inconsistency (bool b=true)
 Set values for some switches.
 
void set_free_parton_warnings (bool b=true)
 
void set_crash_on_problem (bool b=false)
 
void set_convert_gluon_to_0 (bool b=false)
 
void set_store_pdf (bool b=true)
 
void set_store_proc (bool b=true)
 
void set_store_xsec (bool b=true)
 
void set_store_weights (bool b=true)
 

Member Function Documentation

bool fill_next_event ( Pythia8::Event pyev,
GenEvent *  evt,
int  ievnum = -1,
const Pythia8::Info pyinfo = 0,
Pythia8::Settings pyset = 0 
)
inline

Alternative method to convert Pythia events into HepMC3 ones.

  1. Error if no event passed.

Event number counter.

Set units to be GeV and mm, to agree with Pythia ones.

  1. Fill particle information.
  2. Fill vertex information.

Update vertex position if necessary.

Reserve memory for the event.

Here we assume that the first two particles are the beam particles.

Add particles and vertices in topological order.

Attributes should be set after adding the particles to event.

Colour flow uses index 1 and 2.

If hadronization switched on then no final coloured particles.

  1. Check for particles which come from nowhere, i.e. are without mothers or daughters. These need to be attached to a vertex, or else they will never become part of the event.

Check for particles not added to the event. NOTE: We have to check if this step makes any sense in the HepMC event standard.

Also check for free partons (= gluons and quarks; not diquarks?).

  1. Store PDF, weight, cross section and other event information. Flavours of incoming partons.

Store PDF information.

Store process code, scale, alpha_em, alpha_s.

Store event weights.

for (int iweight = 0; iweight < pyinfo->nWeights(); ++iweight) { evt->weights().push_back(pyinfo->weight(iweight)); }

Store cross-section information in pb.

First set atribute to event, such that GenCrossSection::set_cross_section knows how many weights the event has and sets the number of cross sections accordingly.

If multiweights with possibly different xsec, overwrite central value

Done.


The documentation for this class was generated from the following file: