E-Planet 2013 proposal: Data analysis with ROOT / PROOF
Content
We propose to focus on the use of ROOT for to analyse HEP data.
ROOT is a software for data analysis, a powerful tool to cope with the demanding tasks typical of state of art scientific data analysis. Among its prominent features are an advanced graphical user interface, ideal for interactive analysis, an interpreter for the C++ programming language, for rapid and efficient prototyping, and a persistency mechanism for C++ objects, used also to write every year petabytes of data recorded by the Large Hadron Collider experiments. This introductory guide illustrates the main features of ROOT, relevant for the typical problems of data analysis: input and plotting of data from measurements, fitting of analytical functions, user-defined selection and processing of data, parallel processing.
Duration and Dates
The length of the proposed program is two weeks.
The stay could take place any time
from beginning of November to mid December (in any case after CHEP 2013, mid October), according to the University's time frame.
Draft of Topics
The following items are meant as a comprehensive list of options open to discussion with UNLP. The final program can be adapted to put more focus on specific topics while dropping others in return.
Lecture 1: Introduction to ROOT
Overview of CERN, the LHC and its experiments. The computer and software activities at CERN will be shown. We introduce
ROOT, with a brief description of its main functionalities.
Lecture 2: Start using ROOT
Start working on the
ROOT prompt, to know what a
ROOT macro is. Start using the function objects in
ROOT to plot mathematical functions. Introduction of the basic class for plotting data points (Graphs) and the histograms.
Lecture 3: Introduction to C++
Introduce some basic concepts in C++ needed for using
ROOT.
Lecture 4: Working with Histograms
See in more detail the histogram classes in
ROOT (in one and multidimensions). Learn also how to perform operations on histograms such as merging or rebinning. Have also a closer look at the visualization of
histograms and other
ROOT data objects.
Lecture 5: Fitting in ROOT
Learn about fitting and how it is performed in
ROOT. See in detail the various fitting options available in
ROOT and how to use them. Have also a closer look on how to generate random numbers and random
data distributions in
ROOT.
Lecture 6: Introduction to ROOT I/O and Tree
Introduce first the notion of reflection required by
ROOT to store C++ objects to a file. Learn how to store objects in a file and how to retrieve objects such as histograms. Introduce the
ROOT tree, starting from the simplest case, a set of tabular data (an ntuple) going to a tree composed by C++ objects. Learn how to create, fill with data and write a tree in a file. Look at how to read a tree, query and analyse its data.
Lecture 7: Working with some examples of UNLP students / researchers
(To be defined)
(Alternatively, dissection of the ATLAS Higgs analysis or equivalent)
Lecture 8: Introduction to RooFit and RooStats
See what
RooFit is and look at an overview of its basic functionalities such as creating fitting models and using them to fit data sets or to generate random pseudo data sets. The
RooFit capabilities of building complex models in
RooFit from a set of standard functions will be presented. Brief introduction to
RooStats, a framework for statistical calculations based on
RooFit.
Lecture 9: Introduction to PROOF
PROOF concepts, terminology. Basic cluster configuration. Using
PoD (PROOF-on-Demand) to create a PROOF cluster. Lite version for multi-core machines. The PROOF ‘shell’. User working areas. Example of basic processing. Dissection of log files, monitoring, real time feedback.
Lecture 10: Data analysis with PROOF
Example of analysis reading data. Comparison with standard
ROOT processing. Concept and usage of ‘dataset’. Installation of additional software. Concept and usage of PAR files.
Lecture 11: CPU-intensive tasks with PROOF
Fitting. Monte Carlo simulations. Example using PYTHIA8.
Hands-on sessions
Hands-on exercises, putting the concepts learned during lectures into practice. We plan to have hands-on after each lecture.
Additional information from UNLP
- A rough estimate of the number of people expected to attend and their level of expertise with ROOT will allow to better adapt the exercises and the lectures.
- We would like to dedicate a lecture to examine in detail a real example of analysis; please let us know if there is a specific analysis topic the UNLP group would like to be covered.