- Docente: Francesco Giacomini
- Credits: 12
- SSD: FIS/01
- Language: English
- Moduli: Luca Clissa (Modulo 1) Matteo Negrini (Modulo 2) Gabriele Sirri (Modulo 3) Francesco Giacomini (Modulo 4) Andrea Chierici (Modulo 5)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2) Traditional lectures (Modulo 3) Traditional lectures (Modulo 4) Traditional lectures (Modulo 5)
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Advanced Methods in Particle Physics (cod. 5810)
-
from Sep 15, 2025 to Dec 22, 2025
-
from Oct 24, 2025 to Dec 05, 2025
-
from Sep 15, 2025 to Dec 22, 2025
-
from Sep 18, 2025 to Dec 18, 2025
Learning outcomes
The course provides an introduction to the software and hardware used in a typical High Energy Physics experiment. At the end of the course the student will acquire an advaced knowledge in programming languages and tools for data processing. Furthermore, the student will learn the fundamental aspect of a data center dedicated to scientific computation.
Course contents
Module 1
Probability Concepts
- Definitions: axiomatic, combinatorial, frequentist, and subjectivist
- Conditional probability
- Statistical independence
- Bayes' theorem
Random Variables and Distributions
- Probability density/mass function, cumulative probability function
- Multivariate distributions
- Examples of distributions: binomial, multinomial, Poisson, exponential, normal, multivariate normal, chi-squared, Breit-Wigner, Landau
- Marginal and conditional densities
- Functions of random variables
- Characteristic function and distribution moments: expected value, variance, and covariance
- Central Limit Theorem and Law of Large Numbers
- Propagation of errors with correlated variables
Statistical Inference
- Fisher information
- Sample statistics, test statistics, and sufficient statistics
- Estimators for mean and variance
- Maximum likelihood method
- Multi-parameter estimation with uncertainty and correlations
- Bayesian estimators, Jeffreys priors
- Least squares method
Hypothesis Testing
- Simple hypotheses
- Test efficiency and power
- Neyman-Pearson lemma
- Linear test, Fisher discriminant
- Statistical significance, p-values, Look-Elsewhere Effect
- Chi-squared method for hypothesis testing
Confidence Intervals
- Exact methods: Gaussian and Poisson cases
- Bayesian method
- Systematic errors and nuisance parameters
- Asymptotic properties
Multivariate Methods
- Neural Networks, Boosted Decision Tree
Module 2
Exercises and supplements on Monte Carlo methods and unfolding.
Module 3
Elements of C++ and ROOT. RooFit workspace, Factory, composite models, multidimensional models. Use of RooStats to calculate confidence intervals, Profile Likelihood, Feldman-Cousins, Bayesian intervals, with and without nuisance parameters. Use of TMVA as a classifier, description of TMVAGui.
Module 4
Application of C++ programming techniques to scientific software development, including data abstraction, polymorphism, generic programming, concurrency and parallelism. Use of modern C++ to safely and efficiently exploit the memory hierarchy and the heterogeneous nature of current computer architectures. Introduction to elements of software engineering and use of effective development tools. Introduction to elements of operating systems and computer architecture.
Module 5
The module will provide basic concepts of Infrastructures for processing and for running scientific applications. In particular it will focus on the Infrastructure-as-a-Service Cloud paradigm. The course will start with an introduction to different computing facilities (from the laptop to the data center) and to Big Data, describing how they are related to scientific applications. It will continue with a description of the building blocks of modern Data Centers and how they are abstracted by the Cloud computing models.
Access to a limited set of Cloud resources and services will be granted to students in order to complete the exercises that will be given during the module. Containers and in particular Docker Containers will be introduced as for the concept of High Performance Computing (HPC). The module will end giving notions about the emerging "Fog" and "Edge" computing paradigms and how they are linked to Cloud infrastructures.
Readings/Bibliography
For Module 1:
- Glen Cowan, Statistical Data Analysis, Oxford Univ. Press, 1998
- (optional, more statistical perspective) Hastie, Trevor, et al. The elements of statistical learning: data mining, inference, and prediction. Vol. 2. New York: springer, 2009.
For Modules 2 and 3:
- Glen Cowan, Statistical Data Analysis, Oxford Univ. Press, 1998
- O. Behnke et al., Data Analysis in High Energy Physics: A Practical Guide to Statistical Methods, Wiley, 2013
- A. G. Frodesen, O. Skjeggestad, H. Toft, Probability and Statistics in Particle Physics, Universitetforlaget, 1979
- G. D'Agostini, Bayesian reasoning in data analysis - A critical introduction, World Scientific Publishing, 2003
For Module 4:
- B. Stroustrup, Programming: Principles and Practice Using C++, 3rd edition, Addison-Wesley
- B. Stroustrup, The C++ Programming Language , 4th edition, Addison-Wesley
- C++ reference [https://en.cppreference.com/w/]
For Module 5:
- Hardware Bible, Sixth Edition
Winn L. Rosch
Published by Que - Modern Computer Architecture and Organization - Second Edition
Jim Ledin, Dave Farley
Packt Publishing - Docker deep dive
by Nigel Poulton
Packt publishing - Cloud Architecture Patterns
by Bill Wilder
O'reilly - Big Data Fundamentals: Concepts, Drivers & Techniques
By Thomas Erl, Wajid Khattak and Paul Buhler
Pearson
Teaching methods
Lectures and laboratory sessions with programming and statistical tools to solve practical problems, also using resources available on Cloud.
Attendance to this course requires to have previously completed the Safety Training Modules 1 and 2, available in e-learning format.Assessment methods
For modules 1-3, the exam consists of a written test composed of three parts:
- theory questions
- practical exercise
- one question for the laboratory part, in which you are asked to comment on a block of code
The oral session is optional, and only regards modules 1 and 2, with the possibility of increasing/decreasing the written grade by a few points.
To obtain honors, it is necessary to take the oral test.
Important: in order to take the written test, it is necessary to have completed and delivered to the teacher the practical laboratory tests, which do not influence the final grade.
For modules 4 and 5, the exam consists in a project to be prepared autonomously and in an oral part.
Students with Specific Learning Disabilities (SLD) or temporary/permanent disabilities are advised to contact the University Office responsible in a timely manner (https://site.unibo.it/studenti-con-disabilita-e-dsa/en ). The office will be responsible for proposing any necessary accommodations to the students concerned. These accommodations must be submitted to the instructor for approval at least 15 days in advance, and will be evaluated in light of the learning objectives of the course.
Teaching tools
Lecture notes and accompanying material is made available either on Virtuale or in Git repositories.
Office hours
See the website of Francesco Giacomini
See the website of Luca Clissa
See the website of Matteo Negrini
See the website of Gabriele Sirri
See the website of Andrea Chierici