Computing Methods in High Energy Physics

Spring term 2025 (periods III-IV)

Lecturer: Sami Lehti, Office: HIP B321 , Phone: 050 4485621 
Credits:
5op (3ov), 13 lectures, 12 exercises and project work

Lectures: Friday 10-12, Physicum D116  

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

Exam: Project work is to be returned by May 24.  
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 17
Lect 1
Examples
Virtual
Lect 2
Examples
Jan 24
Lect 3
Examples
Jan 31
Lect 4
Examples
Feb 7
Lect 5
Examples
Virtual (Feb 14)
Lect 6
Examples
Feb 21
Lect 7
Examples
Feb 28
Lect 8
Examples
Mar 14
Lect 9
Examples
Mar 21
Lect 10
Examples
Mar 28
Lect 11
Examples
Apr 4
Lect 12
Examples
Apr 11
Lect 13
Examples
Virtual (Apr 19)
Lect 14
Examples 14
Apr 25
Lect 15
Examples 15
May 2
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 24
Exercise1 Solution
Jan 31
Exercise2 Solution
Feb 7
Exercise3 Solution
Virtual (Feb 14)
Exercise4 Solution
Feb 21
Exercise5 Solution
Feb 28
Exercise6 Solution
Mar 14
Exercise7 Solution
Mar 21
Exercise8 Solution
Mar 28
Exercise9 Solution
Apr 4
Exercise10 Solution
Apr 11
Exercise11 Solution
Apr 25
Exercise12 Solution