Spencer Wheaton

Research Interests

Description of High-Energy Collision Systems using Statistical-Thermal Techniques

Computational Techniques in Applied Physics

Statistical-Thermal models are extremely successful in describing the state created by the ultra-relativistic heavy-ion collisions at the large particle accelerators. A great deal of local expertise exists in the application of these models to particle multiplicities. In fact, THERMUS, a code developed as part of my PhD, is one of the world-leaders in such analyses.

At present, THERMUS is being extended to allow also for the study of event-by-event fluctuations, believed to be a signal for quark-gluon plasma formation in the early stages of such collisions. Work is also underway in developing a Monte Carlo Particle Generator for describing the collisions. This research is done in collaboration with Michael Hauer of the Helmholtz Research School in Frankfurt.

Computational Techniques in Applied Physics: Very few real-world problems can be solved analytically. Instead, numerical techniques have to be applied. One such technique, Smooth Particle Hydrodynamics (SPH), is currently under investigation. SPH is a mesh-free method employed typically in function interpolation and the solution of partial differential equations. Despite the name, SPH can be used to solve non-hydrodynamic problems too.

The power of SPH is realised in problems of high-deformation, where grid-based techniques fail. However, SPH is not without its limitations. Boundary effects and the imposition of boundary conditions are the subject of ongoing research, leading to numerous techniques and correction schemes.

THERMUS: A Thermal Model Package for ROOT

THERMUS is a package freely available for download. However, if you use THERMUS you are requested to cite the following publication:

"THERMUS -- A Thermal Model Package for ROOT", S. Wheaton, J. Cleymans and M. Hauer, Comput. Phys. Commun. 180 (2009) 84-106.
Preprint (hep-ph/0407174)


Since several of the constraining functions in THERMUS use `Numerical Recipes in C' code (which is under copyright) it is required that THERMUS users have their own copies of this software. Then, with ROOT already installed on your system, follow these steps:

  • Download the THERMUS source:

    THERMUS V1.0 (15 July 2004)
    THERMUS V1.0 with minor corrections for use with newer versions of ROOT (28 April 2005)
    THERMUS V2.0 (18 August 2005)
    THERMUS V2.0 with minor correction for use with newer versions of ROOT (5 March 2007)
    THERMUS V2.1 (23 October 2007)
    THERMUS V2.2 contains the framework to treat charm and beauty grand-canonically (4 March 2011)
    Extended Particle Set compiled by Dawit Worku and Jean Cleymans including hadrons containing c and b quarks (6 June 2011)
    MacOS Makefiles Makefiles for MacOS kindly provided by Boris Hippolyte
    THERMUS V2.3 contains a couple of minor bug fixes (5 December 2013) thanks to Boris Hippolyte for pointing them out
    THERMUS V3.0 (28 November 2014) Thanks to Boris Hippolyte: a ROOT 6 compatible version of THERMUS together with a particle list containing charm, beauty and hypernuclei

  • Unzip and untar the downloaded file:

    [ ]$ gunzip filename
    [ ]$ tar -xvf filename

  • Set an environment variable `THERMUS' to point at the top-level directory containing the THERMUS code
  • Copy the following `Numerical Recipes in C' functions to "$(THERMUS)/nrc/":

    broydn.c rsolv.c
    fdjac.c fmin.c
    lnsrch.c nrutil.c
    nrutil.h qrdcmp.c
    qrupdt.c rotate.c

  • Use the makefiles in "$(THERMUS)/functions", "$(THERMUS)/nrc" and "$(THERMUS)/main" to build the, and shared object files respectively:

    [$(THERMUS)/functions]$ make all
    [$(THERMUS)/nrc]$ make all
    [$(THERMUS)/main]$ make all

  • Finally, open a ROOT session, load the libraries and begin:

    [ ]$ root

    * W E L C O M E to R O O T
    * Version 3.10/02 16 February 2004
    * You are welcome to visit our Web site

    FreeType Engine v2.1.3 used to render TrueType fonts.
    Compiled for linux with thread support.

    CINT/ROOT C/C++ Interpreter version 5.15.115, Dec 9 2003
    Type ? for help. Commands must be C++ statements.
    Enclose multiple statements between { }.

    root [ ] gSystem->Load("./lib/");
    root [ ] gSystem->Load("./lib/");
    root [ ] gSystem->Load("./lib/");

    THERMUS Documentation: