WIRED - Istituto Nazionale di Fisica Nucleare
Download
Report
Transcript WIRED - Istituto Nazionale di Fisica Nucleare
WIRED
World-Wide Web Interactive Remote Event Display
Mark Dönszelmann, IT/API, CERN
CHEP 2000, 9 February 2000, Padova, Italy
Features
Framework for building Event Displays
10% of code is experiment specific
Client Server Architecture
Client can be used as Application or Applet (browser mode)
Written entirely in Java
Client in Java, Server can be in a different language
Access to data
reads files or connects to Java, FORTRAN, C and C++
Graphics Engine to do HEP specific projections
3D as well as non-linear (fish-eye) projections
ATLAS, BaBar, CHORUS, DELPHI and LHCb
Development infrastructure available for collaboration
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
WIRED as Application (Delphi)
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
WIRED as Applet in Netscape (BaBar)
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
Client-Server Architecture
WIRED
Server
WIRED
Application
Geometry
and
Events
Geometry
and
Events
WIRED
Gateway
WIRED
Applet
WWW
Server
WWW
Browser
WIRED
Code
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
WIRED
Code
9 February 2000
Plug-in Architecture
Event
Loader
WIRED
Cache
Geometry
Loader
GUI
Draw
Representables
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
Drawables
Projections
Project
Projectables
Application
or
Applet
Representations
Represent
9 February 2000
GUI (Views and Controls)
MenuBar
ToolBar
ViewTop
ControlTop
Console
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
Event Visibility Tree
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
Infobus to connect Views to Controls
Event Selector
Comm. Status
Event Info
Info Bus
Command
Info Bus
Views
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
Parts Select
Merge Controller
Bus
Merge
Controller
Control 1
“unknown”
View 1 View 2 View 3 View 4 View 5
“5003” “5003” “5007” “5003” “5007”
Control 2
Merge
Controller
Select Bus
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
“5007”
Graphics Engine - Special Projections
Parallel Projection
based on a matrix
calculation
X-Fish Eye
Projection
based on functions
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
WIRED Graphics Engine versus 3D
Scaling using a
3D Graphics Engine
All drawables based
on volume
Scaling using the
WIRED Graphics Engine
All drawables based
on fixed sized symbols
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
Rendering Pipe
Pipe
Representation
Event
Cache
Store
Canvas
Projection
Hits, Tracks, ...
2D Symbols in 3D
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
3D Transformation
to 2D
9 February 2000
2D Symbols in 2D
Cascaded Projections
X
U
Y
V
Projection
Z
W
X
Y
Z
Single Projection
at draw time W is
discarded
U
Fish Eye
Projection
X
V
Y
W
Z
U
Parallel
Projection
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
V
W
Cascaded Projection
U,V,W output is X,Y,Z
input
at draw time final W
value is discarded
9 February 2000
Layering
Layering System
Background Layer
Track Frame Layer
Track Layer
Hit Frame Layer
Result
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
Hit Layer
9 February 2000
Access to Data
XML
File access (direct or over web server)
Easiest way to get data in WIRED, but also slow
Relatively large files, but compression factor is high
Use for fixed geometry (DTD is available)
No interaction possible
ATLAS, DELPHI, LHCb
RMI
Copy of objects is possible (e.g. full event object structure)
Server is in Java
CHORUS (to FORTRAN via C)
CORBA
Copy of structures is possible
Server can be in C++ or Java
BaBar (to C++)
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
WIRED as JAS Plug-In
Access to Data
Access to/from GUI
Selection of single events
Selection of tracks and hits
Connection to Infobus
Display of status information
Collaboration with Tony
Johnson is ongoing...
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
Libraries and Tools (3rd party)
Jikes (compiler)
Swing (gui)
Aelfred and xml4j (XML parsers)
JavaMail (bug reporting)
BeanShell (java scripting engine)
Infobus (software bus)
JavaHelp (help system)
JUnit (unit testing framework)
ORBacus (CORBA)
Log4j (logging facility)
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
Infrastructure for development
Unix and NT support for development
AFS to access repository --> migrate to CVS server
CVS repository and CVSWeb
GNUMake
Nightly build and test on different platforms
JIndent for coding convention
JInstall Toolkit to create distribution
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
Summary
Now
Graphics Engine, including picking, reasonably complete
Printing in PostScript
Easy event selection
Access to Data in XML, RMI and CORBA
Near Future
Integration - Coupling to JAS
Further Infobus integration
Additional Controls
Addition of the scripting engine
Configuration saving and restoring (in XML)
HepRep implementation
Access to C++ objects directly (without CORBA)
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000
Authors (including students)
Andrea Ballaminut, University of Udine, Italy
Cristian Colonello, University of Udine, Italy
Mark Dönszelmann, CERN
Eric van Herwijnen, CERN
Dies Köper, NIKHEF, Amsterdam, The Netherlands
Jari Korhonen, University of Oulu, Finland
Maarten Litmaath, Fermilab, U.S.A.
Joseph Perl, SLAC, U.S.A.
Anna Theodorou, CERN
Daniel Whiteson, CERN
Eberhard Wolff, CERN
Mark Dönszelmann, CERN/IT Applications for Physics and Infrastructure Group
9 February 2000