EVE as the base of AliEve and Fireworks event-displays Matevž Tadel
M. Tadel: All about EVE ... [SFT-GM, CERN] Contents Intro - what is EVE History / contributors Main features / services [with demos] AliEve demo Fireworks demo End 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
Event Visualization Environment Framework for object management hierarchy / structure interaction, visualization (GUI/OpenGL (2D/3D)) creation and coherency of derived representations Toolkit satisfying HEP requirements Geometry and view markup Sim/Rec data (points, tracks) with 2D-projections Raw-data visualization Stand-alone application on top of ROOT Use only ROOT-provided libraries to access data. Gives portability and minimizes deployment issues. 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
M. Tadel: All about EVE ... [SFT-GM, CERN] EVE in ALICE & CMS ALICE - AliEve EVE used as framework / toolkit / application: Detector-specific code for raw-data visualization Interface to reconstruction / track-fitting CINT macros used extensively => configurability CMS – Fireworks EVE used mostly as toolkit: Tightly control data-access, data-processing and creation of visualization objects Expose only well-defined interface to the users 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
History & contributors ’05 – ALICE vis in Gled ’06 – Prototype of ALICE vis using ROOT Learning ROOT GUI, most urgent fixes to ROOT-GL. In spirit close to final design but very crude. Lived in AliRoot CVS as Reve, AliEve modules. ’07 – Major rewrite/extension of critical systems ROOT-GL – refactoring; scene/viewer mgmt.; overlay. Projections, tools for raw-data visualization. Reve moved to ROOT as EVE. Fireworks project started. ’08 – High-level features, consolidation, optimization Compound objects Selection / highlight Visualization parameter database Fancy GUI stuff Should have full functionality by the end of the year. Alja Bertrand 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
TEveElement – Basic functionality Base-class TEveElement not a TObject, but all derived classes are holds together: visualization data GL-renderer GED (object editor) List-tree entries / browsable representations Basic demos. 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
TEveElement – Hierarchy I. Children – list<TEveElement*> Rendering control Collection management Sub-classes can override Add/RemoveElements() Control state of children Demo: TEvePointSetArray, TEveTrackList Parents Propagation of change / redraw requests Also list<TEveElement*>! Multiple control agents can share an element Different roles played by an object Demo: TEveScene, TEveSelection 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
TEveElement – Hierarchy II. Reference counting: Number of parents Number of top-level list-tree items Extra external references Automatic destruction enabled by default. Demo: track-list destruction with gDebug=1 Framework services are also TEveElements: Get standard GUI representation (GED, list-trees) Uniform object management 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
Interface to GL and update propagation elements TEveScene TGLScene list of entry points into element hierarchy flat list of GL renderers, some pointing back to source elements Full repaint – drop TGLScene contents and repopulate Expensive, often a big overkill. Minimal update – push changes into existing GL renderers Stamp changes: color (highlight!), position (bounding-box, visibility), visual properties (GL display-list) 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
M. Tadel: All about EVE ... [SFT-GM, CERN] Projections Master – TEveProjectable Projection mgr Replica – TEveProjected TEveProjectionManager Need to take care of two types of updates: Changes in projection parameters re-project -> from mgr Changes in master – 3D track copy vis parameters -> from master Demo: alice_esd_split.C 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
Visualization-parameter DB - VizDB virtual void CopyVizParams(TEveElement*); like limited operator=() Allows: Each user to easiliy change defaults 2. Persistency across sessions 3. Sharing of settings among users 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
M. Tadel: All about EVE ... [SFT-GM, CERN] Demos AliEve – visual scanning application Fireworks 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]
M. Tadel: All about EVE ... [SFT-GM, CERN] End 13.6.2008 M. Tadel: All about EVE ... [SFT-GM, CERN]