liminfo

PYTHIA Reference

Free reference guide: PYTHIA Reference

26 results

About PYTHIA Reference

The PYTHIA8 Reference is a searchable cheat sheet for the PYTHIA8 Monte Carlo event generator, the most widely used tool in high-energy physics for simulating proton-proton and electron-positron collisions. It covers beam configuration (Beams:eCM, Beams:idA/idB), hard scattering processes including QCD, Drell-Yan Z/gamma* production, top quark pair production, Higgs boson associated production, and soft QCD minimum bias events.

This reference details parton shower settings for initial-state radiation (ISR) and final-state radiation (FSR), the Lund string model hadronization parameters (StringZ, StringFlav, StringPT), particle decay channel control using PDG IDs, event record traversal with status codes, and output integration with HepMC3 and ROOT histograms. SUSY process activation via SLHA spectrum files is also covered.

Designed for experimental and theoretical particle physicists, PhD students, and postdoctoral researchers working at the LHC (ATLAS, CMS) or future colliders, this reference provides copy-ready C++ code snippets and .cmnd configuration file syntax. All entries are organized into Basic Settings, Physics Processes, Parton Shower, Hadronization, Decay/Event, and Output/Analysis categories.

Key Features

  • Beam configuration — Beams:eCM for LHC Run 2/3 energies, Beams:idA/idB for proton, antiproton, and lepton beams
  • Hard process activation — HardQCD:all, WeakSingleBoson:ffbar2gmZ, Top:gg2ttbar, HiggsSM:ffbar2HZ with decay channel control
  • Parton shower parameters — ISR/FSR toggle, alpha_s(Mz) tuning, MPI multiparton interaction settings
  • Lund string hadronization — StringZ:aLund/bLund fragmentation parameters, StringFlav strange quark suppression
  • Event record access — event[i].id(), status(), isFinal(), isCharged() with status code interpretation guide
  • Particle decay control using PDG IDs — onMode, onIfAny, mayDecay for selective decay channel activation
  • HepMC3 event output and ROOT histogram integration with complete C++ code examples
  • PDG ID code lookup table for quarks, leptons, gauge bosons, mesons, and baryons

Frequently Asked Questions

What is PYTHIA8 used for in particle physics?

PYTHIA8 is a general-purpose Monte Carlo event generator for simulating high-energy particle collisions. It models the complete chain from hard scattering processes through parton showering, hadronization via the Lund string model, and particle decays. It is essential for LHC physics analyses at ATLAS and CMS, providing simulated events that are compared to experimental data to test Standard Model predictions and search for new physics.

How do I set up a basic PYTHIA8 simulation?

Include Pythia8/Pythia.h, create a Pythia object, configure the beam energy with Beams:eCM (e.g., 13000 GeV for LHC Run 2), activate the desired physics process (e.g., HardQCD:all = on), set PhaseSpace:pTHatMin to prevent divergence, call pythia.init(), then loop with pythia.next() to generate events. Use pythia.stat() to print cross-section statistics after the event loop.

What are the key parton shower settings in PYTHIA8?

PartonLevel:ISR and PartonLevel:FSR toggle initial and final state radiation. TimeShower:alphaSvalue and SpaceShower:alphaSvalue set the strong coupling constant alpha_s(Mz), which strongly affects jet structure. PartonLevel:MPI controls multiparton interactions, and MultipartonInteractions:pT0Ref sets the MPI infrared regularization scale. These parameters are usually set by validated PYTHIA tunes.

How does the Lund string hadronization model work in PYTHIA8?

The Lund string model stretches color strings between partons and fragments them into hadrons. Key parameters are StringZ:aLund and StringZ:bLund controlling the longitudinal fragmentation function, StringPT:sigma for transverse momentum spread, and StringFlav:probStoUD for strange quark suppression. These parameters are tuned to LEP e+e- data and determine the hadron species and momentum distributions in jets.

How do I control particle decays in PYTHIA8?

Use the PDG ID followed by onMode, onIfAny, or mayDecay. For example, 23:onMode = off turns off all Z boson decays, then 23:onIfAny = 11 -11 enables only the Z to e+e- channel. Setting 15:mayDecay = false stabilizes tau leptons. This is essential for studying specific decay topologies in signal simulations.

How do I access particle information from the PYTHIA8 event record?

Loop over pythia.event with index i. Use event[i].id() for PDG ID, event[i].status() for the particle status code (positive = final state, negative = intermediate), event[i].pT()/eta()/phi() for kinematics, and event[i].isFinal()/isCharged() for filtering. Status code 23 indicates hard process outgoing particles, 91 indicates string fragmentation products.

How do I output PYTHIA8 events to HepMC or ROOT?

For HepMC3 output, include Pythia8Plugins/HepMC3.h, create a Pythia8ToHepMC converter and a WriterAscii writer, then call toHepMC.fill_next_event() in the event loop. For ROOT, create TH1F histograms, fill them with kinematic quantities from the event record inside the loop, and save to a ROOT file. Both methods are standard in LHC experiment workflows.

Is this PYTHIA8 reference free to use?

Yes, this PYTHIA8 reference is completely free with no usage limits, no account required, and no software installation needed. All content is rendered client-side in your browser. It is designed as a practical companion for particle physicists working with PYTHIA8 event generation for collider simulations.