starlight is hosted by Hepforge, IPPP Durham


STARlight is a Monte Carlo that simulates two-photon and photon-Pomeron interactions between relativistic nuclei and protons. It produces a variety of final states. For two-photons, it simulates lepton pairs and a variety of mesons. A list of available channels may be found here. For photonuclear interactions, it models coherent and incoherent vector mesons production. A list of available channels may be found here.

A write-up of the code has been published recently:

  • S.R. Klein, J. Nystrand, J. Seger, Y. Gorbunov, J. Butterworth, Comp. Phys. Comm. 212 (2017) 258.

More details on the physics behind STARlight can be found in these publications:

  • S.R. Klein, J. Nystrand, Phys. Rev. C 60 (1999) 014903 (coherent vector meson production).
  • A.J. Baltz, S.R. Klein, J. Nystrand Phys. Rev. Lett. 89 (2002) 012301 (vector meson production accompanied by exchange of additional photons leading to nuclear break up).
  • S.R. Klein, J. Nystrand, Phys. Rev. Lett. 92 (2004) 142003 (photoproduction of vector mesons in pp collisions).
  • A.J. Baltz, Y. Gorbunov, S.R. Klein, J. Nystrand, Phys. Rev. C 80 (2009) 044902 (two-photon interactions).
The review article C.A. Bertulani, S.R. Klein, J. Nystrand, Ann. Rev. Nucl. Part. Sci. 55 (2005) 271 provides more general information on the physics of ultra-peripheral collisions.

To install & run STARlight in a *nix based environment, follow these steps(README):

  • Download the package from the tracker on the left sidebar or from here. The version in the example might be outdated.
    • wget ''
    • mv 'downloads?f=starlight_r300.tar' starlight_r300.tar
    • tar xvf starlight_r300.tar
  • Alternatively, one may obtain the latest version via svn---no longer the case--will update to new phab link.
    • svn co
  • Change to the installation directory of your choice
    • mkdir /home/my/installation/dir
    • cd /home/my/installation/dir
  • Setup the compilation with cmake
    • cmake /path/to/trunk
  • Compile with (g)make
    • gmake
  • Setup the input file,, for your simluation needs
    • cp /path/to/trunk/config/ .
    • vim
  • Run
    • ./starlight >& output.txt&
  • Interpreting the output
  • For more information and special scenarios, such as running with PYTHIA or DPMJET, consult the README files located in trunk/

Two-Photon Channels
Particle Jetset ID
e+e- pair 11
µ+µ- pair 13
τ+τ- pair 15
τ+τ- pair, polarized decay 10015*
ρ0 pair 33
a2(1320) decayed by PYTHIA 115
η decayed by PYTHIA 221
f2(1270) decayed by PYTHIA 225
η' decayed by PYTHIA 331
f2(1525) → K+K-(50%),K00(50%) 335
ηc decayed by PYTHIA 441
f0(980) decayed by PYTHIA 9010221

Vector Meson Channels
Particle Jetset ID
ρ0 → π+π- 113
ρ0 → π+π- and direct π+π- production, including the interference. 913
ω → π+π- 223
φ → K+K- 333
J/Ψ → e+e- 443011
J/Ψ → µ+µ- 443013
Ψ(2S) → e+e- 444011
Ψ(2S) → µ+µ- 444013
Υ(1S) → e+e- 553011
Υ(1S) → µ+µ- 553013
Υ(2S) → e+e- 554011
Υ(2S) → µ+µ- 554013
Υ(3S) → e+e- 555011
Υ(3S) → µ+µ- 555013
ρ' → π+π-π+π- 999

Reading the output

For each event, a summary line is printed, with the follwing format

EVENT: n ntracks nvertices ,
where n is the event number (starting with 1), ntracks is the number of tracks in the event, and nvertices is the number of vertices in the event (STARlight does not currently produce events with more than one vertex).

This is followed by a line describing the vertex, of the format

VERTEX: x y z t nv nproc nparent ndaughters ,
where x, y, z and t are the 4-vector components of the vertex location, nv is the vertex number, nproc is a number intended to represent physical process (always set to 0), nparent is the track number of parent track (0 for primary vertex) and ndaughters is the number of daughter tracks from this vertex.

This is followed by a series of lines describing each of the daughter tracks emanating from this vertex. Each track line has the format

TRACK: GPID px py py nev ntr stopv PDGPID ,
where GPID is the Geant particle id code, px, py and pz are the three vector components of the track's momentum, nev is the event number, ntr is the number of this track within the vertex (starting with 0), stopv is the vertex number where track ends (0 if track does not terminate within the event), and PDGPID is the Monte Carlo particle ID code endorsed by the Particle Data Group.