de | en

Scientific Computing in High-Energy Physics

Module PH8124

This module handbook serves to describe contents, learning outcome, methods and examination type as well as linking to current dates for courses and module examination in the respective sections.

Module version of SS 2021 (current)

There are historic module descriptions of this module. A module description is valid until replaced by a newer one.

Whether the module’s courses are offered during a specific semester is listed in the section Courses, Learning and Teaching Methods and Literature below.

available module versions
SS 2021SS 2020

Basic Information

PH8124 is a semester module in English language at Bachelor’s level which is offered irregularly.

This Module is included in the following catalogues within the study programs in physics.

  • Catalogue of non-physics elective courses

If not stated otherwise for export to a non-physics program the student workload is given in the following table.

Total workloadContact hoursCredits (ECTS)
90 h 30 h 3 CP

Responsible coordinator of the module PH8124 is Ante Bilandzic.

Content, Learning Outcome and Preconditions


Course website for the current semester:

The material covered in the previous year is at (the current semester is based on it, but minor modifications are foreseen).

The module will give an introduction to the core data analysis tools and techniques which are used in experimental high-energy physics. Typically, analysis of data in high-energy physics is characterized nowadays both by large datasets and by large computing facilities (e.g. at experiments at CERN's Large Hadron Collider), for which the stability and parallelization of running analysis jobs, automated operation of various tasks, and efficient compression of large files is necessary. By combining the functionalities of Linux, Bash, and ROOT, this can be achieved, and physics observables of interest can be extracted quickly from available large datasets.

This module covers the most important aspects of the Linux operating system, scripting with Bash shell, and ROOT analysis framework, putting always an emphasis on real-case scenarios of their usage as encountered in high-energy physics. Linux is the default operating system used in high-energy physics due to its high performance in computing, security, and free and open-source nature. Bash is by far the most popular shell on Linux platforms and its knowledge is essential for a physicist in order to use Linux. In addition, Bash is a programming language and can be used to automate with scripts all repetitive programming tasks encountered in data analysis. Finally, ROOT is an object-oriented framework written mostly in C++ and developed by physicists at CERN, with the specific aim for high-energy physics. All major collaborations in this field worldwide (e.g. ALICE, ATLAS, CMS at LHC, STAR at RHIC, CBM at FAIR, etc.) use ROOT. 

All covered Linux, Bash and ROOT functionalities will be supported with concrete examples of their usage in high-energy physics.

Learning Outcome

After successful completion of the module the students can:

  1. use the Linux operating system at an advanced level and perform on it all tasks typically encountered by experimental physicists;
  2. master in-depth the shell scripting, terminal control, and task automation with Bash shell;
  3. use the most important ROOT functionalities (e.g. sampling, histogramming, plotting, fitting, data storage, file merging, etc.).

These three aspects are among the most important core skills required nowadays for high-energy experimental physicists, doing large-scale data analysis for instance in experiments at CERN's Large Hadron Collider.


no info

Courses, Learning and Teaching Methods and Literature

Courses and Schedule

VI 2 Scientific Computing in High-Energy Physics Bilandzic, A. Thu, 14:00–16:00, PH 2024

Learning and Teaching Methods

The content of the lecture is delivered through the presentation, assuming no prior knowledge on the subject. During each lecture, the newly introduced programming concepts will be demonstrated on a computer by the lecturer.

In total there will be 12 days of lectures, each lecture lasting 2x45min.


Presentation projected from the laptop. Blackboard for additional clarifications. Summary of each lecture, including integrated code snippets with exercises, in .html format.


  1. Mendel Cooper: "Advanced Bash-Scripting Guide" ( 
  2. Cameron Newham and Bill Rosenblatt, 'Learning the bash Shell: Unix Shell Programming (In a Nutshell (O'Reilly))' 
  3. ROOT User's Guide (
  4. Richard Blum and Christine Bresnahan, ‘Linux Command Line and Shell Scripting Bible’

Module Exam

Description of exams and course work

The achievement of the competencies given in section learning outcome is tested exemplarily at least to the given cognition level using presentations independently prepared by the students. The exam of 25 minutes consists of the presentation and a subsequent discussion.

For example an assignment in the exam might be:

  • Develop a Bash script which will automate all stages (job submission, re-submission of failed jobs, quality assurance of output files, the final merging of output files, etc.) for a given Linux process
  • Develop a Bash script which will automate common maintenance tasks on a Linux machine
  • Set up from scratch a Monte Carlo simulation in ROOT for some physical observable of interest

There will be a bonus (one intermediate stepping of "0,3" to the better grade) on passed module exams (4,3 is not upgraded to 4,0). The bonus is applicable to the exam period directly following the lecture period (not to the exam repetition) and subject to the condition that the student passes the mid-term of successfully completing 75% of the homework problems.

Exam Repetition

The exam may be repeated at the end of the semester.

Current exam dates

Currently TUMonline lists the following exam dates. In addition to the general information above please refer to the current information given during the course.

Exam to Scientific Computing in High-Energy Physics
Mon, 2023-07-17 till 23:55 Dummy-Termin. Wenden Sie sich zur individuellen Terminvereinbarung an die/den Prüfer(in). Anmeldung für Prüfungstermin vor 16.09.2023. // Dummy date. Contact examiner for individual appointment. Registration for exam date before 2023-Sep-16. till 2023-06-30 (cancelation of registration till 2023-07-16)
Mon, 2023-09-18 till 23:55 Dummy-Termin. Wenden Sie sich zur individuellen Terminvereinbarung an die/den Prüfer(in). Anmeldung für Prüfungstermin zwischen 18.09.2023 und 21.10.2023. // Dummy date. Contact examiner for individual appointment. Registration for exam date between 2023-Sep-18 and 2023-Oct-21. till 2023-09-17
Top of page