STAR simulations V Fine P Nevski BNL GSTAR
STAR simulations V. Fine, P. Nevski, BNL GSTAR framework OO geometry model event access Pavel Nevski
STAR detector at RHIC Pavel Nevski
GSTAR – STAR simulation framework since 96 – has a hierarchical design to clearly separate user code from implementation details – has improved memory management » elastic ZEBRA (using malloc) » no limits on number of tracks, vertices, hits etc (apart from physical memory limits) – has built-in interfaces to implementation » Geant 3/PAW, My. SQL, ROOT Pavel Nevski
Hierarchical design n Open System Interconnection (OSI) model as example: functionality in term of layers – basic (physical) layer - platform dependant code, system libraries, graphics etc – low (logical) layer - ZEBRA, DZDOC, HIGS – upper (transport) - G 3, Paw+Kuip, DB, ROOT – system (session) - AGI, ROOT accessors – user (application) - modules in F, AGI, C++ Pavel Nevski
STAR geometry n n Modules: 14 Structures: 34 Instances: 45 Parameter values: 841 Pavel Nevski
Database Browser n Versioned geometries Pavel Nevski
STAR geometry Formalized description in specification language, including hits and DB access n Many developers, very detail geometry (almost 2, 000 different volumes) n Altogether less then 8000 lines including field parameterization , easy to read n No step routine is needed in most of the detectors, no “if statement” problem n Pavel Nevski
GSTAR performance Fast enough - 30 min/10, 000 particles, with a general 1 Me. V cuts n Calorimeter cuts tuned with test beam date down to 50 Ke. V n Interfaced to all event generators n Robust and well debugged production tool n Pavel Nevski
Requirements for r. OOt interface – Flexible, expandable access to geometry objects from reconstruction program – Modern visualization and navigation – Access to hits from a C++ code as if they were normal C++ objects – fun, and even more fun Pavel Nevski
New elements n Initially missing elements – Geometry navigator - trivial – Geometry decoder - not so trivial, but feasible – Volumes and positions separately - TVolume – Volumes as position container - TDataset – Hit navigator - trivial – Hit presenter - St. Geant. Hits Pavel Nevski
G 3 geometry model TDataset TVolume. Position St. Geant TVolume ctor TVolume. View ctor TNode TShape TVolume. Position list Pavel Nevski TVolume. View
View as in G 3 Pavel Nevski
Geant Hit Access Class class TPoints 3 DABC (from ROOT G 3 D) St. Geant. Hits 3 D aghitset() St. Geant. Hits(). . . Get. Next. Hit(Int_t indx) Pavel Nevski aghitget()
Open. GL viewer Pavel Nevski
Star Event Display Pavel Nevski
Conclusions Now we have all this done and working n G 3 geometry model used in reconstruction n – calibrations and parameter organization n Looking for a G 4 interface Pavel Nevski
- Slides: 16