Download presentation
Presentation is loading. Please wait.
Published byJason Hines Modified over 9 years ago
1
Sept 11, 2003ROOT Day1, Suzanne Panacek39 ROOT An object oriented HEP analysis framework. Day 1
2
Sept 11, 2003ROOT Day1, Suzanne Panacek1 ROOT User's Workshop Fermilab June 13-15, 2001 http://patwww/root/root2001/
3
Sept 11, 2003ROOT Day1, Suzanne Panacek1 The ROOT Team
4
Sept 11, 2003ROOT Day1, Suzanne Panacek1 ROOT contacts at Fermi Philippe Canal, x2545 pcanal@fnal.gov Suzanne Panacek, x8334 spanacek@fnal.gov 1. Jeff Kallenbach, x2210 1. jeffk@fnal.gov
5
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Mailing Lists the ROOT mailing list: roottalk@root.cern.ch archives: http://root.cern.ch/root/roottalk/AboutRootTalk.html Fermilab mailing list: about-root@fnal.gov archives: http://listserv.fnal.gov/archives/about-root.html
6
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Class Schedule: Day 2: Monday, 3/19/01 : 9AM – 11AM in EOC Large Class Room Day 3: Tuesday, 3/20/01 : 1PM- 3PM in EOC Large Class Room
7
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Class Schedule - Day 1 Overview of the ROOT Framework GUI basics Command line basics Finding Information (class reference guide) Getting started with the exercises
8
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Class Schedule - Day 2 Root Commands and CINT Discuss Exercises Functions and Fitting The Tree Viewer
9
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Class Schedule - Day 3 Building ROOT Trees Reading Trees Using Trees in Analysis TTree->Draw TTree->MakeClass Chains Exercise discussion How to add your Own Class With the Interpreter With the compiler (shared library) With ACLiC
10
Sept 11, 2003ROOT Day1, Suzanne Panacek1 ROOT Overview What about PAW Concepts: Object Oriented Design, Frameworks Services and Utilities Libraries Physical Organization
11
Sept 11, 2003ROOT Day1, Suzanne Panacek1 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.
12
Sept 11, 2003ROOT Day1, Suzanne Panacek1 PAW to ROOT File Conversion Get the example PAW file from http://www-pat.fnal.gov/root/examples/toyz.rz At the system prompt type > h2root toyz.rz toyz.root Once you've done the conversion, you can then start a ROOT session and open toyz.root Also see: http://root.cern.ch/root/HowtoConvert.html
13
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Object Oriented Concepts Members: a “has a” relationship to the class. Inheritance: an “is a” relationship to the class. Class: the description of a “thing” in the system Object: instance of a class Methods: functions for a class
14
Sept 11, 2003ROOT Day1, Suzanne Panacek1 A Framework provides utilities and services.
15
Sept 11, 2003ROOT Day1, Suzanne Panacek1 ROOT's Services/Utilities Histogramming and Fitting Graphics (2D, 3D) I/O to file or socket: specialized for histograms, Ntuples (Trees) Collection Classes and Run Time Type Identification User Interface GUI: Browsers, Panels, Tree Viewer Command Line interface: C++ interpreter CINT Script Processor (C++ compiled C++ interpreted)
16
Sept 11, 2003ROOT Day1, Suzanne Panacek1 The Libraries Over 350 classes Core CINT Libraries loaded at startup: Hist, Tree … Libraries loaded when needed: HistPainter, TreePlayer,… Special purpose libraries: EG, Physics…
17
Sept 11, 2003ROOT Day1, Suzanne Panacek1 The Framework Organization
18
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Three User Interfaces GUI windows, buttons, menus Root Command line CINT (C++ interpreter) Macros, applications, libraries (C++ compiler and interpreter)
19
Sept 11, 2003ROOT Day1, Suzanne Panacek1 ROOT Overview Summary PAW Concepts: Object Oriented Design, Frameworks Services and Utilities Libraries Physical Organization
20
Sept 11, 2003ROOT Day1, Suzanne Panacek1 GUI Basics Browsing and opening files Drawing histograms Right click, left click, middle click Draw Panel Fit Panel Adding Color and Zooming Adding text and other objects Dividing the canvas Setting the log scale
21
Sept 11, 2003ROOT Day1, Suzanne Panacek1 GUI Basics Display the browser 1. TBrowser b; Start root > root Quit root (just in case) root[0]>.q
22
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Displaying a Histogram Display a histogram The Canvas Open the root file Browse the file
23
Sept 11, 2003ROOT Day1, Suzanne Panacek1 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 freezes event status bar
24
Sept 11, 2003ROOT Day1, Suzanne Panacek1 The Draw Panel The Event Status The Draw Panel Adding Error bars Slider Defaults
25
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Fitting, Coloring, and Zooming Adding a gaussian fit Coloring the histogram Zooming/unzooming
26
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Adding Objects to the Canvas The Editor Adding an Arrow Adding Text
27
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Adding another Pad Add a Pad Select the new Pad Draw a histogram Add a title for the axis
28
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Modifying the Statistics The Canvas in the Browser Setting the (7) statistics options default = 0001111
29
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Dividing the Canvas Create a new Canvas Divide it in 2 Draw two histograms. 1. Lego plot 2. LogY
30
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Command Line Basics Use up and down arrows to recall commands $HOME/.root_hist Use emacs commands to navigate
31
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Open a File Open a file for reading root [] TFile f("Example.root") Look at the contents of the file root [] f.ls() TFile** Example.root ROOT file TFile* Example.root ROOT file KEY: TTree myTree;1 Example ROOT tree KEY: TH1F totalHistogram;1 Total Distribution KEY: TH1F mainHistogram;1 Main Contributor KEY: TH1F s1Histogram;1 First Signal KEY: TH1F s2Histogram;1 Second Signal
32
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Plotting a Variable Plot a variable root [] myTree->Draw("xs1") Where did myTree come from? ROOT executed an implicit gROOT->FindObject("myTree") And now.. root[] f.ls() … OBJ: TTree myTree Example ROOT tree: 0 KEY: TTree myTree;1 Example ROOT tree
33
Sept 11, 2003ROOT Day1, Suzanne Panacek1 The ROOT File A TFile is a directory structure like UNIX Object in Memory (OBJ) Object on Disk (KEY)
34
Sept 11, 2003ROOT Day1, Suzanne Panacek1 The ROOT Tree Stores large quantities of same class objects: Optimize disk space Optimize access speed Had analysis methods (TTree::Draw) TNtuple is a TTree limited to floating point numbers. More details later …
35
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Fitting To add a Gaussian Fit root [] htemp->Fit("gaus") Where did htemp come from? automatically generated histogram by the TTree::Draw command.
36
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Color and Error Bars To add color root [] htemp->SetFillColor(9) See pg. 134 of the Users Guide for color index Or on any Canvas choose View:Colors Drawing Error Bars root[] htemp->Draw("E1,same") Many Draw Options See the User's Guide
37
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Command Line Basics Open and browse a file Drawing histograms Adding a Fit Adding Error bars Adding Color
38
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Where to Find Information The ROOT Home: http://root.cern.ch Talks and publications on ROOT: http://root.cern.ch/root/Publications.html To get information on a specific class : http://root.cern.ch/root/html/ClassIndex.html
39
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Class Reference Guide Find the class in the index, for example TH1. Class Inheritance class TH1 : public TNamed, public TAttLine, public TAttFill, public TAttMarker Class Description Private members Public methods Code
40
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Finding Examples The ROOT Tutorials: http://root.cern.ch/root/Tutorials.html The ROOT How To's: http://root.cern.ch/root/Howto.html For on-line help for a particular topic it's very useful to use their facility to search the ROOT site. http://root.cern.ch/root
41
Sept 11, 2003ROOT Day1, Suzanne Panacek1 More Information To subscribe to roottalk: http://root.cern.ch/root/roottalk/AboutRootTalk.html To submit a bug report: http://pcroot.cern.ch/root-bugs About ROOT at Fermi: about-root@fnal.gov http://ods.fnal.gov/ods/root-eval/current/ To subscribe to the about-root mailing list send mail to listserv@fnal.gov with the body of the email: subscribe about-root email@addresses.
42
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Summary Overview of ROOT GUI Basics Command line basics Using the Class reference guide PAW to ROOT conversion
43
Sept 11, 2003ROOT Day1, Suzanne Panacek1 Getting started with the Exercises Go to: http://patwww.fnal.gov/root/class/Setup.htm for setup instructions using Reflection and ssh on fcdfsgi2 and d0mino and minos1. Find the exercises on line at: http://patwww.fnal.gov/root/class/exercises.htm
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.