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

A derived class from LHAup which generates events with HelacOnia. More...

#include <LHAHelaconia.h>

Inheritance diagram for LHAupHelaconia:

Public Member Functions

 LHAupHelaconia (Pythia *pythiaIn, string dirIn="helaconiarun", string exeIn="ho_cluster")
 ~LHAupHelaconia ()
 Destructor. More...
bool readString (string line)
 Read a HelacOnia command string. More...
void setEvents (int eventsIn)
 Set the number of events to generate per run. More...
bool setSeed (int seedIn, int runsIn=30081)
 Set the random seed and maximum runs. More...
bool setInit ()
 Set the initialization information. More...
bool setEvent (int=0)
 Set the event information. More...
bool execute (string line)
 Execute a system command. More...
bool run (int eventsIn, int seedIn=-1)
 Run HelacOnia. More...
bool reader (bool init)
 Create the LHEF reader. More...
int convert (int idIn)
 Convert the color octet HelacOnia ID to a Pythia 8 ID.
void errorMsg (string messageIn)
 Print a message the first few times. Insert in database. More...
- Public Member Functions inherited from LHAup
virtual ~LHAup ()
void setPtr (Info *infoPtrIn)
 Set info pointer.
virtual void newEventFile (const char *)
 Method to be used for LHAupLHEF derived class.
virtual bool fileFound ()
virtual bool useExternal ()
int idBeamA () const
 Give back info on beams.
int idBeamB () const
double eBeamA () const
double eBeamB () const
int pdfGroupBeamA () const
int pdfGroupBeamB () const
int pdfSetBeamA () const
int pdfSetBeamB () const
int strategy () const
 Give back weight strategy.
int sizeProc () const
 Give back info on processes.
int idProcess (int proc) const
double xSec (int proc) const
double xErr (int proc) const
double xMax (int proc) const
double xSecSum () const
double xErrSum () const
void listInit ()
 Print the initialization info; useful to check that setting it worked. More...
int idProcess () const
 Give back process number, weight, scale, alpha_em, alpha_s.
double weight () const
double scale () const
double alphaQED () const
double alphaQCD () const
int sizePart () const
 Give back info on separate particle.
int id (int part) const
int status (int part) const
int mother1 (int part) const
int mother2 (int part) const
int col1 (int part) const
int col2 (int part) const
double px (int part) const
double py (int part) const
double pz (int part) const
double e (int part) const
double m (int part) const
double tau (int part) const
double spin (int part) const
double scale (int part) const
int id1 () const
 Give back info on flavour and x values of hard-process initiators.
int id2 () const
double x1 () const
double x2 () const
bool pdfIsSet () const
 Optional: give back info on parton density values of event.
int id1pdf () const
int id2pdf () const
double x1pdf () const
double x2pdf () const
double scalePDF () const
double pdf1 () const
double pdf2 () const
bool scaleShowersIsSet () const
 Optional: give back info on parton shower scales.
double scaleShowers (int i) const
void listEvent ()
 Print the info; useful to check that reading an event worked. More...
virtual bool skipEvent (int nSkip)
virtual bool openLHEF (string fileNameIn)
 Four routines to write a Les Houches Event file in steps. More...
virtual bool closeLHEF (bool updateInit=false)
 Write end of a Les Houches Event File and close it. More...
bool initLHEF ()
 Write initialization information to a Les Houches Event File. More...
bool eventLHEF (bool verbose=true)
string getFileName () const
 Get access to the Les Houches Event file name.

Additional Inherited Members

- Protected Member Functions inherited from LHAup
 LHAup (int strategyIn=3)
 Constructor. Sets default to be that events come with unit weight.
void setBeamA (int idIn, double eIn, int pdfGroupIn=0, int pdfSetIn=0)
 Input beam info.
void setBeamB (int idIn, double eIn, int pdfGroupIn=0, int pdfSetIn=0)
void setStrategy (int strategyIn)
 Input process weight strategy.
void addProcess (int idProcIn, double xSecIn=1., double xErrIn=0., double xMaxIn=1.)
 Input process info.
void setXSec (int iP, double xSecIn)
 Possibility to update some cross section info at end of run.
void setXErr (int iP, double xErrIn)
void setXMax (int iP, double xMaxIn)
void setProcess (int idProcIn=0, double weightIn=1., double scaleIn=0., double alphaQEDIn=0.0073, double alphaQCDIn=0.12)
 Input info on the selected process. More...
void addParticle (LHAParticle particleIn)
 Input particle info, one particle at the time.
void addParticle (int idIn, int statusIn=0, int mother1In=0, int mother2In=0, int col1In=0, int col2In=0, double pxIn=0., double pyIn=0., double pzIn=0., double eIn=0., double mIn=0., double tauIn=0., double spinIn=9., double scaleIn=-1.)
void setIdX (int id1In, int id2In, double x1In, double x2In)
 Input info on flavour and x values of hard-process initiators.
void setPdf (int id1pdfIn, int id2pdfIn, double x1pdfIn, double x2pdfIn, double scalePDFIn, double pdf1In, double pdf2In, bool pdfIsSetIn)
 Optionally input info on parton density values of event.
void setScaleShowers (double scaleIn1, double scaleIn2=0.)
 Optionally input info on parton shower starting scale; two for DPS.
bool setInitLHEF (istream &is, bool readHeaders=false)
 Three routines for LHEF files, but put here for flexibility. More...
bool setNewEventLHEF (istream &is)
bool setOldEventLHEF ()
 Make current event information read in by setNewEventLHEF. More...
istream * openFile (const char *fn, ifstream &ifs)
void closeFile (istream *&is, ifstream &ifs)
void setInfoHeader (const string &key, const string &val)
- Protected Attributes inherited from LHAup
 Pointer to various information on the generation.
int nupSave
 Event properties from LHEF files, for repeated use.
int idprupSave
double xwgtupSave
double scalupSave
double aqedupSave
double aqcdupSave
double xSecSumSave
double xErrSumSave
vector< LHAParticleparticlesSave
bool getPDFSave
bool getScale
bool getScaleShowers
int id1InSave
int id2InSave
int id1pdfInSave
int id2pdfInSave
double x1InSave
double x2InSave
double x1pdfInSave
double x2pdfInSave
double scalePDFInSave
double pdf1InSave
double pdf2InSave
double scaleShowersInSave [2]
string fileName
 File to which to write Les Houches Event File information.
fstream osLHEF
char dateNow [12]
char timeNow [9]
- Static Protected Attributes inherited from LHAup
static const double CONVERTMB2PB = 1e9
 Allow conversion from mb to pb. More...

Detailed Description

A derived class from LHAup which generates events with HelacOnia.

This class automatically generates hard processes with HelacOnia and reads in the LHEF file output. The user can send commands to HelacOnia via the readString method. The launch command, random seed, and shower choice are automatically handled. For example, the following will produce J/psi events from 13 TeV proton proton collisions: readString("generate u u~ > cc~(3S11) g") The number of events generated per HelacOnia run is controlled by setEvents, while the random seed is controlled by setSeed.

Constructor & Destructor Documentation


Destructor: Print error statistics before exiting. Printing code basically copied from Info class.


Loop over all messages

Message printout.


Member Function Documentation

void errorMsg ( string  messageIn)

Print a message the first few times. Insert in database.

Recover number of times message occured. Also inserts new string.

Print message the first few times.

bool execute ( string  line)

Execute a system command.

Note: The functions below have been made public to ease the generation of Python bindings. protected:

bool reader ( bool  init)

Create the LHEF reader.

Check valid LHE file.

Determine the cross-section (if needed).

Set the info.

bool readString ( string  line)

Read a HelacOnia command string.

The special command "set state = <pid>" is not passed to HelacOnia, but rather is used to set the color singlet state being produced from the color octet state (if a color octet state is being produced). If color octet production is enabled then the appropriate quark mass is modified to half the mass of the color octet state plus the color octet mass splitting.

bool run ( int  eventsIn,
int  seedIn = -1 

Run HelacOnia.

Set up run and seed.

Determine the heavy quark mass.

Write the generation file.

Create the event shuffler.

Execute the run commands.

bool setEvent ( int  = 0)

Set the event information.

Run setEvent from the LHEF object and launch HelacOnia if failed.

Read the event from the LHEF object.

Write the event.

Implements LHAup.

void setEvents ( int  eventsIn)

Set the number of events to generate per run.

Set the number of events to generate per HelacOnia run; default is 10000.

bool setInit ( )

Set the initialization information.

Create the LHEF LHAup object and run setInit.

Implements LHAup.

bool setSeed ( int  seedIn,
int  runsIn = 30081 

Set the random seed and maximum runs.

Set the random seed and maximum allowed runs.

If the random seed is negative (default of -1), then the HelacOnia seed is taken as the Pythia parameter "Random:seed", which must be greater than 0. If the maximum number of allowed runs is exceeded (default of 30081) an error is thrown. The seed for a HelacOnia run is set as: (random seed - 1) * (maximum runs) + (number of runs) + 1 HelacOnia can only handle random seeds up to 30081 * 30081. So, with this strategy, one can generate Pythia jobs with seeds from 0 to 30081, with each job running HelacOnia less than 30081 times, and ensure a fully statistically independent sample. If more than 30081 jobs are needed, then the maximum allowed runs can be lowered accordingly, and if need be, setEvents can be used to increase the number of events generated per run.

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