Pavel Nevski STAR simulations and ROOT GSTAR root interface.

Post on 18-Dec-2015

222 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

Transcript

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

View as in G3View as in G3

Pavel Nevski

OpenGL viewerOpenGL viewer

Pavel Nevski

Geant Hit Access ClassGeant Hit Access Class

class TPoints3DABC(from ROOT G3D)

StGeantHits3D

StGeantHits()...

GetNextHit(Int_t indx)

aghitget()

aghitset()

Pavel Nevski

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

top related