24 - 29 march 2003 conference for computing in high energy and nuclear physics1 root status and...
TRANSCRIPT
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
1
ROOT Status and Future Developments
CHEP 2003 La Jolla, CAMarch 24th
René Brun, CERN Philippe Canal, Fermilab
Masa Goto, Agilent technologiesFons Rademakers, CERN
http://root.cern.ch
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
2
Project HistoryJan 95: Thinking/writing/rewriting/???
November 95: Public seminar, show Root 0.5
Spring 96: decision to use CINTJan 97: Root version 1.0
Jan 98: Root version 2.0
Mar 99: Root version 2.21/08 (1st Root workshop FNAL)
Feb 00: Root version 2.23/12 (2nd Root workshop CERN)
Mar 01: Root version 3.00/06
Jun 01: Root version 3.01/05 (3rd Root workshop FNAL)
Jan 02: Root version 3.02/07 (LCG project starts: RTAGs)
Oct 02: Root version 3.03/09 (4th Root workshop CERN)
Mar 03: Root version 3.05/03
8 years !!
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
3
Official Support
A very important step for the ROOT project
Support provided by new SFT group in EP division
As a result new manpower in the project
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
4
ROOT Team & AssociatesROOT Team:
Ilka Antcheva (LCG staff) (since 1st Aug 2002)Rene Brun: new SFT group and Alice part timePhilippe Canal (FNAL/CD) (since 1998)Olivier Couet CERN (from PAW) (since 1st Jun 2002)Masa Goto (Agilent technologies)Valeriy Onuchin (LCG project associate) (since 1st Feb 2002)Fons Rademakers: Alice and new SFT group
AssociatesBertrand Bellenot (scopus) Win32gdk (since June 2000)Maarten Ballintijn (MIT/Phobos) PROOF (since Sep 2001)Andrei Gheata: (Alice) Geometry package (since Sep 2001)
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
5
ROOT Team & Associates (2)
Now in the LCG(LHC Computing GRID context)Valery Fine (BNL/Atlas) I/O, TVirtualX/QtVictor Perevoztchikov (BNL/Atlas) STL, foreign classesAND more than 50 important contributions from people spending a substantial fraction of their time on the project. See $ROOTSYS/README/CREDITS
Special thanks to Suzanne Panacek who did a great job with the ROOT Users Guide, tutorials, lectures
Many thanks to FNAL computing Division for the continuous support of the project since 1998
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
6
Source & Binary Distributions
26 binary tar files+ all possiblecombinations
of OS/Compilerin the Makefile
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
7
Downloads Total
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
8
Monthly Downloads
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
9
Short summary of main releases since CHEP2001
Jan 2002: version 3.02/07Sep 2002: version 3.03/09Dec 2002: version 3.04/02Mar 2003: version 3.05/03
http://root.cern.ch/root/htmldoc/examples/Version302.news.htmlhttp://root.cern.ch/root/htmldoc/examples/Version30207.news.htmlhttp://root.cern.ch/root/htmldoc/examples/Version303.news.htmlhttp://root.cern.ch/root/htmldoc/examples/Version30309.news.htmlhttp://root.cern.ch/root/htmldoc/examples/Version30402.news.html
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
10
ROOT I/O Developments Foreign classes
Classes that have not been instrumented for ROOT in any wayThey can now be stored in ROOT filesJust generate a dictionaryVery useful for 3rd party libraries
Emulated classesROOT files are “self-describing”This information can be used to emulate classes for which the actual code is not available while reading
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
11
ROOT I/O Developments (2)
TRef, TRefArray Designed as light weight entitiesVery fast dereferencing (direct access tables)
BA
TBuffer b1;
A.Streamer(b1)
TBuffer b2;
B.Streamer(b2)
TRef
C++ pointer Duplicated
Saved only once
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
12
TTree improvementsCreating branches from collection of objects.Split algorithm improved
For complex cases of inheritance or composition.
TTreeFormula enhancements Drawing TBitsCustom Histogram SizeSpecial variables (Entry #, Iteration #, etc.)
Automatic file overflowWhen file reaches user specified maximumCreate a new file: with "myfile.root", subsequent files are named "myfile_1.root",
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
13
HistogramsNew class THStackLong list of new functions in TH1Plenty of new drawing optionsFilling with string variablesTH1::Merge(TCollection *list)
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
14
Able to represent & navigate geometries of most HEP experimentsFaster than Geant3 : 20% (ATLAS) up to 800% (CDF)Includes an interactive geometry checker able to detect/visualize most geometry definition errors (none of the tested geometries is error-free)
To be soon integrated in a general VMC scheme able to run several simulation MC’s with same user code/geometry
Geometrical Modeler
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
15
Geometrical Modeler Features
Geometry browsing + interactive visualization based on context menusEasy-to-use API/user interfaceExtensible set of 16 shapes, Boolean composite shapes & parameterizedAble to automatically map any G3 geometryProvides navigation functionality (“where am I?”, distances computation, “safety radius”, stepping, …)I/O: N objects RZ size
(G3).root size(fully voxelized)
Time to loadPIII/500
ATLAS
29.046.966
9632 kBytes
4238 kBytes ~ 8 seconds
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
16
0 10 20 30
microsec/point (1 milion points)
Gexam1
Gexam3
Gexam4
ATLAS
CMS
BRAHMS
CDF
MINOS_NEARBTEV
TESLA
Performance for "Where am I" - physics case
ROOT
G3
Geometrical Modeler Features
Several interactive checking methodsGeometry overlap checker
providing a sorted list of overlaps/extrusions & taking as input a minimum value for the overlapping distance
Extensively benchmarked against G3
able to optimize even non-optimizable G3 geometries big gain in speed
See talk by A. Gheata“A geometrical modeler for HEP” on Thursday at 1:30pm
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
17
PROOFSystem for the interactive analysis of very large sets of ROOT data files on a cluster of computersThe main design goals are:
transparency, scalability, adaptability
Allows:parallel analysis of trees or object in a set of filesparallel execution of scripts
on a cluster of heterogeneous machines
“Distributed Parallel Analysis Framework with PROOF”F.Rademakers on Tuesday at 2pm
“Analyse your Data in Parallel using PROOF”M.Ballintijn on Tuesday at 2:40pm
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
18
PROOF Scalability
32 nodes: dual Itanium II 1 GHz CPU’s,2 GB RAM, 2x75 GB 15K SCSI disk,1 Fast Eth, 1 GB Eth nic (not used)
Each node has one copy of the data set(4 files, total of 277 MB), 32 nodes: 8.8 Gbyte in 128 files, 9 million events
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
19
GRID and ROOTTGrid: Abstract interface to GRID servicesTAlien: an implementation of TGridProof can use
Grid Resource Broker Grid File Catalogue Grid Monitoring ServicesCondor
Remote File protocol implemented:Chirp (Condor)DCache (Desy, CDF)RFIO (Castor, CERN)
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
20
Graphics Improvements New class TGraphSmooth (Christian Stratowa)
This class is a helper class to smooth TGraph, TGraphErrors or interpolate a graph at a set of given points. See new tutorial motorcycle.C
New class TSVG implemented by Olivier Couet. TSVG may be used like TPostScript to produce a Scalable Vector Graphics file instead of a postscript file.Viewers like Internet Explorer can view directly the SVG files.
Drawing TF3TASImage
Based on AfterImage
freetype 2 font supportDistributed by default
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
21
Current status on WindowsCurrent Status
Pro: Gui fully workingSame look and feel as other platformsFully compatible with other platformsOpenGL is working
Cons:Much slowerNo Sockets (pending)No memory mapped files
To-do listShort term:
Improve speed Implement Sockets
Middle term:Implement X3DImplement TMapFile
Long term:“win32 native” versionrootd as a windows service
More information: http://root.cern.ch/root/win32progress/Win32GUI.html
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
22
New Features and ClassesTMatrix
Many enhancements by Eddy Offermann (Renaissance Technologies)
TMathNew fundamental mathematical and physical constants (Tony Colley).New functions: Voigt(), BreitWigner(), Bessel and Struve Add two new sorting functions (Adrian Bevan)Add functions TMath::IsInside
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
23
New Features and Classes
TFractionFitter (Frank Filthaut)Fits MC fractions to data histogram
Confidence Level classes (Christophe Delaere)
TLimit, TLimitDataSource and TConfidenceLevel
TFeldmanCousins for confidence level (Adrian Bevan)
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
24
System EnhancementPlugin Manager
Allow easy extension of abstract interfaces
ACLiCFull dependency checkAllow selection of debug or optimized compilationBuilding of read-only scriptsAbility to use CINT’s pragma anywhere
# base class regexp plugin class plugin lib ctor or factory
Plugin.TFile: ^rfio: TRFIOFile RFIO "TRFIOFile(const char*,Option_t*,const char*,Int_t)"
+Plugin.TFile: ^dcache: TDCacheFile DCache "TDCacheFile(const char*,Option_t*,const char*,Int_t)"
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
25
System Enhancementrootcint
Improvement in handling of templates in general and STL containers in particularIntroduce I/O for foreign classesEnhancement for multiple inheritance
CINT improvementsVery long list of enhancements: http://root.cern.ch/root/Cint.phtml?relnote
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
26
Port to new platformsPort to MacOS
Ben Cowan, Keisuke Fujii, George Irwin, etc.
Port to Windows with cygwin and gcc 3.2
Axel Naumann
Port to Intel Compiler v7Fons Rademakers
Port to Itanium 64Fons Rademakers
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
27
ROOT I/O new developments
Lifting remaining limitation of foreign class I/O implementation. Enhance support for STL container
New I/O mechanismSplit vector/list Enable emulation of STL container
Support for large file (more than 2Gb) Support for XML interchange format.
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
28
TTree new developmentsSTL list/vector
Split modeEmulated class mode
TTree::Drawing a user functionWill allow the user to provide a function which will be executed for each entry of the TTree in a context such that the branch name can be used to read the values in the branchBranches will be read only if accessedThe function can use arbitrary C++The return value of the function will be histogrammed
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
29
New graphical interfaceInterface Redesign
core panels and tools to be more in line with modern interfaces
QT implementation of TVirtualXValeri Fine See next slide
GUI Builder First step (done): implement the ability to generate the code for an existing GUI. Second step: implement a GUI builder
DocumentationIlka Antcheva is writing documentation for the GUI classes.
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
30
Gui/Graphics strategy
TVirtualX
TGWin32 TGX11 TGWin32GDKTGQt
TVirtualPad
TPad
User/Root GUI and Graphics classesApplications see onlyAbstract Interfaces
Low levelscreen graphics
and GUI
High levelpad graphics
TG??
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
31
GUI Examples
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
32
Others future developments
New online help systemWill generate a compact file containing the documentationAn interface will allow easy lookup in this fileInformation will be available in any ROOT process
Proof continued developmentSee talk by M.Ballintijn and F. Rademakers
24 - 29 March 2003 Conference for Computing in High Energy and Nuclear Physics
33
ClosingMains areas of developments
Parallel processing and GRIDSGraphicsI/O: STL, TTree::Draw, large files
Many Contributions from “users”Labs and UniversitiesPrivate sectors