# Presentation: 250293

## Slide 1

- Suzanne Panacek

## Teaching ROOT

- The fast lane on the learning curve

- Suzanne Panacek

## Fermi ROOT class

- Started in 1999
- Evolved into a 3-Day Class
- Given 18 times – 400 people
- ROOT The Movie

- Suzanne Panacek

## Why teach ROOT?

- Speed up learning (20 hours vs. 80 hours)
- Propagate good practices and intended use with examples.
- Hear the issues specific to the experiment and ROOT
- Spread knowledge about new features

- Suzanne Panacek

## Class Schedule - Day 1

- Overview of the ROOT Framework
- GUI basics
- Command line basics
- Finding Information (class reference guide)
- Hands on exercises

- Suzanne Panacek

## Class Schedule - Day 2 

- ROOT Commands and CINT
- Discuss Exercises
- Functions and Fitting
- The Tree Viewer

- Suzanne Panacek

## Class Schedule - Day 3 

- Building ROOT Trees
- Reading Trees
- Using Trees in Analysis
- How to add your Own Class
- With the Interpreter
- With the compiler (shared library)
- With ACLiC

- Suzanne Panacek

## Exercises 

- Session A
- Use the Root Command line
- Write an un-named and named script
- Use the GUI to create objects and change their attributes
- Fit a graph

- Suzanne Panacek

**Notes:**
Session A:
Use the ROOT command line
Write an un-named and a named script
Use the GUI to create objects and change their attributes.
Save your canvas to a PostScript file
Fit a graph

## Exercises 

- Session B
- Use the Browser and Tree Viewer
- Make a Profile and Contour Graph
- Build an Event List from a Cut
- Fill a histogram with random numbers
- Use ACLiC

- Suzanne Panacek

## Exercises 

- Session C
- Study an example analysis from Desy
- Learn about TTree::MakeSelector
- Save and retrieve a canvas to and from a Root File
- Compute the integral of a function within a range

- Suzanne Panacek

**Notes:**

         Study an example analysis from DESY
         Learn about the TTree::MakeSelector method to automatically create a class that loops over each entry in a tree.
         Save and retrieve a canvas to and from a ROOT file
         Compute the integral of a histogram
         Compute the integral of a function within a range

## References

- Class Site:_[http://](http://www-pat/root)__[www-pat.fnal.gov](http://www-pat/root)__[/root/](http://www-pat/root)_
- Exercises (link on Class Site):http://www-pat.fnal.gov/root/class/exercises.htm
- C++ is a prerequisite. Refresher site at: _[http://www-pat.fnal.gov/root/](http://www-pat.fnal.gov/root/CPlusPlus/index.html)__[CPlusPlus](http://www-pat.fnal.gov/root/CPlusPlus/index.html)__[/index.html](http://www-pat.fnal.gov/root/CPlusPlus/index.html)_

- Suzanne Panacek

## Users Guide 3.01a

- New section on Folders and Tasks
- New section on The Role of TObject (RTTI)
- New section on Object Ownership
- Updated I/O chapter
- Streamers
- Schema Evolution
- MakeProject example

- Suzanne Panacek

## Users Guide 3.01a

- New Tree chapter
- 4 new examples on how to write a tree and read it back
- tree1.C: several simple variables
- tree2.C: a tree built with a C structure (Geant3)
- tree3.C: using the new Friends feature
- tree4.C: a tree with a class Event.
- Added 35 examples of the Draw command expressions.

- Suzanne Panacek

## ROOT Problems/Limitations

- For comments/suggestions on the Users Guide – _[rootdoc@root.cern.ch](mailto:rootdoc@root.cern.ch)_
- Would like to see:
- Chapter on 3D Graphics
- Chapter on writing ROOT application with a GUI

- Suzanne Panacek