This lesson is superseded (link to newer version)

Efficient analysis with ROOT

Welcome to a lesson about efficient analysis with ROOT!

This lesson was originally prepared by Stefan Wunsch and Enrico Guiraud.

It starts with a few sections providing more general information and an introduction to the very basics. The second part allows you to gain hands-on experience with modern analysis facilities using an example analysis based on NanoAOD files.

How does this work?

  • Each section provides an overview with the estimated timeline, the questions tackled and the learning objectives. Notification boxes will let you know as soon as you can try things on your own and you will find a summary of the contents at the bottom of each section.
  • Don’t hesitate to ask questions, we are happy to help or give additional information!

Prerequisites

In order to complete this lesson you need

  • An internet connection.
  • A basic understanding of UNIX shells.
  • A working CMSSW setup in your own machine (after completing one of the two lessons, Virtual Machine or Docker).

Schedule

Setup What do I need to participate in this lesson?
00:00 1. Introduction What is ROOT?
What can I learn here?
00:05 2. Get ROOT How to install ROOT on my system or get access to systems with ROOT pre-installed?
00:20 3. ROOT in C++ and Python Should I use ROOT in C++ or Python?
00:35 4. Commonly used features in ROOT Which ROOT features am I likely to use in my analysis?
00:47 5. Efficient analysis with RDataFrame How can I perform efficient analysis with ROOT?
01:02 6. How to get help with ROOT? Where can I find documentation?
Where can I ask for help?
01:12 7. Well done, take a break! Break
01:27 8. NanoAOD analysis: Introduction What am I supposed to learn from this analysis?
What is the physics behind the data?
01:47 9. NanoAOD analysis: Skim the initial datasets How can I process large amounts of data efficiently?
How does an analysis with RDataFrame look like in C++?
02:02 10. NanoAOD analysis: Produce histograms How to produce many histograms efficiently?
How does an analysis with RDataFrame look like in Python?
02:12 11. NanoAOD analysis: Make the plots How can I make high quality plots with ROOT?
02:22 12. Success, you finished! Break
02:22 Finish