24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server...

21
24-Mar-2003 K. Wrona, A ROOT-based Client Server Event Display fo r 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 2003 24-Mar-2003

description

24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS3 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

Transcript of 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server...

Page 1: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 2: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 2

Outline

MotivationArchitecture, Data Model & ImplementationServer Design & PerformanceGraphical User InterfaceDisplay examples

Page 3: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 4: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 5: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 6: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 7: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 8: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 9: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 10: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 11: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 12: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 13: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 13

GUI: Single Event Server

Page 14: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 14

GUI: Download file mode

Page 15: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 15

GUI: Online Mode

Page 16: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 17: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 18: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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)

Page 19: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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

Page 20: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS 20

Muon Chambers and Hits

Muon Hits

• Not yet final

Page 21: 24-Mar-2003K. Wrona, A ROOT-based Client Server Event Display for ZEUS1 A ROOT-Based Client-Server Event Display for ZEUS Krzysztof Wrona, Oliver Gutsche.

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!)