Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sept 11, 2003ROOT Day1, Suzanne Panacek39 ROOT An object oriented HEP analysis framework. Day 1.

Similar presentations


Presentation on theme: "Sept 11, 2003ROOT Day1, Suzanne Panacek39 ROOT An object oriented HEP analysis framework. Day 1."— Presentation transcript:

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


Download ppt "Sept 11, 2003ROOT Day1, Suzanne Panacek39 ROOT An object oriented HEP analysis framework. Day 1."

Similar presentations


Ads by Google