aliroot - Proposal for data structure
of digits and clusters
aliroot - Proposal for data structure of digits
and clusters
This proposal are based on experience from the most critical detector
( typical data size 250 000 uncompressed digits TPCData.eps
)
Proposed data structure was successfully implemented and used in TPC part
of aliroot
Assumption
necessary to divide detector to set of logical sub detectors - segments
segment -element unit on which have sense consider data taking,
detector response simulation and cluster finding mechanism - definition
of segment depends on given task
for effective managing of segments we need fast input and output mechanism
on the level of segments
track reconstruction work on the set of segments - different track
finding mechanism work on different set of segments
for example Kalman filter in TPC work on set of segments (pad rows)
for given TPC sector
the same Kalman filter in case of parallel tracking work in given step
with set of segments with the same r distance from origin
to don't depend on given type of algorithm but to be possible briefly
load and store and to have necessary segments in memory we
need some segment manager
Classes
each segment is represented as entry in TTree
in this representation each detector have one tree with number of
segments (or smaller if we simulate only subset of detector) entries -
for example TPC should have ~ 3000-7000 segments
each segment is identified by unique ID number - (AliSegmentID.fSegmentID)
example - in TPC one segment is given by sector and row number
detector response (digits) - represented on segment level
we collect and write digits on the segment level (AliDigits
- picture )
example - in TPC we calculate digits for given pad row
we store one row(segment) digits as one object in current version object
is of type TClonesArray
(42 bytes pre digit -with track information) - proposed AliDigits
(2 bytes per digit - 15 bits information) - or AliSimDigits
(6-14 bytes - digits with simulated track information)