240 likes | 527 Views
AliEVE. ALICE Event Visualization Environment. Matevž Tadel, CERN. Overview. Introduction: EVE .vs. event-display two slides of problem statement ALICE Pb—Pb event properties facts & pictures Early exploratory period (Jan-Sep ‘05) see what can be done; pictures & animation
E N D
AliEVE ALICE Event Visualization Environment Matevž Tadel, CERN
Overview • Introduction: EVE .vs. event-display two slides of problem statement • ALICE Pb—Pb event properties facts & pictures • Early exploratory period (Jan-Sep ‘05) see what can be done; pictures & animation • Mature period usability & long-term maintainability; pictures • Conclusion M. Tadel: AliEVE- ALICE Event Visualization Environment
EVE: definition / general requirements Event Visualization Environment provides “visualization of” and “Graphical User Interface to”: • detector geometry • event data • simulation records: kinematics, hits, digits • raw data • reconstructed objects: clusters, tracks, kinks, V0's, primary vertex • physics objects: b-tags, Z0, H-candidates, ... • reconstruction & analysis algorithms • grid interface for visualization of remote-data • calibration and alignment data • simulation algorithms • detector and machine status M. Tadel: AliEVE- ALICE Event Visualization Environment
EVE: purpose Experts: • Visual debugging – of mostly everything • Facilitate development of reconstruction and analysis algorithms Non-experts: • Help users understand the detector, event structure and reconstruction algorithms • Presentations, demonstrations & outreach activities All can’t fit in the same box! EVE serves as a framework for construction of Event Display programs. M. Tadel: AliEVE- ALICE Event Visualization Environment
ALICE central Pb-Pb event properties 50-times the event-size of other LHC experiments. • Large data size: • 80 MB compressed raw-event • 1.5 GB size of full simulation/reconstruction Problem for reading (speed) and keeping it in memory. • Large number of tracks, clusters, ... • Kinematics: 60k primaries, 600k stored • Hits: 150M (TPC); Clusters: 3.2M (TPC), 1.6M (TRD) • Reconstructed tracks: 16k That’s how this looks ... M. Tadel: AliEVE- ALICE Event Visualization Environment
150M TPC hits thinned down to ~6M (1/cm)
Exploratory period – VSD • VSD – Visualization Summary Data file • repack ALICE data into canonic TTrees global coordinates, flatten containers, summarize • keep only data relevant for visualization data reduced to ~20% • use TTree selection mechanisms • general can type any formula • can post-process matching entries • use tree-indices & tree-friends VSD can be made independent of experiment software! M. Tadel: AliEVE- ALICE Event Visualization Environment
Exploratory period – Gled • Gled provides • object-collection management • multi-threaded method execution • auto-generated object-GUI • general object browser • direct access to OpenGL We were able to try many different things many different combinations. M. Tadel: AliEVE- ALICE Event Visualization Environment
ALICE geometry (using ROOT’s TGeo classes) Gled’s object browser
Kinematics & Hits note track texturing
TPC digits GL textures used for display +hits, clusters
ITS digits also: 2D prototype with GL GUI
Reconstructed & generated tracks selection: pTrec/pTgen in [0.99,1.01]
Mid-term conclusions (Sep ‘05) • Visualization of complete Pb-Pb events is feasible with standard graphics hardware • ROOT’s trees can be used as an efficient and extensible selection mechanism • We have a flexible visualization engine • high-resolution pictures • outreach movies • We need to use ROOT’s native GUI & GL • long term maintainability for ALICE • accessibility to rewop users/developers M. Tadel: AliEVE- ALICE Event Visualization Environment
Mature period – Guidelines Many thanks to Rene for long discussions! Drop requirements on VSD format, then: • Use CINT scripts for: • steering of data extraction • preparation of visualization objects • creation of GUI elements • Provide application core: • event management & navigation • set of visualization atoms • management of visualization / GUI elements • execution environment for scripts M. Tadel: AliEVE- ALICE Event Visualization Environment
Mature period – Benefits • Application core not experiment specific • Via scripts, users gain full flexibility • edit them for specific selections, packing of output • extend them to include user’s private data • combine them together Allows fast development of specific display programs • Data can be visualized directly from ROOT • trees and scripts can be packed together in a single ROOT file containing several events • independent of experiment software laptops, unsupported platforms use by universities, outreach M. Tadel: AliEVE- ALICE Event Visualization Environment
ROOT standard GL viewer REVE browser/editor: editing geometry note check-boxes and color-tags
Silicon Drift Detector digits central event
Example script: silicon detector hits void its_hits(const char *varexp = "fX:fY:fZ", const char *selection = "", Option_t *option = "goff") { AliRunLoader* rl = AliReve::Event::AssertRunLoader(); rl->LoadHits("ITS"); TTree* ht = rl->GetTreeH("ITS", false); ht->Draw(varexp, selection, option); ReveGui::GuiPointContainer* points = new ReveGui::GuiPointContainer("ITS Hits", ht); points->SetMarkerColor((Color_t)2); points->SetMarkerStyle((Style_t)6); gReveGui->AddRenderElement(points, Form("sel=\"%s\", N=%d", selection, points->GetN())); gReveGui->DrawRenderElement(points); } M. Tadel: AliEVE- ALICE Event Visualization Environment
Conclusion We have: • a powerful prototyping toolkit also for high resolution images and animations • an extendible solution for users also for stand-alone and external use • still a lot of work to do a major release planned for September M. Tadel: AliEVE- ALICE Event Visualization Environment