Pavel Nevski STAR simulations and STAR simulations and ROOT ROOT GSTAR GSTAR root interface root interface
Dec 18, 2015
Pavel Nevski
STAR simulations and ROOTSTAR simulations and ROOT
GSTARGSTAR
root interfaceroot interface
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 G3 implementation details user code from G3 implementation details (Rene Brun, PN 1994)(Rene Brun, PN 1994)
– has improved memory managementhas improved memory management» elastic ZEBRAelastic ZEBRA
» 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 a built-in database interfacehas a built-in database interface
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
So what do we want more?So what do we want more?
We do want more !We do want more !– 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
Well, we decided to grow ROOTs Well, we decided to grow ROOTs
Pavel Nevski
Missing elementsMissing 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
Geant Hit Access ClassGeant Hit Access Class
class TPoints3DABC(from ROOT G3D)
StGeantHits3D
StGeantHits()...
GetNextHit(Int_t indx)
aghitget()
aghitset()
Pavel Nevski
ConclusionsConclusions
Now we have all this done and workingNow we have all this done and working what do we want more ?what do we want more ?
– TDataset ? Light named list of TDatasetsTDataset ? Light named list of TDatasets– TVolume, TVolumeView, TVolumePosition as TVolume, TVolumeView, TVolumePosition as
functional G3 analogs functional G3 analogs – and fun, even more funand fun, even more fun