ROOT Course. Vincenzo Vitale, Dip. Fisica and INFN Roma 2

Similar documents
ROOT: An object-orientated analysis framework

HEP data analysis using ROOT

INTRODUCTION TO THE ANAPHE/LHC++ SOFTWARE SUITE

ROOT Trips & Tricks. Ole Hansen. Jefferson Lab. Hall A & C Analysis Workshop June 26 27, 2017

Offline Tutorial I. Małgorzata Janik Łukasz Graczykowski. Warsaw University of Technology

Getting Started with ROOT

ALICE Simulation Architecture

PROOF-Condor integration for ATLAS

PAW: Physicist Analysis Workstation

An Introduction to Root I/O

INTRODUCTION TUTORIAL

Existing Tools in HEP and Particle Astrophysics

Introduction to ROOT. Sebastian Fleischmann. 06th March 2012 Terascale Introductory School PHYSICS AT THE. University of Wuppertal TERA SCALE SCALE

ROOT. Introduction. Spring 2010 Lecture 5. S. Lehti and V.Karimäki. COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 1)

A Geometrical Modeller for HEP

Open data and scientific reproducibility

High-Energy Physics Data-Storage Challenges

Introduction to ROOT and application to data analysis at the LHC

ISTITUTO NAZIONALE DI FISICA NUCLEARE

Practical Statistics for Particle Physics Analyses: Introduction to Computing Examples

Virtualizing a Batch. University Grid Center

JAIDA, JAS3, WIRED4 and the AIDA tag library experience and new developments

ROOT Course. Vincenzo Vitale, Dip. Fisica and INFN Roma 2

Python Scripting for Computational Science

Introduction to ROOT. M. Eads PHYS 474/790B. Friday, January 17, 14

ROOT for beginners. First Day Discovering the graphical environment

AIDA JAS Massimiliano Turri, SLAC Massimiliano Turri, SLAC INFN-LNF, 7 July 2003

Data Analysis Frameworks

Volunteer Computing at CERN

Python Scripting for Computational Science

Benchmarking the ATLAS software through the Kit Validation engine

Large Scale Software Building with CMake in ATLAS

Detector controls meets JEE on the web

Computational Physics Operating systems

PAW++ Physics Analysis Workstation. User s Guide. Version 2.02 (September 1993) Application Software Group. Computing and Networks Division

INTRODUCTION TO ROOT & BASIC APPLICATIONS

MATLAB 7. The Language of Technical Computing KEY FEATURES

How to...create a Video VBOX Gauge in Inkscape. So you want to create your own gauge? How about a transparent background for those text elements?

PAW++ CERN Program Library Long Writeup Q121. Physics Analysis Workstation. User s Guide. Application Software Group. Computing and Networks Division

Machine Learning Software ROOT/TMVA

Recasting LHC analyses with MADANALYSIS 5

The Run 2 ATLAS Analysis Event Data Model

Matplotlib Python Plotting

The CMS Computing Model

ROOT TUTORIAL. Dirk Krücker, Kelly Beernaert, Ilya Bobovnikov.

Physics Analysis Workstation. User s Guide. Version 2.02 (September 1993) Application Software Group. Computing and Networks Division

New Developments of ROOT Mathematical Software Libraries

CSCS CERN videoconference CFD applications

Monitoring the software quality in FairRoot. Gesellschaft für Schwerionenforschung, Plankstrasse 1, Darmstadt, Germany

P445/515 Data Analysis using PAW

Contents. LS-DYNA is a registered trademark of Livermore Software Technology Corporation. back to contents

Grid and Cloud Activities in KISTI

Potential use of JAS/JAIDA etc. SAS J2EE Review

Physics Analysis Workstation

Modules and Front-End Electronics Developments for the ATLAS ITk Strips Upgrade

The CMS data quality monitoring software: experience and future prospects

Data Transfers Between LHC Grid Sites Dorian Kcira

ROOT Analysis Framework (I) Introduction. Qipeng Hu March 15 th, 2015

Frank Gaede, DESY, LCWS 2005, Stanford, CA March Overview of Simulation and Reconstruction Tools in Europe

ROOT Status and Future Developments

Verification and Diagnostics Framework in ATLAS Trigger/DAQ

WEB SITE. Interface publication Instructions

GSI Experiment Electronics

Lecture I: Basics REU Root Duke Jen Raaf

CS-Studio Display Builder

From raw data to new fundamental particles: The data management lifecycle at the Large Hadron Collider

An SQL-based approach to physics analysis

Outline. policies. with some potential answers... MCS 260 Lecture 19 Introduction to Computer Science Jan Verschelde, 24 February 2016

Geant4 activities at DESY

Experience of the WLCG data management system from the first two years of the LHC data taking

RooFit Tutorial. Jeff Haas Florida State University April 16, 2010

CouchDB-based system for data management in a Grid environment Implementation and Experience

ROOT5. L. Peter Alonzi III. November 10, University of Virginia

Data handling and processing at the LHC experiments

ALICE Grid/Analysis Tutorial Exercise-Solutions

CMS - HLT Configuration Management System

Chapter 11 Program Development and Programming Languages

HippoDraw and Hippoplotamus*

Software Installation - Accessing Linux and Checking your Environmental Variables

For more info and downloads go to: Gerrit Stols

Scientific Data Curation and the Grid

Recasting with. Eric Conte, Benjamin Fuks. (Re)interpreting the results of new physics searches at the LHC June CERN

Data Quality Monitoring at CMS with Machine Learning

Andrea Sciabà CERN, Switzerland

Tutorial: Introduction to Flow Graph

Summary of Image and Plotting Software (IPS) packages collected. for possible use with GLAST Science Analysis Tools

LCB Workshop, Marseille 1999

CERN openlab II. CERN openlab and. Sverre Jarp CERN openlab CTO 16 September 2008

GROUP CANVAS USER SIDE FUNCTIONS

GÉANT Mission and Services

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 1 The Blender Interface and Basic Shapes

SHARPE Interface User's Manual Version 1.01

Session 1: Accessing MUGrid and Command Line Basics

ROOT. Data Storage & Analysis Framework. Stanford, XLDB2015 René Brun / CERN

Detector Control LHC

ENVI Tutorial: Introduction to ENVI

Programming, numerics and optimization

1 Introduction. V. Fine, Y. l%yak,?? Perevoztchikov, T.Wenaus

Using the GeoX Framework

Monte Carlo programs

Transcription:

ROOT Course Vincenzo Vitale, Dip. Fisica and INFN Roma 2

Introduction This is a basic introduction to ROOT. The purpose of the course is to provide a starting knowledge and some practical experiences on ROOT. This material is based on the ROOT documentation and other ROOT tutorials. LEGO strategy: use what you have or find what you need. Comparison of different ROOT experiences might be useful 2

OUTLINE What is ROOT Before ROOT: PAW ROOT and LHC What ROOT can do for you Some ROOT users Open Source Project ROOT modes Exercise: command line, GUI 3

What is ROOT ROOT is an object-oriented software package developed by CERN.(*) It was originally designed for particle physics data analysis and contains several features specific to this field. But it is also commonly used in other applications such as astronomy and data mining. * from Wikipedia 4

What is ROOT Development was initiated by René Brun and Fons Rademakers in 1994. ROOT is written in C++ 5

Before ROOT: PAW PAW widely used in particle physics Composed: HBOOK, ZEBRA, KUIP, COMIS, SIGMA Data analysis with NTUPLE (tables) Simple and Efficient No way to insert more complex structures Difficult to extend Expensive to maintain Too many different languages:fortran, KUIP, SIGMA 6

ROOT goals Support full data analysis chain Complete objects Object hierarchies Histogramming Fitting Visualization Only one language : C++ Better maintainable: OOP Extensible: OO framework tech. 7

Differences from PAW Regular grammar (C++) on command line Single language (compiled and interpreted) Object Oriented (use your class in the interpreter) Advanced Interactive User Interface Well Documented code. HTML class descriptions for every class. Object I/O including Schema Evolution 3-D interfaces with OpenGL and X3D. 8

ROOT and LHC The Large Hadron Collider's experiments will collect several tens of Petabytes of data per year. (1 Petabyte = 1000 Terabytes, compare with your PC harddisk) LHC data will be analyzed with ROOT. Then ROOT focus is on high performances, because of the amount of data C++ provides modularity and performances 9

What ROOT can do for you histogramming and graphing to visualize and analyze distributions and functions, curve fitting (regression analysis) and minimization of functionals, statistics tools used for data analysis, matrix algebra, four-vector computations, as used in high energy physics, standard mathematical functions, multivariate data analysis, e.g. using Neural Networks, image manipulation, used e.g. to analyze astronomical pictures, access to distributed data (in the context of the Grid) distributed computing, to parallelize data analyses, persistence and serialization of objects, which can cope with changes in class definitions of persistent data, access to databases, 3D visualizations (geometry) creating files in various graphics formats, like PostScript, JPEG, SVG, interfacing Python and Ruby code in both directions, interfacing Monte Carlo event generators... 10

Examples Histograms 11

Examples Data visualization and analysis 12

Examples Graphics in 2 and 3 dim 13

Examples Graphics in 2 and 3 dim 14

Examples LATEX support 15

Examples ALICE central Pb-Pb simulated event 16

Examples Astrophysical data handling 17

some ROOT users BaBar CDF COMPASS DZero H1 MINOS PHENIX PHOBOS STAR ZEUS CRESST... ALICE ATLAS CMS LHCb NOνA PANDA GLAST MAGIC PAMELA ICECUBE H.E.S.S. Milagro (experiment) Pierre Auger Observatory VERITAS... 18

Open Source Project Developed as a collaboration: CERN, FermiLAB, Japan, MIT, others Thousand of users giving feedback, comments and other contributions Open Source Project, source is available under GPL license 3/4 major releases a year Annual workshop Let users become developers 19

Distribution ROOT is FREELY available at http://root.cern.ch/ ROOT is well maintained All the new releases and patches are available Large documentation and forums 20

ROOT modes Interactive Session (ROOT command line interface) Macro (Script Processor) Compiled executables Scripting languages C++ is the language for all the operating modes 21

Exercise 1 2 hours will be dedicated to exercises Log on...(address given by voice for security) User: glast Temporary password: nopass > bash or Download binaries from ROOT page on your laptop Set ROOTSYS, PATH and LD_LIBRARY_PATH environment variables 22

Exercise 1 Start ROOT Quit ROOT Output on screen Run a minimal macro > root root [ ].q 23

Exercise 1 Output on screen root [] 35 + 89.3 root [] float x = 45.6 root [] float y = 56.2 + sqrt(x); root [] float z = x+y; root [] x root [] y root [] z root [] cout << hallo world << endl; 24

CINT Extensions to C++ 1. Declaration can be omitted f = new TFile("Example.root") 2. "." notation rather than "->" f.ls() 3. Search for an object by its name TH1F *smallhisto = new TH1F("small","fPx 100",100,-5,5); small->draw(); Warning: These will not work in compiled code! 25

CINT Commands [expression] evaluates the expression.files show loaded source files.class [name] show class definition.g prints all objects in the root session.ls ls on current directory.pwd list the current directory, canvas, and style. 26

Exercise 1 Run a minimal macro root [].x macro1.c Void macro1() { cout << this is a ROOT macro << endl; } Histogram macro root [].x histo2.c 27

Open a File Open a file for reading root [] TFile f( example.root ) Listing the file content root [].x f.ls Or use TBrowser root [] TBrowser t 28

The Editor Panel The Editor Panel Adding Error bars Changing colors Styles 29

Color and Error Bars Colors root [] main->setfillcolor(9) Error Bars root [] main->draw( e1 same ) Fit root [] main->fit( gaus ) 30

The Editor Panel Sliders Rebining 31

Fitting, Coloring, and Zooming Adding a gaussian fit Coloring the histogram Zooming/unzooming 32

Basic Navigation by Clicking Left Click select the object drag the object resize the object Right Click context menu class::name methods Middle Click activate canvas pop pads freezes event status bar 33

Dividing the Canvas Create a new Canvas Divide it in 2 Draw two histograms 34

1-D Drawing Options Any object in the canvas is clickable and editable 35