E-Planet 2013 proposal: Data analysis with ROOT / PROOF


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

  1. 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.
  2. 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.

This topic: Main > WebPreferences > RootProofUNLPTutorial2013
Topic revision: r1 - 2013-07-18 - GerardoGanis
This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback