96082 - COMPUTER SCIENCE FOR HIGH ENERGY PHYSICS

Anno Accademico 2025/2026

  • Docente: Francesco Giacomini
  • Crediti formativi: 12
  • SSD: FIS/01
  • Lingua di insegnamento: Inglese
  • Moduli: Luca Clissa (Modulo 1) Matteo Negrini (Modulo 2) Gabriele Sirri (Modulo 3) Francesco Giacomini (Modulo 4) Andrea Chierici (Modulo 5)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2) Convenzionale - Lezioni in presenza (Modulo 3) Convenzionale - Lezioni in presenza (Modulo 4) Convenzionale - Lezioni in presenza (Modulo 5)
  • Campus: Bologna
  • Corso: Laurea Magistrale in Advanced Methods in Particle Physics (cod. 5810)

Conoscenze e abilità da conseguire

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.

Contenuti

Modulo 1

Concetti di Probabilità

  • Definizioni: assiomatica, combinatoria, frequentista e soggettivista
  • Probabilità condizionata
  • Indipendenza statistica
  • Teorema di Bayes

Variabili Aleatorie e Distribuzioni

  • Funzione densità/massa di probabilità, funzione cumulata di probabilità
  • Distribuzioni multivariate
  • Esempi di distribuzioni: binomiale, multinomiale, Poisson, esponenziale, normale, normale multivariata, chi-quadrato, Breit-Wigner, Landau
  • Densità marginali e condizionali
  • Funzioni di variabili aleatorie
  • Funzione Caratteristica e momenti distribuzione: valore atteso, varianza e covarianza
  • Teorema del Limite Centrale e legge dei grandi numeri
  • Propagazione degli errori con variabili correlate

Inferenza Statistica

  • Informazione di Fisher
  • Statistiche campionarie, statistica-test e statistiche sufficienti
  • Stimatori media e varianza
  • Metodo della massima verosimiglianza
  • Stima multi-parametrica con incertezza e correlazioni
  • Stimatori bayesiani, Jeffreys' prior
  • Metodo dei minimi quadrati

Test d'ipotesi

  • Ipotesi semplici
  • Efficienza e potenza del test
  • Lemma di Neyman-Pearson
  • Test lineare, discriminante di Fisher
  • Significatività statistica, p-values, Look-Elsewhere Effect
  • Metodo chi-quadrato per i test di ipotesi

Intervalli di Confidenza

  • Metodi esatti: casi gaussiano e poissoniano
  • Metodo bayesiano
  • Errori Sistematici e Parametri Nuisance
  • Proprietà asintotiche

Metodi multivariati

  • Neural Networks, Boosted Decision Tree

Modulo 2

Esercizi e complementi di metodi Monte Carlo e Unfolding.

Modulo 3

Elementi di C++ e ROOT. Spazio di lavoro RooFit, Factory, modelli compositi, modelli multidimensionali. Uso di RooStats per calcolare gli intervalli di confidenza, Profile Likelihood, Feldman-Cousins, intervalli bayesiani, con e senza parametri di disturbo. Uso di TMVA come classificatore, descrizione di TMVAGui.

Modulo 4

Applicazione di tecniche di programmazione C++ allo sviluppo di software scientifico, comprese astrazione dei dati, polimorfismo, programmazione generica, concorrenza e parallelismo. Uso di C++ moderno per lo sfruttamento sicuro ed efficiente della gerarchia di memoria e della natura eterogenea delle architetture di calcolatori contemporanei. Introduzione a elementi di ingegneria del software e all'uso efficace degli strumenti di sviluppo software. Introduzione a elementi di sistemi operativi e architettura dei calcolatori.

Modulo 5

Il modulo fornirà i concetti di base delle infrastrutture per l'elaborazione e per l'esecuzione di applicazioni scientifiche. In particolare si concentrerà sul paradigma Cloud di Infrastructure-as-a-Service. Il corso inizierà con un'introduzione alle diverse strutture informatiche (dal laptop al data center) e ai Big Data, descrivendo come si rapportano alle applicazioni scientifiche. Proseguirà con una descrizione degli elementi costitutivi dei moderni Data Center e di come questi vengono astratti grazie ai modelli di cloud computing. Agli studenti sarà fornito l'accesso a un insieme limitato di risorse e servizi Cloud per completare gli esercizi che verranno proposti durante il modulo. Sara' introdotto il concetto di Container ed in particolare di Docker Container cosi' come quello di High Performance Computing (HPC). Il modulo si concluderà fornendo nozioni sui paradigmi informatici emergenti "Fog" ed "Edge" e su come sono collegati alle infrastrutture Cloud.

Testi/Bibliografia

Per il Modulo 1:

  • Glen Cowan, Statistical Data Analysis, Oxford Univ. Press, 1998
  • (opzionale, per maggiore approfondimento statistico) Hastie, Trevor, et al. The elements of statistical learning: data mining, inference, and prediction. Vol. 2. New York: springer, 2009.

Per i Moduli 2 e 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

Per il Modulo 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

    Per il Modulo 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

    Metodi didattici

    Lezioni frontali e sessioni di laboratorio con strumenti di programmazione e statistici per la soluzione di problemi concreti, anche usando risorse disponibili in Cloud.

    La frequenza di questa attività formativa richiede il preventivo completamento dei moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, fruibili in modalità e-learning.

    Modalità di verifica e valutazione dell'apprendimento

    Per i primi tre moduli, l'esame consiste in una prova scritta composta da 3 esercizi:

    1. domanda di teoria
    2. un esercizio pratico
    3. un quesito per la parte di laboratorio, in cui si chiede di commentare un blocco di codice

    L'orale è facoltativo e riguarda solo argomenti di moduli 1 e 2, e permette di alzare o abbassare il voto dello scritto di qualche punto.

    Per la lode, è necessario sostenere una prova orale aggiuntiva

    Importante: per poter sostenere lo scritto è necessario aver completato e consegnato al docente le prove pratiche di laboratorio, che non influiscono comunque sul voto finale.

    Per i moduli 4 e 5, l'esame consiste nella preparazione di un progetto da svolgere in autonomia e da una prova orale.

    Studenti/sse con DSA o disabilità temporanee o permanenti: si raccomanda di contattare per tempo l’ufficio di Ateneo responsabile (https://site.unibo.it/studenti-con-disabilita-e-dsa/it ): sarà sua cura proporre agli/lle studenti/sse interessati/e eventuali adattamenti, che dovranno comunque essere sottoposti, con un anticipo di 15 giorni, all’approvazione del/della docente, che ne valuterà l'opportunità anche in relazione agli obiettivi formativi dell'insegnamento.


    Strumenti a supporto della didattica

    Il materiale presentato a lezione e di accompagnamento sarà reso disponibile su Virtuale o in repository Git.

    Orario di ricevimento

    Consulta il sito web di Francesco Giacomini

    Consulta il sito web di Luca Clissa

    Consulta il sito web di Matteo Negrini

    Consulta il sito web di Gabriele Sirri

    Consulta il sito web di Andrea Chierici