ROOT Version 5.22/00 Release Notes


ROOT version 5.22/00 has been released on December 18, 2008. In case you are upgrading from an old version, please read the releases notes of version 5.16, 5.18 and version 5.20 in addition to these notes.

Binaries for all supported platforms are available at:

      http://root.cern.ch/root/Version521.html
Versions for AFS have also been updated. See the list of supported platforms:
      http://root.cern.ch/Welcome.html

For more information, see:

      http://root.cern.ch

The following people have contributed to this new version:
Ilka Antcheva,
Jean-François Bastien,
Bertrand Bellenot,
Rene Brun,
Philippe Canal,
Olivier Couet,
Kyle Cranmer,
Valeri Fine,
Fabrizio Furano,
Leo Franco,
Gerri Ganis,
Andrei Gheata,
Mihaela Gheata,
David Gonzalez Maline,
Andreas Hoecker,
Jan Iwaszkiewicz,
Lukasz Janyst,
Anna Kreshuk,
Wim Lavrijsen,
Josef Leydold,
Sergei Linev,
Anar Manafov,
Diego Marcos-Segura,
Lorenzo Moneta,
Axel Naumann,
Eddy Offermann,
Timur Pocheptsov,
Fons Rademakers,
Paul Russo,
Gregory Schott,
Stefan Schmitt,
Alja Tadel,
Matevz Tadel,
Wouter Verkerke,
Hady Zalek
Igor Smirnov



Core

Collections

ACLiC

Meta

TStyle

TSystem



I/O

Data Model Evolution

First step in the implemantation of the infrastructure for the new Data Model Evolution Scheme.
This Data Model Evolution is brought to your courtesy of BNL/STAR/ATLAS/Fermi/Cern
Current Capabilities
Coming soon
LinkDef rule syntax
Setting a transient member:
	  #pragma read sourceClass="ACache" targetClass="ACache" source=""
	  version="[1-]" target="zcalc" \
	  code="{ zcalc = false; }"
Setting a new member from 2 removed members:
	  #pragma read sourceClass="ACache" targetClass="ACache"
	  source="int x; int y; char c" version="[8]" target="z" \
	  code="{ z = onfile.x*1000 + onfile.y*10; }"
Renaming a class:
	  #pragma read sourceClass="ACache" version="[8]"
	  targetClass="Axis" \
	  source="int x; int y;" target="z" \
	  code="{ z = onfile.x*1000 + onfile.y*
	  #pragma read sourceClass="ACache" version="[9]"
	  targetClass="Axis";
See the long form documentation
Selection XML syntax
<read sourceClass="ACache" targetClass="ACache" source="" version="[1-]" target="zcalc"> <![CDATA[ { zcalc = false; } ]]></read>
NET release notes

XROOTD



SQL



Tree

  • Fixed support for vector<bool> and vector<string>
  • Added support for top level object that do not inherit from TObject _AND_ have a custom streamer (like std::string and TString);
  • Tree Viewer

    PROOF release notes

    PROOF



    Histogram package

    Modify implementation of the Fit function in the histograms and data classes to use a new common implementation, defined in the file HFitImpl.cxx. This file provides the implementation of the function used for bin fitting of the data objects of the histogram package, TH1's, TGraph, TMultiGraph, TGraph2D, and un-binned maximum likelihood fit for TTree data (used by the TTree::UnbinnedFit method).

    HFitInterface.h

    Header file defining functions in the namespace ROOT::Fit providing functions required for fitting the data objects of the histogram package. These functions are used for example from other libraries like the FitPanel or the TTreePlayer for performing the fits.

    TBackCompFitter

    New class providing a backward compatible implementation of the TVirtualFitter using the new fitting class. It is wrapping the functionality of the ROOT::Math::Fitter and it can be used to retrieve the fit information (result and configuration) via the TVirtualFitter API from FitConfig and FitResult. A static instance of this class is created after calling the histograms and graph Fit methods in order to retrieve the full fit information after having fit. This gives full backward compatibility functionality in fitting. This class in addition to the TVirtualFitter provides the following funcitonality:

    TH1

    TH2

    TH3

    TProfile

    TProfile3D

    THnSparse

  • fix a bug in SetBinError
  • fix in THnSParse::Rebin
  • fix error calculation in Multiply

    TGraph

    TGraph2D

    TMultiGraph

    TGraphPainter

    TPaletteAxis

    TFormula

    TF1

    THStack

    TUnfold



    FitPanel

    Add a new revised version of the Fit Panel with the following functionality: Here is how the fit panel is now:

    Fit Panel

    These are the currently support methods for the new Advance Graphics dialog:

    Fit Panel Fit Panel



    CINT

    Reflex

    Cintex



    MATLAB

    A MATLAB/ROOT interface has been developped by Johannes Kissel. It is a data interface for reading and writing ROOT files from within MATLAB just as you do with MATLAB files. For more information, see this announcement at the ROOT Forum.

    PyROOT

    Support for python 2.6 has been added. Older versions will compile fine, but will have problems when using the buffer interface for C arrays.

    For user convenience, code was added to load a custom rootlogon.py/.C, if available. This code is loaded on first use of the ROOT module, and the python rootlogon.py is loaded as a module.

    The language was improved by added a _creates property to all MethodProxy methods. By setting this value to True, objects returned by such methods will be owned (and reference counted) by the python interpreter. By default, the Clone() and DrawClone() methods will have _create equal to True.



    Math Libraries


    MathCore

    MathCore

    Fumili

    Minuit

    Minuit2

    GenVector

    SMatrix

    Physics

    Unuran



    RooFit

    New tutorial macros available

    A completely new set of 70(!) tutorial macros is now available in $ROOTSYS/tutorials/roofit These macros are divided in several subjects and are all referenced as iluustrations of concepts explained in the forthcoming edition on RooFit Users Manual. All macros are extensively documented and each is fully functional standalone. The accompanying update of the Manual is expected mid-September.
    BASIC FUNCTIONALITY
    ADDITION AND CONVOLUTION
    MULTIDIMENSIONAL MODELS
    DATA AND CATEGORIES
    ORGANIZATION AND SIMULTANEOUS FITS
    LIKELIHOOD AND MINIMIZATION
    SPECIAL PDFS
    VALIDATION AND MC STUDIES

    Miscellaneous small improvements

    A very large number of small fixes and interface improvements have been made in the context of the systematic review of all methods for the new tutorial macros and updated Users Manual. Listed below are the most significant functionality upgrades that were introduced in the process.

    RooStats

    This is a new package introduced in this version for statistical tools built on top of RooFit. It is a joint effort between the LHC experiments and the ROOT team (see the RooStats Wiki page).

    This version contains the interfaces for performing the statistical calculations and dealing with the obtained results and concrete classes implementing the statistical methods.
    All the classes and functions in RooStats are provided in the namespace RooStats.

    RooStats interfaces

    RooStats concrete classes

    The concrete classes describing statistical tools implementing the above interfaces are: Additional classes or functions provided by RooStats are:

    RooStats tutorials macros

    Tutorials are provided in the tutorials/roostats directory:

    TMVA

    This version corresponds to TMVA version 3.9.5.

    Geometry

    Improvement of the standard overlap checker. The previous method was checking points on the visual mesh of volume shape against all possible overlapping partners. The new method checks more points (currently 1000, in future configurable) on the volume outline or surface. This minimizes the number of non-detectable overlap configurations.
    The interface to activate the new checking method is the same as before:

    gGeoManager->CheckOverlaps(ovlp);
    where ovlp is the overlap tolerance (default 0.01 cm)

    An example of overlap that was not detected before but is now:



    MonteCarlo



    GUI

    New Classes: TRecorder TGRecorder

    TRecorder classes provide interface for recording and replaying events in ROOT. Recorded events are:
  • Commands typed by user in command line (e.g. 'new TCanvas')
  • GUI events (mouse movement, button clicks, ...)
    All the recorded events from one session are stored in one TFile and can be replayed again anytime.
    Modifications in TRootCanvas menu:
  • Renamed 'Inspect' menu title to 'Tools'
  • Added 'Event Recorder' menu entry

    Here is a screenshot of TGRecorder (GUI interface of the recorder):

    TGRecorder screenshot.

    New Class: TGPack

    New Container class for vertical and horizontal grouping of frames. It enforces a predictable resizing behaviour on children. For an example of how to use it, see tutorials/eve/pack.C.

    TGPack class example.

    TRootBrowser

    TGTab

    TGTextEditor

    TGSplitFrame

    TGToolTip

    TGSplitter

    TGView

    TGTextView

    TGTextEdit

    TGTextEntry

    TGCompositeFrame



    GUIHTML

    TGHtml

    TGHtmlBrowser



    Graphical Output

    PDF

    SVG

    PostScript

    TASImage / libAfterImage

    Miscellaneous

    TColor

    TLatex

    TLatex in now centered vertically like TText. When centered vertically, TLatex was not aligned on the control box. Some additionnal tiny adjustment of one pixel was also needed in order to look better when the text is enclosed in a box like in TPaveText.

    TPaveText

    The vertical text aligment is now done using the text alignment attributes instead of the trick used before. Histograms' titles are look much better centered vertically after this modification.

    TGraph

    TGraph::DrawPanel is now implemented.

    TGraphErrors

    The drawing option "[]" has been change to "||". The new option "[]" is the same as "||" except that some ticks are drawn at the end of the horizontal and vertical lines at the end of the error bars. This new way of drawing the option "[]" shows better to which error bar the additional tick marks belong. The following example, which has been provided by Thomas Ullrich , shows it clearly.
    example of option []

    TGraphPolargram.cxx

    An extra empty canvas was created each time a TGraphPolar was painted in "Not Editable" mode.

    TPad

    Improvments in TPad::BuildLegend: If the pad contains some TMultiGraph or THStack the individual graphs or histograms in them are automatically added to the TLegend produced by TPad::BuildLegend.

    TGaxis

    When drawn with the option X+ or Y+ the histogram axis were wrong in case of alphanumeric labels. The tick marks were in the right place but the labels were not.

    OpenGL



    Eve



    Misc



    ROOT page - Class index - Top of the page - Valid HTML 4.01 Transitional