ROOT Basic Course


The ROOT team is proud to advertise the ROOT Basic Course, part of the CERN training catalogue. The course runs for two days, 16 hourse, and is composed by front lectures and exercises. Click to see the entire program and link to the material!

The material can be found here.

Day 1

1. Introduction

  • What is ROOT?
  • Usage patterns and example applications
  • Structure and elements of ROOT
  • Setting up the exercise environment

2. The C++ Interpreter

  • C++ Crash course
  • The ROOT prompt
  • ROOT as a calculator and notepad for your C++
  • Interpreter commands
  • Macros
  • Exercises

3. Histograms, Graphs and Functions

  • Histograms
  • Graphs
  • Functions
  • Basic interaction with the canvas, plotting, styling
  • Exercises

4. Graphics

  • Creating a nice plot: best practices, axes, legends, styles, colours, markers and fonts
  • Introduction to JSROOT
  • Exercises

5. Fitting

  • Likelihood and Chi2 maximisation
  • Introduction to fitting and common fitting problems
  • Building sophisticated fit functions
  • Interface to Minimization
  • Using the ROOT Fit GUI
  • Random number generation
  • Exercises

Day 2

6. Python Interface

  • Python crash course
  • Mapping C++ to Python with PyROOT: elements of the ROOT Python "bindings"
  • Exercises

7. ROOTBooks

  • Complement the macro, prompt and script approach with a web-based solution
  • Create a nice ROOTBook: best practices, plotting
  • JSROOT in ROOTBooks
  • ROOTBooks at CERN: SWAN service
  • Exercises

8. Working with Files

  • The problem of input and output of data
  • Elements of file structure and format
  • Write and read objects
  • The TBrowser
  • Exercises

9. Working with Columnar Data

  • Two storage options: row- and column-wise
  • TDataFrame: the handle on the ROOT (and not only) columnar data
  • Exercises

10. Developing packages using ROOT

  • Setting up the environment
  • Linking libraries, finding headers: the root-config script
  • Exercises