root2004 workshop summary1 a short summary of the root2004 workshop at slac 25-27 feb lcg/aa meeting...

Download ROOT2004 workshop summary1 A Short Summary of the ROOT2004 workshop at SLAC 25-27 Feb LCG/AA meeting 21 April Ren é Brun CERN

If you can't read please download the document

Upload: arlene-park

Post on 18-Jan-2018

219 views

Category:

Documents


0 download

DESCRIPTION

ROOT2002 Rene BrunROOT2004 workshop summary3 Wednesday 25 February day1 09h00: Steve Williams - Welcome (video) 09h15: Rene Brun - ROOT Project Status (ppt) (video) 10h00: Masa Goto - CINT status (ppt) (video) 10h30: coffee break 11h00: Philippe Canal - I/O developments, Tree queries (ppt) (video) 11h45: Sergey Linev (Joern Adamczewski) - XML I/O support (ppt) (video) 12h15: Lunch break 14h00: Mario Bondioli - Babar SVT (ppt) (video) 14h30: Tony Johnson - FreeHep, Root I/O for Java (ppt) (video) 15h00: William Tanenbaum - The POOL project (ppt) (video) 15h30: coffee break 16h00: A.Hanushevsky - xrootd, the next generation root data server (pps) (video) 16h40: Artem Trunov - xrootd deployment in Babar (sxi, pdf, ps) (video) 17h00: Chris Roat - RooFit toolkit: concrete applications in BaBar (sxi, pdf) (video)videopptvideopptvideopptvideopptvideopptvideopptvideopptvideoppsvideosxipdfpsvideosxipdfvideo Many reports on xrootd (see next talk) And PROOF (report in a coming LCG/AA meeting)

TRANSCRIPT

ROOT2004 workshop summary1 A Short Summary of the ROOT2004 workshop at SLAC Feb LCG/AA meeting 21 April Ren Brun CERN ROOT2002 Rene BrunROOT2004 workshop summary2 ROOT workshops Mar 99: 1st Root workshop FNAL Feb 00: 2nd Root workshop CERN Jun 01: 3rd Root workshop FNAL Oct 02: 4th Root workshop CERN Feb 04: 5 th Root workshop SLAC Workshop organized by Babar (P.Elmer, S.Gowdy) About 100 participants See: ROOT2002 Rene BrunROOT2004 workshop summary3 Wednesday 25 February day1 09h00: Steve Williams - Welcome (video) 09h15: Rene Brun - ROOT Project Status (ppt) (video) 10h00: Masa Goto - CINT status (ppt) (video) 10h30: coffee break 11h00: Philippe Canal - I/O developments, Tree queries (ppt) (video) 11h45: Sergey Linev (Joern Adamczewski) - XML I/O support (ppt) (video) 12h15: Lunch break 14h00: Mario Bondioli - Babar SVT (ppt) (video) 14h30: Tony Johnson - FreeHep, Root I/O for Java (ppt) (video) 15h00: William Tanenbaum - The POOL project (ppt) (video) 15h30: coffee break 16h00: A.Hanushevsky - xrootd, the next generation root data server (pps) (video) 16h40: Artem Trunov - xrootd deployment in Babar (sxi, pdf, ps) (video) 17h00: Chris Roat - RooFit toolkit: concrete applications in BaBar (sxi, pdf) (video)videopptvideopptvideopptvideopptvideopptvideopptvideopptvideoppsvideosxipdfpsvideosxipdfvideo Many reports on xrootd (see next talk) And PROOF (report in a coming LCG/AA meeting) ROOT2002 Rene BrunROOT2004 workshop summary4 Thursday 26 February day2 09h00: Andrei Gheata - The Geometry package: status (ppt) (video 1) (video 2) 09h30: Susan Kasahara - ROOT in MINOS (ppt) (video) 10h00: Heather Kelly - ROOT in GLAST (ppt) (video) 10h30: coffee break 11h00: Andrei Gheata - The VirtualMC in ALICE (ppt) (video) 11h30: Eric Charles - Primary data Storage with ROOT (ppt) (video) 12h00: Lionel Chaussard - ROOT in the OPERA collaboration (ppt) (video) 12h30: Lunch break 14h00: Ilka Antcheva - GUI status/developments (ppt) (video) 14h30: Valeri Fine - ROOT and Qt (ppt) (video) 15h00: Joern Adamczewski - ROOT in GO4 (ppt) (video) 15h30: Wim Lavrijsen - PyRoot (ppt) (video) 16h00: coffee break 16h30: Discussion Session (notes: doc) 18h30: Receptionpptvideo 1video 2pptvideopptvideopptvideopptvideopptvideopptvideopptvideopptvideopptvideodoc ROOT2002 Rene BrunROOT2004 workshop summary5 Friday 27 February day3 09h00: Gerardo Ganis - Client/Server authentication (ppt) (video) 09h30: Fabrizio Furano - XTNetFile (pdf) (video) 10h00: Eddy Offermann - The ROOT Linear Algebra package (ppt) (video) 10h30: coffee break 11h00: Dimitri Bourilkov - The CAVES project (ppt) (video) 11h30: Christophe Delaere - Using Neural Networks within ROOT (pdf) (video) 12h00: Maarten Ballintijn - PROOF status. Integration with CONDOR (pdf) (video) 12h30: Lunch break 14h00: Axel Naumann - Developments in THtml (ppt) (video) 14h30: Nikolay Malitsky - ROOT and the Unified Accelerator Library (ppt) (video) 15h00: Kilian Schwarz - PROOF cluster at GSI and GridKa (ppt) (video) 15h30: Fons Rademakers - PROOF with ALIEN (sxi, pdf) (video) 16h00: closepptvideopdfvideopptvideopptvideopdfvideopdfvideopptvideopptvideopptvideosxipdfvideo ROOT2004 workshop summary6 Version 4.00 hightlights ROOT2002 Rene BrunROOT2004 workshop summary7 ROOT version 4 Highlights (1) (already in 4.00/02) Support for Automatic Schema evolution for foreign classes without using a class version number. Support for large files (> 2 GBytes) New data type Double32_t (double in memory, saved as float on the file) Native support for STL: automatic Streamers. Tree split mode with STL vector/list New Linear Algebra package New class TRolke by Jan Conrad New class TGraph2DErrors. More features in TGraph2D Consolidation of win32gdk. More features in the authentication system. Consolidation of the PROOF classes. GUI code generation See Philippe See Eddy See Gerri See Fons & Maarten See Ilka ROOT2002 Rene BrunROOT2004 workshop summary8 ROOT version 4 Highlights (2) (will be in final release in June) Plug-in Manager upgrade (rlimap) with automatic library/class discovery/load. xrootd Virtual MC (G3, Fluka, G4?) Support for Qt (alternative option to x11) GUI builder PROOF/Alien in production Interface with Python (PyRoot with SEAL) Interface with Ruby (ruby-root) Geometry interface to OpenGL/Coin3D (V.Fine/STAR) MakeClass/MakeSelector upgrade. Support for Tree friends New GUI Histogram editor and Fitter see BaBar talks see Andrei Gheata /Alice see Valeri Fine/STAR see Ilka see Fons see Wim /Atlas/LBL ROOT2004 workshop summary9 ROOT I/O TTree Queries ROOT 2004 Users Workshop Philippe Canal, Fermilab ROOT2002 Rene BrunROOT2004 workshop summary10 Contents Containers Support Mainly for STL containers Splitting TTree Query Custom TClass Generators TTree CloneTree Fast TTree Copying TFormula Calling free standing functions Parsing improvements Boolean operator optimization TTree Query TTree::Scan prints array Aliases Future Plan ROOT2004 workshop summary11 Java Root IO Part of the FreeHEP Java Library Tony Johnson for the SLAC FreeHEP team: Mark Dnszelmann, Joseph Perl, Victor Serbo, Max Turri ROOT2002 Rene BrunROOT2004 workshop summary12 Java Root IO: Goals Goals Pure Java package for reading Root Files Will be extended to writing later High Performance We want to do data analysis so we need very good performance Should not need to know about objects ahead of time (no need for dlls,.so files etc.) But should provide full support for reading user-defined objects Easy to use Provide access to Root data, not C++ code Separate j2root exists for accessing in memory root objects ROOT2002 Rene BrunROOT2004 workshop summary13 Implementation Use TStreamerInfo objects inside Root files (since Root 3.0) to decode contents of file Dynamically generate Java proxies for each Root object read Each proxy has custom streamer Build as Java bytecode using BCEL (http://jakarta.apache.org/bcel)http://jakarta.apache.org/bcel Converted at runtime to machine code by Just-in-Time compiler & HotSpot Uses java.nio package (new since Java 1.4) Designed to support high-performance binary IO ROOT2002 Rene BrunROOT2004 workshop summary14 Future Plans Continue to track new Root releases Root network protocol More work on authentification Implement xrootd protocol should be transparent to user Root file writing Should be much easier than reading Most of work already done by Petr Vokac/Julius Hrivnac Support Root XML format? Read Babar Kanga files via root IO library Almost works, but some critical classes (e.g. KanTree) dont appear to have TStreamerInfo in file. ROOT2004 workshop summary15 Possibility of XML I/O support in ROOT S. Linev, GSI, Darmstadt ROOT Workshop 2004 Sergey will be at CERN early May to integrate his XML Classes in ROOT CVS ROOT2002 Rene BrunROOT2004 workshop summary16 Motivation ROOT has all class information in TStreamerInfo class with methods to serialize/deserialize objects Why not implement similar mechanism for XML, not only for binary ROOT format? Aim introduce XML I/O in ROOT, where user should not write I/O code himself ROOT2002 Rene BrunROOT2004 workshop summary17 Object representation in XML class TXmlExample { public: Int_tfValue; Double_tfArray[5]; TStringfStr; TXmlExample*fSelfPtr; ClassDef(TXmlExample, 1); }; class name object id basic type string (special case) pointer array ROOT2004 workshop summary18 ROOT in the MINOS Experiment Presented at ROOT2004 (SLAC) February 26, 2004 Sue Kasahara University of MN MINOS framework software group members: Pete Border (Minnesota) Liz Buckley-Geer (FNAL), Robert Hatcher (FNAL), George Irwin (Stanford), Sue Kasahara (Minnesota), Mark Messier (Indiana), Jon Urheim (Indiana), Brett Viren (Brookhaven), Nick West (Oxford) ROOT2002 Rene BrunROOT2004 workshop summary19 MINOS software: ROOT dependencies MINOS software makes use of ROOT in a variety of ways: Data Model & I/O Streaming mechanism, automatic schema evolution, file management, data structures (TTree), remote file access (TNetFile & TAuthenticate), persistable pointers (TRef). Data Dispatcher Remote data access (TSocket), data read from open file (TTree::AutoSave, TDirectory::ReadKeys), client specified selection strings (TTreeFormula). Geometry Geometry classes (TShape derived). Migrating to TGeo package. Online Monitoring (Adapted from CDF OM Framework) & Run Control ROOT based GUI and histograms. Event Display ROOT based GUI and graphical display. Job macro scripting and ntuple analysis CINT, TBrowser, TTree::Draw, histograms, etc. Database Interface RDBC (V. Onuchins TSQL extension) used as interface to database products. Container classes, etc The remainder of this talk will focus on just 2 of these: Data Model & I/O and Geometry. ROOT2002 Rene BrunROOT2004 workshop summary20 The OPERA experiment ROOT users workshop 2004 SLAC ROOT in OPERA Lionel Chaussard Pb 1 mm 732 km more than bricks photographic emulsions scanned by microscopes to find the kink of the tau ~ 10 m ~ 10 cm ~ 50 m ROOT2002 Rene BrunROOT2004 workshop summary21 The OPERA offline framework ROOT I/O interface Persistent data model ( ROOT ) Transient data model (STL) Detector description ( ROOT ) Event generation Physics simulation ( ROOT ) Detector response (digitisation) Reconstruction Analyses ( ROOT ) CMT manager ( incl. ROOT ) / CVS repository ROOT users workshop 2004 SLAC ROOT in OPERA Lionel Chaussard ROOT2002 Rene BrunROOT2004 workshop summary22 Physics simulation Detector description files ( XML ) ROOT users workshop 2004 SLAC ROOT in OPERA Lionel Chaussard OpRoot simulator (embedded GEANT3) OpRoot developed on the basis of AliRoot OpRData data model OpIO interface OpGeom detector description ( TGeoManager ) OpVMC evolution to OpVMC OpRData data model OpIO interface GEANT3 FLUKA GEANT4 OPERA is interested in FLUKA physics ROOT2004 workshop summary23 N.Malitsky and R.Fliller III ROOT2002 Rene BrunROOT2004 workshop summary24 UAL Objectives (1995) N. Malitsky and R.Talman Form a customizable and extendable environment adaptable to new accelerator applications and conceptual models Facilitate development, deployment and reuse of diverse independently developed accelerator programs Integrate accelerator conceptual models and analysis patterns with modern technologies and software ROOT2002 Rene BrunROOT2004 workshop summary25 UAL Environment with CINT-based interface ZLIB UAL Element-Algorithm-Probe Framework Application Shells Application main functions SIMBAD AIMICE TIBETAN ACCSIMTEAPOT PAC MPI CINT scripts ROOT2002 Rene BrunROOT2004 workshop summary26 Neural Networks ROOT2002 Rene BrunROOT2004 workshop summary27 MLPFit to TMultiLayerPerceptron ROOT2004 workshop summary28 PyROOT Reference Talk presented at: ROOT 2004 Users Workshop, SLAC LBNL, February 2004 Wim Lavrijsen, LBNL ROOT2002 Rene BrunROOT2004 workshop summary29 Goal A bridge between ROOT and Python Main library loadable in both CINT and Python Objects can cross interpreters' boundary Note: work in progress... see later in this presentation Allow Python callbacks from CINT and vv. Completely reflection-based No code generation necessary Run-time binding generated as needed PyRoot added soon in ROOT CVS ROOT2004 workshop summary30 Linear Algebra in ROOT Eddy Offermann ROOT2002 Rene BrunROOT2004 workshop summary31 ROOT2002 Rene BrunROOT2004 workshop summary32 PCBRUN:Pentium IV 2.4 Ghz 512 Mbytes RAM, IDE disk ROOT2002 Rene BrunROOT2004 workshop summary33 Future Extensions Support Sparse matrix (Harwell-Boeing format) Constraints in linear equation = : extension to SVD code > : linear/quadratic programming Subject to ROOT2004 workshop summary34 ROOT and QtValeri Fine (BNL, STAR) The QT interface will be in the ROOT June release ROOT2002 Rene BrunROOT2004 workshop summary35 Gui/Graphics interfaces TVirtualX TGWin32TGX11TGWin32GDKTGQt TVirtualPad TPad User/Root GUI and Graphics classes Applications see only Abstract Interfaces Low level screen graphics and GUI High level pad graphics TG?? ROOT2002 Rene BrunROOT2004 workshop summary36 GUI TVirtualX interfaces Same look & feel With X11, Qt, win32gdk ROOT2004 workshop summary37 Ilka Antcheva GUI Status and Development ROOT2002 Rene BrunROOT2004 workshop summary38 Pad Editor (old version) ROOT2002 Rene BrunROOT2004 workshop summary39 New Graphics Editor 1-Toggle Editor mode 2-Click On the object to be edited 3-Edit object attributes ROOT2002 Rene BrunROOT2004 workshop summary40 Gui Builder/Gui Code Generator Type CRTL/S anywhere on a widget To generate the C++ code for this widget Then do root >.x guisave.C