Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TPythia8 Class Reference

TPythia8 is an interface class to C++ version of Pythia 8.1
event generators, written by T.Sjostrand.

The user is assumed to be familiar with the Pythia package. This class includes only a basic interface to Pythia8. Because Pythia8 is also written in C++, its functions/classes can be called directly from a compiled C++ script.

To call Pythia functions not available in this interface a dictionary must be generated.

See $ROOTSYS/tutorials/pythia/pythia8.C for an example of use from CINT.

Author: Andreas Morsch 27/10/2007

*------------------------------------------------------------------------------------*
 |                                                                                    |
 |  *------------------------------------------------------------------------------*  |
 |  |                                                                              |  |
 |  |                                                                              |  |
 |  |   PPP   Y   Y  TTTTT  H   H  III    A      Welcome to the Lund Monte Carlo!  |  |
 |  |   P  P   Y Y     T    H   H   I    A A     This is PYTHIA version 8.100      |  |
 |  |   PPP     Y      T    HHHHH   I   AAAAA    Last date of change: 20 Oct 2007  |  |
 |  |   P       Y      T    H   H   I   A   A                                      |  |
 |  |   P       Y      T    H   H  III  A   A    Now is 27 Oct 2007 at 18:26:53    |  |
 |  |                                                                              |  |
 |  |   Main author: Torbjorn Sjostrand; CERN/PH, CH-1211 Geneva, Switzerland,     |  |
 |  |     and Department of Theoretical Physics, Lund University, Lund, Sweden;    |  |
 |  |     phone: + 41 - 22 - 767 82 27; e-mail: torbjorn@thep.lu.se                |  |
 |  |   Author: Stephen Mrenna; Computing Division, Simulations Group,             |  |
 |  |     Fermi National Accelerator Laboratory, MS 234, Batavia, IL 60510, USA;   |  |
 |  |     phone: + 1 - 630 - 840 - 2556; e-mail: mrenna@fnal.gov                   |  |
 |  |   Author: Peter Skands; CERN/PH, CH-1211 Geneva, Switzerland,                |  |
 |  |     and Theoretical Physics Department,                                      |  |
 |  |     Fermi National Accelerator Laboratory, MS 106, Batavia, IL 60510, USA;   |  |
 |  |     phone: + 41 - 22 - 767 24 59; e-mail: skands@fnal.gov                    |  |
 |  |                                                                              |  |
 |  |   The main program reference is the 'Brief Introduction to PYTHIA 8.1',      |  |
 |  |   T. Sjostrand, S. Mrenna and P. Skands, arXiv:0710.3820                     |  |
 |  |                                                                              |  |
 |  |   The main physics reference is the 'PYTHIA 6.4 Physics and Manual',         |  |
 |  |   T. Sjostrand, S. Mrenna and P. Skands, JHEP05 (2006) 026 [hep-ph/0603175]. |  |
 |  |                                                                              |  |
 |  |   An archive of program versions and documentation is found on the web:      |  |
 |  |   http://www.thep.lu.se/~torbjorn/Pythia.html                                |  |
 |  |                                                                              |  |
 |  |   This program is released under the GNU General Public Licence version 2.   |  |
 |  |   Please respect the MCnet Guidelines for Event Generator Authors and Users. |  |
 |  |                                                                              |  |
 |  |   Disclaimer: this program comes without any guarantees.                     |  |
 |  |   Beware of errors and use common sense when interpreting results.           |  |
 |  |                                                                              |  |
 |  |   Copyright (C) 2007 Torbjorn Sjostrand                                      |  |
 |  |                                                                              |  |
 |  |                                                                              |  |
 |  *------------------------------------------------------------------------------*  |
 |                                                                                    |
 *------------------------------------------------------------------------------------*

Definition at line 76 of file TPythia8.h.

Public Member Functions

 TPythia8 (bool printBanner=true)
 Number of particles.
 
 TPythia8 (const char *xmlDir, bool printBanner=true)
 Constructor with an xmlDir (eg "../xmldoc".
 
virtual ~TPythia8 ()
 Destructor.
 
void EventListing () const
 Event listing.
 
virtual void GenerateEvent ()
 Generate the next event.
 
Int_t GetN () const
 Initialization.
 
virtual TObjArrayImportParticles (Option_t *option="")
 Import particles from Pythia stack.
 
virtual Int_t ImportParticles (TClonesArray *particles, Option_t *option="")
 Import particles from Pythia stack.
 
Bool_t Initialize (Int_t idAin, Int_t idBin, Double_t eAin, Double_t eBin)
 Initialization.
 
Bool_t Initialize (Int_t idAin, Int_t idBin, Double_t ecms)
 Initialization.
 
void ListAll () const
 Event listing.
 
void ListChanged () const
 Event listing.
 
void Plist (Int_t id) const
 Event listing.
 
void PlistAll () const
 Event listing.
 
void PlistChanged () const
 Event listing.
 
void PrintStatistics () const
 Print end of run statistics.
 
Pythia8::Pythia * Pythia8 ()
 
void ReadConfigFile (const char *string) const
 Configuration.
 
void ReadString (const char *string) const
 Configuration.
 
- Public Member Functions inherited from TGenerator
 TGenerator ()
 
 TGenerator (const char *name, const char *title="Generator class")
 Event generator default constructor.
 
virtual ~TGenerator ()
 Event generator default destructor.
 
virtual void Browse (TBrowser *b)
 browse generator
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Compute distance from point px,py to objects in event.
 
virtual void Draw (Option_t *option="")
 Insert one event in the pad list.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to one event.
 
virtual TObjArrayGetListOfParticles () const
 
Int_t GetNumberOfParticles () const
 Return the number of particles in the stack.
 
virtual Double_t GetParameter (const char *) const
 
virtual TParticleGetParticle (Int_t i) const
 Returns pointer to primary number i;.
 
virtual TObjArrayGetPrimaries (Option_t *option="")
 
Float_t GetPtCut () const
 
virtual TClassIsA () const
 
virtual void Paint (Option_t *option="")
 Paint one event.
 
virtual void SetParameter (const char *, Double_t)
 
virtual void SetPtCut (Float_t ptcut=0)
 Set Pt threshold below which primaries are not drawn.
 
virtual void SetViewRadius (Float_t rbox=1000)
 Set lower and upper values of the view range.
 
virtual void SetViewRange (Float_t xmin=-10000, Float_t ymin=-10000, Float_t zmin=-10000, Float_t xmax=10000, Float_t ymax=10000, Float_t zmax=10000)
 Set lower and upper values of the view range.
 
virtual void ShowNeutrons (Bool_t show=1)
 Set flag to display or not neutrons.
 
virtual void Streamer (TBuffer &)
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
void Clear (Option_t *option="") override
 Set name and title to empty strings ("").
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
 
void Copy (TObject &named) const override
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
const char * GetName () const override
 Returns name of object.
 
const char * GetTitle () const override
 Returns title of object.
 
ULong_t Hash () const override
 Return hash value for this object.
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
void Print (Option_t *option="") const override
 Print TNamed name and title.
 
virtual void SetName (const char *name)
 Set the name of the TNamed.
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification.
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 

Static Public Member Functions

static TPythia8Instance ()
 Return an instance of TPythia8.
 
- Static Public Member Functions inherited from TGenerator
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 

Protected Attributes

Int_t fNumberOfParticles
 The pythia8 instance.
 
Pythia8::Pythia * fPythia
 singleton instance
 
- Protected Attributes inherited from TGenerator
TObjArrayfParticles
 display neutrons if true
 
Float_t fPtCut
 
Bool_t fShowNeutrons
 Pt cut. Do not show primaries below.
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Static Protected Attributes

static TPythia8fgInstance = 0
 

Private Member Functions

void AddParticlesToPdgDataBase ()
 Add some pythia specific particle code to the data base.
 

Additional Inherited Members

- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 
- Protected Member Functions inherited from TGenerator
 TGenerator (const TGenerator &tg)
 
TGeneratoroperator= (const TGenerator &tg)
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

#include <TPythia8.h>

Inheritance diagram for TPythia8:
[legend]

Constructor & Destructor Documentation

◆ TPythia8() [1/2]

TPythia8::TPythia8 ( bool  printBanner = true)

Number of particles.

Constructor.

Definition at line 91 of file TPythia8.cxx.

◆ TPythia8() [2/2]

TPythia8::TPythia8 ( const char *  xmlDir,
bool  printBanner = true 
)

Constructor with an xmlDir (eg "../xmldoc".

Definition at line 109 of file TPythia8.cxx.

◆ ~TPythia8()

TPythia8::~TPythia8 ( )
virtual

Destructor.

Definition at line 126 of file TPythia8.cxx.

Member Function Documentation

◆ AddParticlesToPdgDataBase()

void TPythia8::AddParticlesToPdgDataBase ( )
private

Add some pythia specific particle code to the data base.

Definition at line 372 of file TPythia8.cxx.

◆ EventListing()

void TPythia8::EventListing ( ) const

Event listing.

Definition at line 364 of file TPythia8.cxx.

◆ GenerateEvent()

void TPythia8::GenerateEvent ( )
virtual

Generate the next event.

Reimplemented from TGenerator.

Definition at line 185 of file TPythia8.cxx.

◆ GetN()

Int_t TPythia8::GetN ( ) const

Initialization.

Definition at line 292 of file TPythia8.cxx.

◆ ImportParticles() [1/2]

TObjArray * TPythia8::ImportParticles ( Option_t option = "")
virtual

Import particles from Pythia stack.

Reimplemented from TGenerator.

Definition at line 257 of file TPythia8.cxx.

◆ ImportParticles() [2/2]

Int_t TPythia8::ImportParticles ( TClonesArray particles,
Option_t option = "" 
)
virtual

Import particles from Pythia stack.

Reimplemented from TGenerator.

Definition at line 194 of file TPythia8.cxx.

◆ Initialize() [1/2]

Bool_t TPythia8::Initialize ( Int_t  idAin,
Int_t  idBin,
Double_t  eAin,
Double_t  eBin 
)

Initialization.

Definition at line 165 of file TPythia8.cxx.

◆ Initialize() [2/2]

Bool_t TPythia8::Initialize ( Int_t  idAin,
Int_t  idBin,
Double_t  ecms 
)

Initialization.

Definition at line 147 of file TPythia8.cxx.

◆ Instance()

TPythia8 * TPythia8::Instance ( )
static

Return an instance of TPythia8.

Definition at line 139 of file TPythia8.cxx.

◆ ListAll()

void TPythia8::ListAll ( ) const

Event listing.

Definition at line 316 of file TPythia8.cxx.

◆ ListChanged()

void TPythia8::ListChanged ( ) const

Event listing.

Definition at line 324 of file TPythia8.cxx.

◆ Plist()

void TPythia8::Plist ( Int_t  id) const

Event listing.

Definition at line 332 of file TPythia8.cxx.

◆ PlistAll()

void TPythia8::PlistAll ( ) const

Event listing.

Definition at line 340 of file TPythia8.cxx.

◆ PlistChanged()

void TPythia8::PlistChanged ( ) const

Event listing.

Definition at line 348 of file TPythia8.cxx.

◆ PrintStatistics()

void TPythia8::PrintStatistics ( ) const

Print end of run statistics.

Definition at line 356 of file TPythia8.cxx.

◆ Pythia8()

Pythia8::Pythia * TPythia8::Pythia8 ( )
inline

Definition at line 89 of file TPythia8.h.

◆ ReadConfigFile()

void TPythia8::ReadConfigFile ( const char *  string) const

Configuration.

Definition at line 308 of file TPythia8.cxx.

◆ ReadString()

void TPythia8::ReadString ( const char *  string) const

Configuration.

Definition at line 300 of file TPythia8.cxx.

Member Data Documentation

◆ fgInstance

TPythia8 * TPythia8::fgInstance = 0
staticprotected

Definition at line 81 of file TPythia8.h.

◆ fNumberOfParticles

Int_t TPythia8::fNumberOfParticles
protected

The pythia8 instance.

Definition at line 83 of file TPythia8.h.

◆ fPythia

Pythia8::Pythia* TPythia8::fPythia
protected

singleton instance

Definition at line 82 of file TPythia8.h.

Libraries for TPythia8:

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