Title: ROOT
1ROOT
2News
- Production release 4.00/08 released in July 2004
- Production release 4.02/00 released in December
2004 - Note the new release number scheme
- Production release 4.04/00 planed for end of
April 2005 - Winter 2005 LCG AA proposal to merge LCGs SEAL
and ROOT. - Development of ROOT 5.00 will start in May
- Start of the merge between ROOT and SEAL
- First PRO release of version 5 in December
- CINT/Reflex dictionary Workshop May 2nd to 6th,
2005 - ROOT Workshop September 29,30 and 31, 2005
3Releases Notes Summary
- Support for large files (gt 2 GBytes)
- Support for Automatic Schema evolution for
foreign classes without using a class version
number. - Foreign classes support in I/O API is now
equivalent to TObject classes - Native support for STL collection
- Splitting, member-wise streamering, read without
shared library, schema evolution to and from
TClonesArray - Automatic loading of shared library
- XML backend
- Major improvements in Linear Algebra package
- XROOTD distribution
- New Graphical User Interface
- Redesign of 3D graphics system.
- Python and Ruby bindings
- PDF driver
- Many many more improvements and updates (see
http//root.cern.ch for the complete release
notes)
4ROOT Project Progress
Automatic I/O from dictionary
Automatic Schema evolution
Trees Auto Streamers
Foreign classes STL
CINT Basic I/O
Merge with SEAL
Histograms Basic graphics
5ROOT Project People
ROOT SEAL merge
LCG
FNAL RHIC go ROOT
PAW
BaBar go ROOT
Olivier
LHC
MOOSE
Philippe
Masa
ZOO RD44 RD45
Blueprint RTAG
Fons
"Philippe is now the main developer of the
system (Quote during LCG AA Review)
Rene
6Team structure
Ilka Antcheva (LCG) Maarten Ballinjtin
MIT/Phobos/CMS 80 Bertrand Bellenot ALCAN
50 Bruno Belbute ALICE 100 Marek Biskup (TS
leaves August) Rene Brun Philippe Canal
FNAL Olivier Couet Valeri Fine BNL/STAR
10 Markus Frank LHCb 50 Gerri Ganis
(LCG) Andrei Gheata ALICE 80 Mihaela Gheata
unpaid 50 Masa Goto JP ?? Ivana Hrivnocova
ORSAY 10 Gunter Kickinger ALICE 100 Anna
Kreshuk (PD 6 months) Wim Lavrijsen LBL /ATLAS
20 Jose Lo ALICE 75 Pere Mato Richard Maunder
(PA) Lorenzo Moneta Axel Naumann FNAL Eddy
Offermann RENTEC 20 Valeriy Onuchin (LCG,
leaves in June) Timur Pocheptov JINR 80 Fons
Rademakers Stefan Roiser (F) Andras Zsenei (F)
- BASE System CVS DOC Releases Test suite
newsgroups - Fons, Philippe, Pere,Bertrand, Ilka, Axel,
- Jose, Rene
- DICTINT CINT, Dictionary, Interpreters
- Masa, Philippe, Stefan, Wim
- IO Basic I/O Trees
- Markus, Philippe
- PROOF PROOF,xrootd,GRIDs interface
- Fons, Andreas(ARDA), Maarten,
Derek(ARDA), Gerri, Marek , Guenter BaBar - MATH Maths,Histograms,Functions, Linear Alg
- Lorenzo, Andras, Anna,Eddy
- GUI
- Ilka, Valeriy, Bertrand, Valeri, Fons
- GRAPHICS 2-D 3-D graphics Geometry
- Olivier, Richard, Andrei, Timur, Bruno
- GEOM The detector geometry description
- Andrei, Mihaela
- VMC The Virtual Monte Carlo with interfaces to
- G3, G4 and Fluka
xrootd BaBar
7SEAL ROOT Migration
- Adiabatic changes towards experiments
- Experiments need to see libraries they use
currently will evolve from current usage today
towards a unique set - Details be planned in the Programme of Work
- Will be extra tasks in order to complete
migration
SEAL Libraries
SEAL Libraries
ROOT Libraries
ROOT Libraries
ROOT Libraries
1 deliverable and no duplication
1 deliverable but some duplication still
2 deliverables
time
January 2006
now
August 2005
8ROOT Base and SealBase
- Merging SealBase with ROOT (including Plugin
Manager) - Make an inventory of what exists in SealBase and
not in ROOT - Port/add missing features to ROOT
- Provide a migration guide to help people migrate
to ROOT base classes - Fermi Development
- Maintain, develop and run ROOT test suite.
- Improvement of ACLiC for library dependencies
- Redesign and drastic improvement of the Automatic
documention - includes plan for better web display and
availability at run-time - Continuing updates to the Users Guide with new
chapter on MathLib and Proof
9I/OBasic I/O, RDBMS interfaces, Trees
- Fermilab .5 Cern FTE
- Interfacing TTree and RDBMS
- Continue to extend and improve support for more
C/C constructs in more situations - C-style array of pointers, typedefs when library
is missing, unusual class hierarchy layout, etc. - Review existing infrastructure macros
(ClassDef/ClassImp, etc.) - TTreeFormula Improvements
- includes introducing Bitmap indices
- MakeClass/MakeSelector
- Provide new implementation preserving the object
hierarchy of the TTree.
10DICTINTDictionary, Reflex,CINT,Python
- Fermilab 1.0 Cern FTE Masa Goto
- CINT/Reflex workshop
- A very important workshop has been scheduled for
May 2-gt7 to discuss the integration of Reflex and
CINT. - Fons, Markus, Masa, Philippe, Rene, Stefan
- We hope to converge on a C DS taking advantage
of Reflex and the current redesign of CINT by
Masa. - If successful, Cintex will not be required
anymore. - Main Goal
- Improve the conformity of the dictionary
generator with the C standard without
sacrificing performance. - Move to CINT 6 (enhanced code executor)
11Dictionaries situation today
REFLEX API
XDictlcg.cxx
lcgdict
REFLEX DS
X.xml
Root meta C
cintex
gccxml
CINT DS
CINT API
ROOT
X.h
rootcint
CINT
XDictcint.cxx
12Dictionaries situation in the future
Python
CINT
Root meta C
Reflex/Cint DS
CINT/Reflex API
ROOT
new rootcint
X.h
XDictcint.cxx
Gccxml2reflex/cint
13PROOF
- Original Goals
- Interactive parallel analysis on local cluster
- Transparency
- same selectors, same chain Draw(), etc. on PROOF
as in local session - Scalability
- quite good and well understood up to 1000 nodes
(most extreme case) - extensive monitoring capabilities
- MLM (Multi-Level-Master) improves scalability on
wide area clusters - Adaptability
- partly achieved, system handles varying load on
cluster nodes - MLM allows much better latencies on wide area
clusters - not yet coming and going of worker nodes
- New Additional Goals
- Support for interactive batch mode
- allow submission of long running queries
- allow client/master disconnect and reconnect
- Support hostile grid environments
- startup of agents via Grid job scheduler
- agents calling out to master (firewalls, NAT)
- dynamic master-worker setup
- Conclusion
- We have started an acceleration in the PROOF
development towards achieving the new exciting
goals that will hugely enhance the data analysis
experience of very large data sets - A first firm milestone is a demo at SC05
14Interactive/Batch queries
Commands scripts
Batch
GUI
statefull
stateless
statefull or stateless
15Graphical Interface Overview
- Main Goals
- Cross-platform GUIs consistent look everywhere
- Support for X11, win32 and QT
- Main Developments
- GUI Widgets
- Graphics Editor
- GUI Builder
- Tree Viewer
- Undo/Redo Tools
16OpenGL Viewer
- In the future will be the main 3D viewer. Has to
be updated to take advantage of the
infrastructure changes. - Use the full power of OpenGL (lights,
transparency, interactivity, anti-aliasing,
hardware acceleration ) - PS/PDF output using gl2ps
- Native rendering of uncut solid spheres and
various tubes already in place. - Soon composite shape support
- In the future
- Convert to local frame, with template shape and
OpenGL display list caching. - Level of detail support adjust tessellation for
object size. - Animation of objects.
- etc
17ATLAS detector in TGeo classes
18CMS detector in TGeo classes
19Alice detector in TGeo classes
20LHCb detector in TGeo classes
LHCB/TGeo In memory
lhcb.root
GDML
LHCB/G4 In memory
212D Graphics
Graphics outputs can be generate using
- PostScript Stable. No major developments
foreseen - PDF The future. Very likely will replace PS in
the medium term. - SVG not complete yet. More and more requests.
Vector
- TAsimage package
- many pixel formats,
- Works in batch mode,
- Markers are missing,
- Could be use to generate output for ray tracing.
Pixel
22Proposed new Math Structure
23Math Milestones
- 30 June 2005
- new mathcore CVS directory in ROOT with the basic
math functions - new libMath containing GSL wrappers (from SEAL)
- Integration of SEAL Minuit in ROOT (TMinuitCpp)
- Improve ROOT random number package
- 30 Sep 2005 (ROOT Workshop)
- Complete re-factor of TF1 classes
- Design of new Physics Vector interfaces
- Design of new Fitting framework
- Possible collaboration with Fermilab's effort.
- 15 Dec 2005
- first release of new Physics Vector library
- first release of new Fitter library
24Math Conclusions
- Smooth integration of SEAL packages in ROOT
- expect to finish migration for end of the year
- opportunity to re-factor and redesign functions
and fitting in ROOT - Merger also with CLHEP
- lots of duplicated functionality ROOT-CLHEP
- make sense for long-term maintenance to have a
single package used by the experiments - Propose to build new physics vectors library
- occasion for redesigning and merging the
functionality - Important to develop in collaboration with the
experiments - need agreement in using the new libraries
25Project Drivers Scope
- Support, Maintain and Develop the ROOT software
for Fermilab Root users (CMS, CDF, D0, Minos,
MiniBooNE) and to improve the stability of ROOT
and CINT. - Fermilabs area of responsibilities
- IO Basic I/O Trees
- DICTINT CINT, Dictionary, Interpreters
- Part of the Base package (ACLiC,etc.)
- ROOT test suite
- General Support
- Effort Profile
- Build and Distributions .1 FTE
- Support and test suite .5 FTE
- Development and Planning .5 FTE