24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server...
-
Upload
christian-goodwin -
Category
Documents
-
view
220 -
download
1
description
Transcript of 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server...
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 1
A ROOT-Based Client-Server Event Display for ZEUS
Krzysztof Wrona, Oliver Gutsche and Rainer Mankel(DESY Hamburg)
Computing in High Energy Physics 200324-Mar-2003
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 2
Outline
MotivationArchitecture, Data Model & ImplementationServer Design & PerformanceGraphical User InterfaceDisplay examples
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 3
Motivation for New ZEUS Event Display
• During the HERA luminosity upgrade, new detector components have been installed which require extended 3D capabilities– Example: Micro-vertex detector
(MVD), straw tube tracker (STT)• Needed a non-monolithic solution,
which includes analysis software as a modular component
• Client/server approach allows clear separation– lightweight client (purely C++, no
experiment libraries)– server application (encapsulates
legacy code)
= Zeus Visualization
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 4
Architecture
ZClientMain clientapplication
& GUI
ZEvtBuildZEUS event to
ROOT conversion
ZGeomBuildZEUS geom to
ROOT conversion
ZevLibDetectorobjects
ZevLibXZEUS DDLinterfaces
otherZEUS
software
ZesAgentEvent agent
for server
ZClient is a lightweight client application which only depends on ZevLib and ROOT
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 5
Data Model• Clear separation of geometry and event information to minimize amount of data transfer
Geometry: only needs to be loaded once (or few times at most)– optimize for fast drawing.
All ZEUS geometry classes derive from corresponding shapes in ROOT.
– Geometry can draw itself independently
– present size 450 kB
Event: many ROOT-files to be transferred & stored (cached)– file contains tree of event-
objects– objects contain drawable event
information (e.g. track objects), refer to geometry information during drawing, cannot be drawn independently
– optimize for size. Data structure similar to ZEUS miniDST
– about 30 kB/evt
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 6
Implementation With ROOT
• Parallel implementation of 3D display and layered 2D projections is achieved by overloading “Paint()” member function– in 3D mode, use Paint() function of basic ROOT class– in 2D mode:
• 3D-object contains list of 2D-representation-objects• Paint() function draws list of objects according to the desired projected shape
• Fish-eye view in XY and ZR projection to allow simultaneous inspection of inner (MVD) and outer detector (muon system)– achieved by overloading TView::WCtoNDC function
• Extensive use of picking functionality and “describe object below mouse pointer”
• Extension of TWebfile class to integrate feedback from server• For control room, special mode which periodically loads the next
online event
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 7
Integrationof 2D/3D views
• Perspective views with hidden surface removal are useful for understanding geometry, but do not show the event well
• Straight-forward “projections” of 3D representation can be complex & confusing
• Layered projections with proper ordering allow to really analyze the event
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 8
Client-Server Motivation
• Event display needs access to experiment’s event store and online system Idea: separation of
– portable lightweight client, which can run wherever ROOT can run– central geometry & event server on DESY site
and connect via HTTP protocol (ROOT’s TWebFile) to pass firewall
control room
office on-site
off-site, home
Tag DBEventStore
dCache
Central ZeVis Server
(1 Dual-Xeon 2GHz)LAN
LAN
WAN
HTTPMass storage User work station
DESY Computer Center
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 9
Apache
+
ROOT
module
+
PHP4
Geometry fileGeometry fileGeometry file
Dispatcher
(PHP4)
Event agentEvent agentEvent agentEvent agentEvent agent
Online Events
ROOT
Conversion
Events of the Week (PR)
Internal Structure of The ZeVis Server
Geometry request
Single event request
File request
Geometry Builder
Event Store
Tag DB
Online
ReconstructionOnline event
request
EOTWrequest
Constants DB
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 10
Components of The ZeVis Server
• Single event server– random access to event from ZEUS Event Store and conversion to ROOT format
on-the-fly– normally based on run/event number, optionally with query on about 300 tag
variables per event (both modes involve tag database, Objectivity/DB 7.0)– staging handled by dCache system if necessary– for low latency, the “event agents” are pre-initialized and wait for a request passed
to them (daemon-fashion)– 10 event agent processes per software release (pro + dev), 20 in total
• Online event server– online system splits RAW events off the event stream at about 0.1 Hz– on-the-fly reconstruction and ROOT conversion on dedicated server
• Geometry and propaganda events– static ROOT files on the server, which are produced offline– download of geometry file takes << 1s
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 11
(no server cache)
Server Performance
Stress test
• Less than 2 s average response time
• even faster on cached events
• this includes event analysis and conversion to ROOT format
In reality, simultaneous requests will hardly occur at all
Server can stand up at least 4 requests in parallel without noticeable performance loss
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 12
Graphical User InterfaceOption tabs
Status information Canvas Pads Object information
Input modes Zoom controls
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 13
GUI: Single Event Server
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 14
GUI: Download file mode
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 15
GUI: Online Mode
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 16
Projections XY and RZ
• These are the main views for event analysis• Projections complement the geometry of the detector
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 17
Fish-eye View
• Allows to see details in the vertex detector simultaneously with the outer detectors
• Also available in ZR view
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 18
MVD Display
MVD Clusters
• Occasional (well-known) fill area clipping artifacts from ROOT
• ROOT allows 3D view within a pad (wire frame only)
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 19
Drift Chamber Raw Hits
• Normally, CTD display shows assigned hits, taking drift distance into account
• Special mode shows cell structure and raw hits
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 20
Muon Chambers and Hits
Muon Hits
• Not yet final
24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 21
Summary
Client-Server event display successfully developed with ROOT as basis
highly portable, light-weight clientfast geometry & event access via HTTP. Mature server design.
Full integration of 2D/3D views. Online displayErgonomic GUIExcellent experience with ROOT functionality
Contributions by: U. Fricke, C. Genta, O. Gutsche, S. Hanlon, E. Heaphy, R. Kaczorowski, O. Kind, R. Mankel, J. Rautenberg, V. Sipica
Thanks to the ROOT team for help & advice (and for providing ROOT!)