Pavel Nevski STAR simulations STAR simulations GSTAR framework GSTAR framework OO geometry model OO geometry model event access event access
Jan 25, 2016
Pavel Nevski
STAR simulations STAR simulations
GSTAR frameworkGSTAR framework
OO geometry model OO geometry model
event accessevent access
Pavel Nevski
STAR detector at RHICSTAR detector at RHIC
Pavel Nevski
GSTARGSTAR
– STAR simulation framework since 96STAR simulation framework since 96– has a hierarchical design to clearly separate has a hierarchical design to clearly separate
user code from implementation details user code from implementation details – has improved memory managementhas improved memory management
» elastic ZEBRA (using malloc)elastic ZEBRA (using malloc)
» no limits on number of tracks, vertices, hits etc no limits on number of tracks, vertices, hits etc (apart from physical memory limits) (apart from physical memory limits)
– has built-in interfaces to implementation has built-in interfaces to implementation » Geant3/PAW, MySQL, ROOTGeant3/PAW, MySQL, ROOT
Pavel Nevski
Hierarchical designHierarchical design
Open System Interconnection (OSI) model Open System Interconnection (OSI) model as example: functionality in term of layersas example: functionality in term of layers– basic (physical) layer - platform dependant basic (physical) layer - platform dependant
code, system libraries,graphics etccode, system libraries,graphics etc– low (logical) layer - ZEBRA, DZDOC,HIGSlow (logical) layer - ZEBRA, DZDOC,HIGS– upper (transport) - G3, Paw+Kuip, DB, ROOTupper (transport) - G3, Paw+Kuip, DB, ROOT– system (session) - AGI, ROOT accessors system (session) - AGI, ROOT accessors – user (application) - modules in F, AGI, C++user (application) - modules in F, AGI, C++
Pavel Nevski
STARSTARgeometrygeometry
Modules: 14Modules: 14 Structures: 34Structures: 34 Instances: 45Instances: 45 Parameter Parameter
values: 841values: 841
Pavel Nevski
Database Database BrowserBrowser Versioned Versioned
geometriesgeometries
Pavel Nevski
STAR geometrySTAR geometry Formalized description in specification Formalized description in specification
language, including hits and DB accesslanguage, including hits and DB access Many developers, very detail geometry Many developers, very detail geometry
(almost 2,000 different volumes)(almost 2,000 different volumes) Altogether less then 8000 lines including Altogether less then 8000 lines including
field parameterization , easy to read field parameterization , easy to read No step routine is needed in most of the No step routine is needed in most of the
detectors, no “if statement” problemdetectors, no “if statement” problem
Pavel Nevski
GSTAR performanceGSTAR performance
Fast enough - 30 min/10,000 particles, with Fast enough - 30 min/10,000 particles, with a general 1 MeV cuts a general 1 MeV cuts
Calorimeter cuts tuned with test beam date Calorimeter cuts tuned with test beam date down to 50 KeV down to 50 KeV
Interfaced to all event generatorsInterfaced to all event generators Robust and well debugged production toolRobust and well debugged production tool
Pavel Nevski
Requirements for rOOt interfaceRequirements for rOOt interface
– Flexible, expandable access to geometry Flexible, expandable access to geometry objects from reconstruction programobjects from reconstruction program
– Modern visualization and navigationModern visualization and navigation– Access to hits from a C++ code as if they Access to hits from a C++ code as if they
were normal C++ objectswere normal C++ objects– fun, and even more funfun, and even more fun
Pavel Nevski
New elementsNew elements Initially missing elementsInitially missing elements
– Geometry navigator - trivialGeometry navigator - trivial– Geometry decoder - not so trivial, but feasibleGeometry decoder - not so trivial, but feasible– Volumes and positions separately - TVolumeVolumes and positions separately - TVolume– Volumes as position container - TDatasetVolumes as position container - TDataset– Hit navigator - trivial Hit navigator - trivial – Hit presenter - StGeantHitsHit presenter - StGeantHits
Pavel Nevski
G3 geometry modelG3 geometry model
TDataset
TVolume
TVolumePosition
TVolumePosition list
TVolumeView
TShape
StGeant
TNode
TVolumeView
ctor ctor
Pavel Nevski
View as in G3View as in G3
Pavel Nevski
Geant Hit Access ClassGeant Hit Access Class
class TPoints3DABC(from ROOT G3D)
StGeantHits3D
StGeantHits()...
GetNextHit(Int_t indx)
aghitget()
aghitset()
Pavel Nevski
OpenGL viewerOpenGL viewer
Pavel Nevski
Star Event DisplayStar Event Display
Pavel Nevski
ConclusionsConclusions
Now we have all this done and workingNow we have all this done and working G3 geometry model used in reconstruction G3 geometry model used in reconstruction
– calibrations and parameter organizationcalibrations and parameter organization Looking for a G4 interfaceLooking for a G4 interface