Computing Methods in High Energy Physics

Spring term 2026 (periods III-IV)

Lecturer: Sami Lehti, Office: HIP B321 , Phone: 050 4485621 

Exercises: Nestor Mancilla, Office: HIP A312 

Credits:
5op (3ov), 13 lectures, 12 exercises and a project work

Lectures: Friday 10-12, Physicum D115  

Exercises: Friday 12-13 Physicum D115 
Solutions to exercises should be returned by Friday at 10:15 am. 

Exam: The Project work is to be returned by May 22.  
Indico for May 1nd 
It will contribute 1/2 of the grade, the rest 1/2 comes from the exercises.  

Course description

The course provides an introduction to learning to use software
used in a typical High Energy Physics experiment. The CMS experiment
is used as an example.

Topics covered include:

Short review of UNIX
C++
ROOT
Combining languages
Cross section and branching ratio calculations
Event generators
Detector simulations
Reconstruction
Fast simulation
Grid computing

Lecture notes, examples and exercises in the git repository.
Lecture notes:

Jan 16
Lect 1
Examples
Virtual
Lect 2
Examples
Virtual (Jan 23)
Lect 3
Examples
Jan 30
Lect 4
Examples
Feb 6
Lect 5
Examples
Virtual (Feb 13)
Lect 6
Examples
Feb 20
Lect 7
Examples
Feb 27
Lect 8
Examples
Mar 13
Lect 9
Examples
Mar 20
Lect 10
Examples
Mar 27
Lect 11
Examples
Apr 10
Lect 12
Examples
Apr 17
Lect 13
Examples
Apr 24
Lect 14
Examples 14
May 1
Lect 15
Examples 15
May 1
Project work presentations

Literature
Lecture notes.
A book on C++ for reference.

Git
Some git instructions

Grid certificate
(For students of University of Helsinki only)
Instructions how to get a grid certificate
Save your certificate on disk as a p12 file.
In $HOME/.globus directory
openssl pkcs12 -nocerts -in mycert.p12 -out userkey.pem
openssl pkcs12 -clcerts -nokeys -in mycert.p12 -out usercert.pem
chmod 0400 userkey.pem
chmod 0600 usercert.pem

Software environment
How to install a virtual machine for running CMS software

Linux cluster "alcyone" in the University of Helsinki
How to login:
First login to some machine inside the university firewall
Inside the firewall: ssh -X <username>@alcyone-install.grid.helsinki.fi
An example environment can be found here

CMSSW on alcyone (assuming bash):
export VO_CMS_SW_DIR=/cvmfs/cms.cern.ch
source ${VO_CMS_SW_DIR}/cmsset_default.sh
export SCRAM_ARCH=el9_amd64_gcc12

ROOT 6.32.08 on markka (assuming bash):
# check your linux version with
lsb_release -a
wget https://root.cern/download/root_v6.32.08.Linux-ubuntu22.04-x86_64-gcc11.4.tar.gz
tar xfvz root_v6.32.08.Linux-ubuntu22.04-x86_64-gcc11.4.tar.gz
mv root root_v6.32.08

Add in your environment:
export ROOTSYS=$HOME/root_v6.32.08
export PATH=${PATH}:${ROOTSYS}/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ROOTSYS}/lib
export PYTHONPATH=$LD_LIBRARY_PATH

ROOT and CMSSW environment for alcyone (bash)

Exercises:


Jan 23
Exercise1 Solution
Jan 30
Exercise2 Solution
Feb 6
Exercise3 Solution
Feb 13
Exercise4 Solution
Feb 20
Exercise5 Solution
Feb 27
Exercise6 Solution
Mar 13
Exercise7 Solution
Mar 20
Exercise8 Solution
Mar 27
Exercise9 Solution
Apr 10
Exercise10 Solution
Apr 17
Exercise11 Solution
May 1
Exercise12 Solution