Notes on Computing for Project Students

This page summarises some of the computing tools that you will want to use for your project. Please take the time to read through this page and familiarise yourself with these tools when you encounter a need to do so. Familiarity with C++ is beneficial when using the ROOT toolkit (which uses an interpreted C++ interface).

Programming Languages

The majority of particle physics experiments required familiarity with the C++ programming Language. If you are unfamiliar with this, you are advised to review C++ via one of the books in the library and through the MCPS course. There are also a number of on-line tutorials that you may fund useful.

UNIX/LINUX

The computing platform you will use in High Energy Physics is a variant of UNIX or LINUX. You can find a brief introduction into the use of these systems here.

ROOT

ROOT is a data analysis framework developed by the HEP community. You will probably need to use this for all data analysis studies in your project. In order to use ROOT you first need to set up your account by adding the following lines to your .bashrc file:
   export ROOTSYS=/opt/root
   export PATH=$ROOTSYS/bin:$PATH
   export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH

   echo "ROOT set up to use the following:"
   echo " ROOTSYS = $ROOTSYS"
Having done this, you can start root by typing in
   root
at the command line. In order to exit root, simply type '.q' and press return. You will find introductory tutorial on how to use ROOT here, and more information (including a user guide) can be found from the ROOT web page: http://root.cern.ch/drupal/.

AFit

This is a likelihood fit PDF model building application that is used from within ROOT. More information on this package can be found at the AFit home page. The AFit web page contains examples tutorials, and a detailed user guide.

In order to use AFit on these machines, you will need to start ROOT and then load the AFit shared library. Having done this you will be able to use AFit to build complicated fit models and fit reference data. The shared library can be loaded into ROOT via

   gSystem->Load("libMinuit.so");
   gSystem->Load("libRooFit.so");
   gSystem->Load("libTMVA");
   gSystem->Load("[Full Path To AFit Directory] + tmp/libAFit.so");
This library has been pre-complied for you, and you should e-mail me for the location. Alternatively if you want to download and compile your own version of the code, please see the AFit Quick Start Page.

If you are unfamiliar with the concept of fitting, you may wish to consult the fitting lecture notes for the Statistical Data Analysis course.

Finally - if you want to be able to pre-set certain aspects of the ROOT environment, you will need to add a .rootrc and RooLogon.C file to your working directory. The examples given are set up in such a way that RooFit and AFit can be loaded every time you start ROOT. In order for the RooLogon.C to work properly you need to make sure that the directory is set to be the full path to the AFit director, just as you would when trying to load the library in an interactive ROOT session.

LaTeX

Project reports can be prepared using any suitable software package that you are familiar with. However, it is suggested that students should seriously consider using LaTex for project reports. An introduction on the use of latex can be found at http://www.ph.qmul.ac.uk/~intranet/latex.php.

SuperB Computing FAQs

If you are working on a SuperB based project, you may find the QMUL SuperB Computing FAQ page useful.

Back to my teaching home page