96082 - COMPUTER SCIENCE FOR HIGH ENERGY PHYSICS

Anno Accademico 2022/2023

  • Docente: Francesco Giacomini
  • Crediti formativi: 12
  • SSD: FIS/01
  • Lingua di insegnamento: Inglese
  • Moduli: Maximiliano Sioli (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

Concetto di probabilità: definizione assiomatica, combinatoriale, frequentista e soggettivista. Probabilità condizionata. Indipendenza statistica. Teorema di Bayes.

Variabili aleatorie e densità di probabilità. Distribuzioni multivariate. Densità marginali e condizionali. Funzioni di variabili aleatorie. Caratteristiche numeriche: valore d'aspettazione, varianza, covarianza. Propagazione degli errori nel caso di variabili correlate. Esempi di distributioni: binomiale, multinomiale, poisson, esponenziale, normale, normale multivariata, chi-quadrato, Breit-Wigner, Landau.

Funzioni caratteristiche e loro utilizzo. Teorema del limite centrale.

Inferenza statistica. Informazione in ambito statistico. Informazione di Fisher. Statistiche test sufficienti.

Metodo Monte Carlo: criteri di convergenza, legge dei grandi numeri, stima di integrali e loro incertezze. Riduzione della varianza. Generatori di numeri random, uniformi e con distribuzione generica.

Caratteristiche generali degli estimatori statistici. Statistiche test ed estimatori. Estimatori per il valore di aspettazione, varianza e correlazione. Varianza degli estimatori. Metodo della massima verosimiglianza. Informazione di Fisher. Tecniche per la stima delle incertezze degli estimatori con un parametro. Tecniche per la stima delle incertezze degli estimatori nel caso multiparametrico in presenza di correlazioni. Extended Maximul Likelihood. Estimatori bayesiani, Jeffrey's priors. Metodo dei minimi quadrati, stima dei parametri e incertezze.

Test di ipotesi. Ipotesi semplici. Efficienza e potenza del test. Lemma di Neyman-Pearson. Test lineare, discriminante di Fisher. Metodi multivariati: reti neurali, Boosted Decision Tree, k-Nearest Neighbor. Significanza statistica. P-values. Look-Elsewhere Effect. Metodo chi-quadrato per i test di ipotesi.

Metodi esatti per la costruzione degli intervalli di confidenza. Caso gaussiano e poissoniano. Approccio unificato. Metodo bayesiano. Metodo CLs.

Errori sistematici e parametri di nuisance nel calcolo degli intervalli di confidenza. Metodo frequentista e bayesiano. Proprietà asintotiche.

Modulo 2

Esercizi e complementi al Modulo 1.

Modulo 3

Attività di laboratorio. Richiami di ROOT. RooFit Workspace, Factory, modelli composti, modelli multi-dimensionali. Uso di RooStats per il calcolo di intervalli di confidenza, Profile Likelihood, Feldman-Cousins, intervalli bayesiani, con e senza parametri di nuisance. Utilizzo 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.

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:

  • Frederick James, Statistical Methods in Experimental Physics, World Scientific, 2007

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++, 2nd 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.

    Modalità di verifica e valutazione dell'apprendimento

    TBA

    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 Maximiliano Sioli

    Consulta il sito web di Matteo Negrini

    Consulta il sito web di Gabriele Sirri

    Consulta il sito web di Andrea Chierici