ROOT User's Guide


Welcome to the ROOT User's Guide. From here you can download the preliminary version of the ROOT User's Guide. It contains 20-something chapters and 400 pages. We plan to print a hard copy edition, and appreciate comments so that we can make corrections before the printing. Note that we cannot accept requests to ship printed copies at this time.
If you would like to contribute a chapter, section, or even a paragraph, don't hesitate we would appreciate it. Send your comments to: rootdoc@root.cern.ch.

The PDF version of the ROOT User's Guide v3.05: Users_Guide_3_5.pdf (~ 7.4 MB) (you need Acrobat reader version 3 or 4 and set the Print option to Level 1)

The PDF version of the ROOT User's Guide v3.05: Users_Guide_3_5_TwoInOne.pdf (~ 5.0 MB) (same as above, but two pages in one)

The MSWord version of the ROOT User's Guide v3.05: Users_Guide_3_5.doc (~ 8.7 MB)

Both formats should print on letter and A4 paper size.

Version 3.05 changes (30 June 2003):

- pg. 2: Explication of the convention style changes in this edition
- pg. 7: Actualized picture of ROOT Libraries Dependences
- pg. 8: Missing chapter title in the text: 'Getting Started'
- pg. 13: Updated ROOT Logo
- pg. 16: Minor rewording in 'Printing the Canvas' paragraph
- pg. 18: New chapter: Regular Expression
- pg. 26: Fixed typo in TArrayD class name
- pg. 29: Added descriptions about the THistPainter class and TH1::DrawNormalized method
- pg. 30 Added description about SURF5 draw option in the list
- pg. 31 Added description about ][ draw option in the list
- pg. 39 New chapter: TPaletteAxis
- pg. 40 Minor rewording in the first paragraph
- pg. 42 Added description about TH1::KolmogorovTest
- pg. 45 Fixed typo
- pg. 46 Fixed typos
- pg. 55 Added description about Z and [] draw options of TGraphErrors
- pg. 56 Added description about TGraphAsymmErrors::Paint and additional draw options
- pg. 64 Fixed error in the fitf code: if(par[2] !=0)
- pg. 70 New chapter: The Minimization Package
- pg. 79 Changed the destructor definition
- pg. 82 Updated ROOT Logo
- pg. 91 Renewed chapter 'ACLiC - The Automatic Compiler of Libraries for CINT'
- pg. 105 Arranged event keywords to be better readable
- pg. 106 Arranged cursor keywords to be better readable
- pg. 112 Added description about TPad::WaitPrimitive method
- pg. 118 Arranged Greek letter keywords to be better readable
- pg. 128 Replaced the chapter 'Time Format' by more detailed 'Axis with Time Units'
- pg. 139 Removed extra spaces in the title 'gFillColor'
- pg. 149 Added description about TStyle::SetOptDate
- pg. 183 Changed the StreamerInfo class name to TStreamerInfo
- pg. 183 Changed the StreamerInfoElement class name to TStreamerElement
- pg. 184 Arranged EReadWrite data to be better readable
- pg. 190 Rewording chapter name
- pg. 190 Added description about a new way to provide the login information
- pg. 191 Updated rootd description according to the last development
- pg. 192 Updated rootd command line arguments according to the last development
- pg. 193 Added description about TFile::ReOpen method
- pg. 249 Rewording descriptions of fBits and fUniqueID
- pg. 265 Minor changes in the TList collection last paragraph
- pg. 272 Fixed error in the Rx(a) matrix
- pg. 278 Fixed error in the comment (was as a part of the code)
- pg. 281 New chapter: Matrix Elements and Operations (not completed)
- pg. 283 New chapter: The ROOT Geometry Package (not completed)
- pg. 289 Minor changes
- pg. 299 Fixed bug in the documentation - the first canvas was hidden on the picture
- pg. 309 New chapter: Writing a Graphical User Interface (not completed)
- pg. 367 New Index: includs all classes and their methods used in the Users Guide

Version 3_2c changes (18 September 2002):

- pg. 14 fixed type f1s.SetNpx to f1.SetNpx
- pg. 20 changed to > root [] .L instead of > root [] .l
- pg. 36 added the new Draw options (P0, *H, LF2, 9)
- pg. 37 updated wording on the statistics display
- pg. 54 added H[j] definition to TProfile description
- pg. 73: fixed TH1F *hpx = (TH1F*)f->Get(*hpx); and TF1 *func = new TF1("fit",fitf,-3,3,3);
- pg. 133 updated TLatex symbols
- pg. 303 updatedcollections methods with 'const' signature.
- pg. 313 fixed type: tree-vector to three-vector
- pg. 313 added a line to load the physics library
- pg. 326, the end of Chap. 15 Physics Vector, under "Transformation of a TLorentzVector", in the example cod. Changed variable "l" to be a "TLorentzRotation", not a "TLorentzVector".
- pg. 336, "Step C: Same as step A,..", changed to be "Same as step B"
- pf. 337, "Step E: ... You can repeat the steps 2, 3, 4 using ..." changed to be "repeat steps B, C, D"

Version 3_2b changes (12 March 2002):

-The index in the previous version (3.02a) was not refreshed and hence was inaccuate. It is refreshed in this version.
- pg. 127 added a paragraph on TPad->SetEditable
- pg. 336 fixed typos in the T->Process("MySelector.C',"",1000,10) statements
- pg. 281 added the correct and incorrect way to SetBranchAddress with a chain

Version 3_2a changes (30 January 2002):

- pg. 26 new Memory Checker
- pg. 45 new BAR and HBAR TH1::Draw options
- pg. 48 tcut Draw Option
- pg. 51 new Alphanumeric Bin Labels (String histograms)
- pg. 53 new class THStack
- pg. 59 new Draw option [] for TGraphAsymError
- pg. 78 correction from TH1::SetOptFit to gStyle::SetOptFit
- pg. 93 new option for ProcessLine to see CINT errors
- pg. 143 SetRange, SetRangeUser,
- pg. 145 SetNoExponent, SetMaxDigits
- pg. 150 new example for time options in histogram axis (seism.C)
- pg. 204 new TRef class
- pg. 212 char* for TStreamerInfo
- pg. 236 new TTree Brach for collections
- pg. 240 new GetEntry options
- pg. 268 new TTreeFormula for string histogram
- pg. 271 new default options for binning of the histogram created by TTree::Draw
- pg. 289 new template support

Version 3_1d changes (03 December 2001):

- added initialization of THtml object before use (p 341)
- added that for non-predefined functions the parameters need to be initialized.

Version 3_1c changes (20 August 2001):

- added paragraph on ordering the pragma statements in the LinkDef .h
- added how to fix a parameter for fitting
- fixed errors in tree4.C example (pg. 242, tree4r())
- added information on Bypass Streamer for a TClonesArray
- added how to retrieve a histogram in batch mode
- added how to draw a subrange using the [cutg] Draw option for the 2-D.

Version 3_1b changes (19 June 2001):

- New chapter on Object Ownerships
- pg 219 changed to t1.Branch("random", &random, "random/D")
- added more index entries

Version 3_1a changes (8 June 2001):

- This version has many changes, in particular in the Input/Output and Tree chapters

Version 0.7 changes (8 March 2001):

- This version has many changes, but nothing major. Most were triggered by the many comments from Jacek.
pg. 15 added note about TF1::SetNpx
pg. 19 added note about automatically finding the object by CINT
pg. 23 fixed typo
pg. 24 added a section: " Tracking Memory Leaks
pg. 35 added a description of the "Z" draw option
pg. 36 added an example of using Latex in the Axis title
pg. 43 expanded explanation of "Z" option
pg. 62 added a description of the "B" option for TH1::Fit
pg. 68/69 removed duplicate paragraph and reorganized a little
pg. 88 updated limitations for a class created in a script
pg. 92 removed "Interpreting and Compiling a Script" (see next line)
pg. 94 updated the section on "Moving between Interpreter and Compiler"
pg. 99 rewrote the paragraph on Updating the Canvas and moved it to pg. 110
pg. 101 fixed typo
pg. 105 added a paragraph to find multiple unnamed objects of the same class
pg. 108 minor rewording
pg. 112 added default 2D Graphical object coordinates.
pg. 117 updated to show the roots in graphical form
pg. 126 added a reference to where the xyslider.C script can be found
pg. 129 moved paragraph about wmin and wmax to this page.
pg. 143 fixed unintentional page break
pg. 146 fixed script name in example
pg. 149 minor rewording
pg. 150 added a paragraph on how to create text in TPostScript
pg. 154 updated the paragraph on gROOT->ForceStyle
pg. 160 expanded the table about compression level comparisons.
pg. 173 reworded for clarification
pg. 175 changed the streamer example to use kTRUE instead of 1
pg. 175 added an example of the parameters for WriteVersion()
pg. 177,178 added and reworded for clarification
pg. 180 added a description of BypassStreamer
pg. 102 moved the Using The General TFile ? to end of chapter
pg. 197 rewrote advantage of using TTrees
pg. 207 added an example of a variable length array in a branch.
pg. 209 moved autosave paragraph here
pg. 210 expanded a little on maxvirtualsize parameter
pg. 212 removed the TH1F hstat from AFile.root in example
pg. 212 added hfile->Close to example
pg. 213 rewording for clarification
pg. 212 fixed unintentional page break
pg. 213 added explanation why a gPad->Update is needed in this case
pg. 221 expanded explanation of GetV and SetEstimate
pg. 224 updated reference to appendix split class
pg. 224 updated explanation of GetEntry
pg. 228 updated ACLiC + and ++ options
pg. 236 rewording for clarity
pg. 237 removed "Adding a Class with the Interpreter" since this was duplicated in the CINT chapter
pg. 238 added a fTempValue to the example
pg. 238 added an example of excluding a data member from the auto streamer
pg. 239 summarized the three pragma statement options
pg. 251 minor revisions on the Physics Vector chapter for clarification
pg. 270 fixed typo
pg. 273 updated and summarized the results of Event runs
pg. 282 fixed typo
pg. 290 fixed inconsistent name of message in example
pg. 341 added number to the quiz answers
pg. 343 fixed answer to Quiz on Root Trees (was E, should be D)

Version 0.7 changes (12 January 2001):

- index
- Added a section on Profile Histograms
- Added a chapter on Physics Vectors
- Added a paragraph on calling a static method from a thread
- Added example of setting the axis title with Latex
- Updates to fit parameter section
- Updates on Post Script sections
- Added "static data member not saved" paragraph
- Added LinkDef options
- Added the default setting and explicitly setting number of points in an TF1
- Added note about the name of a chain
- Added note about creating a TProfile with Tree::Draw
- Added note about using TCut in a TTree
- Added note about IgnoreTObjectStreamer (version 3 and up)
- Added the New I/O description for Version 3.0

Version 0.6.3 changes:

- index
- Added an example of a variable length TArrayX object in a branch
- Changed the PDF maker options to true type download
- Changed the PDF maker options to be compatible with Acrobat 3.0
- Added a paragraph about TTree::Draw using the TStyle at creation
- Expanded the index
- Added a note for uniqueness of the rootcint dictionary file name.

p>Version 0.6.2 changes:

- index
- made the version number an automatic field(document keyword)
- fixed a bug in the palette code (pg 133)
- added a section on zooming a graph
- added how to not display the statistics box for a histogram
- fixed the normalizing histogram section
- fixed kTRUE
- added bookmarks for TOC
- fixed credits (DESY->GSI)

If you have the previous version (i.e. version 0.5 from the CERN School of Computing) here is what's new:

- index
- chapter on fitting
- chapter on graphs
- section on DrawClone
- section on Reset()
- rules for splitting a tree
- section on converting HBOOK/PAW files
- section on chains
- chapter on automatic documentation


Suzanne Panacek, Last update 10/31/2000