This website is no longer updated.

As of 1.10.2022, the Faculty of Physics has been merged into the TUM School of Natural Sciences with the website For more information read Conversion of Websites.

de | en

Scientific Computing in High-Energy Physics

Module PH2286

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.

Basic Information

PH2286 is a semester module in English language at Master’s level which is offered in summer semester.

This module description is valid from SS 2019 to WS 2019/20.

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

Total workloadContact hoursCredits (ECTS)
150 h 30 h 5 CP

Responsible coordinator of the module PH2286 is Ante Bilandzic.

Content, Learning Outcome and Preconditions


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 programming language, 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 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 programming language;
  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 preconditions in addition to the requirements for the Master’s program in Physics.

Courses, Learning and Teaching Methods and Literature

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 (

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.

Top of page