200 likes | 392 Views
User Analysis Environment. Lucas Taylor Northeastern University. Introduction. “User Analysis Environment” data analysis and presentation histograms, ntuples/tags, and plotting interactive 2D/3D detector and event visualisation graphical user interfaces statistical and numerical analysis
E N D
User Analysis Environment Lucas Taylor Northeastern University
Introduction • “User Analysis Environment” • data analysis and presentation • histograms, ntuples/tags, and plotting • interactive 2D/3D detector and event visualisation • graphical user interfaces • statistical and numerical analysis • “IGUANA” (Interactive Graphical User Analysis) • Recently created CMS project (May 1999) • Together with LHC++, addresses CMS needs for “User Analysis Environment” • Follow/collaborate with related activities (AIDA, HEPVis, Hippodraw, JAS, OpenScientist, ROOT, WIRED,...) User Analysis Environment
IGUANA Phases • 1) Select Baseline technologies (completed) • design should allow for reasonable mixing of technologies...but... should concentrate on one specific set of tools early on • trying to be overly general can mean nothing concrete gets done! • 2) Prototypes (ongoing) • test each choice of technology with a realistic (if simplistic) prototype • test the mixing of the various technologies with prototypes • 3) Development / deployment of applications (started) • should start to evolve naturally from the prototypes • early involvement of end-users (don’t make products nobody wants) • Functional prototype milestone: June 2000 User Analysis Environment
IGUANA Component Software Strategy • Consistent with LHC++ strategy (and many specific components) • Combine (only the required) components to build a given application • Develop/acquire, test, deploy, maintain, & replace components individually • Leverage non-CMS efforts (commercial/free SW, common projects) IGUANA / CMS / User libraries qxt Qwt SoQt HEPVis HEPInventor HEPFitting QGL MasterSuite HTL Xt Qt OpenInventor HepODBMS GEMINI X11 OpenGL Objectivity NAG_C User Analysis Environment
IGUANA Baseline Toolkit forGraphical User Interfaces • Evaluation of widget sets led to choice of: Qt • Extensible OO GUI Toolkit with C++ API • Full set of “standard” widgets • Support for Unix/X11 (incl. Linux) and Windows 9x / NT • Free for all Unix platforms (~$1500/developer for NT) • Excellent documentation and examples • High-level 2D drawing classes with good off-screen rendering • Already a lot of interest from LHC++, ATLAS, HEPVis,... (since presentations at HEPVis99 and subsequent discussions) User Analysis Environment
IGUANA Prototypes • Prototypes should demonstrate (or not!): • functionality of individual technologies • (component-like) inter-operability of various technologies to make realistic applications • 1) Embedding OpenGL and OpenInventor Components in Qt • 2) Embedding Xt and Motif Components in Qt • 3) Multi-document architecture • 4) Interactive 3D Detector and Event Visualisation with ORCA • 5) 2D Display for Graphical Online Monitoring and Control • 6) Retrieval & Display of OO Histograms/Tags from Objectivity User Analysis Environment
Prototype 1: Embedding OpenGL / OpenInventor Components in Qt • “QGL” extension for OpenGL http://www.troll.no/qt/opengl.html • OpenGL windows can be created & managed as any other Qt widget • “SoQt” extension for OpenInventor http://www.sim.no/ • Needs OpenGL extension • Needed some “tweaking” • Aside remark: • LiveConnect extension for plug-inshttp://www.troll.no/qt/nsplugin.html • For both Navigator and Explorer • Full Qt functionality on Unix,W9x/NT Pick Manipulate Online help OpenGL render window Graphics hierarchy manager Seek OpenInventor Objects Zoom Perspective / Orthographic Visibility control Rotate User Analysis Environment
Prototype 2: Embedding Xt / Motif Components in Qt • Apotentially useful feature for legacy or third-party widgets IGUANA sheet manager • “SciPlot” Xt widget • wrapped by Qt widget • exploits qxt extension • (Troll Tech) • http://www.troll.no/qt/xt.html IGUANA Objectivity / HTL browser User Analysis Environment
Prototype 3: Multi-document Architecture Common services Customised services Sheet management User Analysis Environment
Prototype 4: Interactive 3D Detector and Event Visualisation with ORCA Generic (GEANT3) detector display Reconstructed (ORCA) object User Analysis Environment
Prototype 5: 2D Display for Graphical Online Monitoring and Control Pull-down menu • Demonstrate with a pseudo-realistic application: • the wide-range of Qt widgets • 2D drawing capabilities • short development time (~1 week) Drag&drop toolbars Postscript (vector) XML rich text Radio box Paint window List views Multi-line text editor Tabbed window Check box Status bar Slider Push Button Scrollbar User Analysis Environment
Create Store Browse Prototype 6: Retrieval & Display of OO Histograms and Tags from Objectivity IGUANA OO prototypes Display • ORCA Application • HBOOK4 • Transient HTL • ZEBRA • file Persistent HTL (& HepODBMS/Objectivity) • Objy HTL browser • (Motif “component”) • Objy HTL browser • (Qt component) • PAW • HEPExplorer • (& IRIS Explorer) • HEPInventor • (& OpenInventor) • SciPlot • (Xt in Qt) • Qwt • (pure Qt) • New widget • (pure Qt) 6(a) 6(b) 6(c) 6(d) User Analysis Environment
6(a) HepExplorer and IRIS Explorer Prototype 6: Retrieval & Display of OO Histograms and Tags from Objectivity User Analysis Environment
6(b) HepInventor and OpenInventor 6(c) SciPlot (Xt / Motif) Prototype 6: Retrieval & Display of OO Histograms and Tags from Objectivity User Analysis Environment
6(d) Qwt and Qt Browsing persistent OO (HTL) histograms in Objectivity DB Prototype 6: Retrieval & Display of OO Histograms and Tags from Objectivity • Browsing tag data in Objectivity DB and displaying histograms interactively User Analysis Environment
Prototype 6: Retrieval & Display of OO Histograms and Tags from Objectivity • None of the prototypes was a complete solution ...but the Qwt (Qt-based) solution was preferred • Fully OO (not even wrapped), hence easily extended • Well-integrated with the rest of the GUI • Only Qt is required • No need for OpenGL, OpenInventor, Mastersuite, IRIS Explorer,... • Good vector hardcopy (Postscript) • Strategy for Histogram display • Develop a new Qt-based histogram widget (light-weight and free) • Collaboration with others (LHC++, etc...) • For “3D views of plots” (e.g. Lego plots) evaluate: • Simple system based on Qt • Fully functional 3D system (OpenInventor) User Analysis Environment
From Prototypes to Project: Software Configuration Management • Software repository • CVS-based (similar to ORCA) • Minimise external dependencies for each package (library) • Build and release system • SCRAM-based (similar to ORCA) • Documentation • doxygen auto-documentation tool • examples in progress IGUANA Ig_Imports Ig_Extensions Ig_Examples Cmscan HEPVis IgQt Ig3DViewer IgCmscan IgExDBrowser qwt IgHTL Examples IgTagBrowser QGL IgObjectivity SoQt IgMotif qxt IgXt qextmdi IgGeant3 User Analysis Environment
IGUANA between now and June 2000(towards the Functional Prototype Milestone) • CMSCAN Development (Detector &Event Visualisation Toolkit) • Conversion of GUI from Motif to Qt (and feedback to HEPVis) • Correlation/picking of information (graphics / GUI underlying data) • 2D views and non-cartesian transformations (-, fish-eye,...) • CMSCAN Deployment • Full range of reconstructed objects (ORCA3 and ORCA 4) • OO detector display tools (GEANT4 / OSCAR and ORCA) • Test-beam visualisation systems • Physics Analysis Tools • Continue prototypes in close collaboration with LHC++, HEPVis, etc. • IGUANA focus is more on graphics and GUI’s (rather than scripting, statistical analysis tools, histogram/tag storage and retrieval, etc.) • Definition of generic IGUANA deliverables (in context of LHC++) • Development of GUI’s for test-beam monitoring, control, analysis,... User Analysis Environment
Manpower Shortfall and Schedule Slippage V = Visualisation SW Engineer Hired April 99 Later than hoped and must also cover shortfall on analysis tools prototyping (late) (late) Not finished U = UI / GUI SW Engineer (not yet hired) Delayed Delayed CMSCAN: ~ 4 month slippage of CMSCAN schedule so far in 1999 Analysis Tools: prototypes defined as high priority (on time for now) User Analysis Environment
Summary • Technology Evaluations and Choices (completed) • Modular software components • Software is robust, maintainable and can evolve • Leverage efforts elsewhere (HEP, free software community, commerce) • Baseline choice of a specific set of tools has been made • Prototyping (ongoing) • Realistic tests of each choice of technology and mixing of technologies • Interactive 3D detector / event visualisation (with ORCA) • Browsing and display of histograms and tags in Objectivity DB • Development / deployment of CMS applications (started) • ORCA underway, start with OSCAR and test-beams by end 1999 • Excellent progress has been made so far but... • ...timely continuation is contingent on sufficient SW engineering • Functional prototype milestone: June 2000 User Analysis Environment