A Novel Approach to the Design of the CLEO Event Display

Paper: 378
Session: A (talk)
Speaker: Jones, Chris, University of Florida, Gainesville
Keywords: data presentation, object-oriented methods, graphics, GUI's, visualization


A Novel Approach to the Design of the CLEO Event Display

Christopher D. Jones
Paul Avery

Department of Physics, University of Florida, Gainesville FL, 32611 USA

CLEO Collaboration

The goal of the Cleo3D event display project is to create a
graphical framework which is easy to use, displays the full range of
CLEO data, and can be extended and maintained. Contrary to the
approach taken by other experiments of putting in high level graphics
early, we have concentrated on the system design to provide important
additional features, including non-graphical text displays and
hierarchically organized lists, which can be used in real CLEO
analyses. To ensure that the system really is useful to physicists, we
have adopted a unique ``user-centric'' approach, consisting of the
following ideas:

User feedback is actively solicited during the design
process and incorporated where possible in later versions.

The objects used within the program are software implementations
of objects physicists think about when dealing with HEP data. For
example, we have identified five catagories of objects: detector
geometry, detector response, reconstruction, Monte Carlo, and
analysis.

The program must also present a system model to the user for how
the program works. For example, our system model involves three
concepts: Entity, Model and View. An Entity is an HEP object, such as
a track. A Model is a representation of an Entity, such as a helix. A
View is an image of the Model, including more abstract displays as
text spreadsheets and hierarchical lists of components.


The core of the system, which takes care of the relationships between
Entities, Models and Views, and the interactions from outside, is
experiment independent.

These advanced features are made possible by a careful,
object-oriented design (implemented in C++) which rigorously enforces
consistency across all views. The consistency simplifies the design
and makes it possible to add new views which behave in a predictable
way and are less likely to contain errors. Future releases of
Cleo3D will support 3-D displays, visualize hits, allow flexible
on-screen labeling, permit users to add their own information,
incorporate a command line interface and, using a spreadsheet-like
display, view any information associated with an object, e.g. track
parameters, magnet dimensions, etc.
After several iterations of design and user scrutiny, we have a
prototype version of Cleo3D which has proved highly useful to
CLEO. Its features will be described in this paper.