The result of the processing of tracks, calorimeter information and muon system information are energy flow objects. The information about the energy flow objects is stored in a ZEBRA structure, located in the main store, with the top bank called BDST.
For each energy flow object a sub-bank is created, hanging at link
, where
is the number of the energy flow. The
bank structure is shown in in Figure
.
The information for each energy flow object is stored in banks BDS1 to B999 (at the moment the number of eflow objects is limited to 300 by the SNARK program.). The energy flow objects are accessible through the statment function REF(index, ieflow) and IEF(index, ieflow) respectively. They are defined in the common BRDFUNC2 and BRDFUNC.
For each energy flow object the following words are stored:
REF(1,i) | Px |
REF(2,i) | Py |
REF(3,i) | pz |
REF(4,i) | E |
IEF(5,i) | ID (only for MC) |
REF(6,i) | 1.0: object is linked to track |
2.0: object islinked to track, but track is secondary | |
IEF(7,i) | track number (TK) for charged, cluster number for neutral object |
REF(8,i) | charge |
There are a total of energy flow objects available. An
additional bank is available at position
, which collects
the information on any hits in the calorimeter which are not connected
with an energy flow object.
Each bank supports two banks: BEHT and BHHT, in which pointers at the hits in the ECAL (BEHT) and HCAL (BHHT) are stored. These pointers are accessible through the statement functions: IEF_EP(index, ieflow) and IEF_HP(index, ieflow). The pointers point straight into the common ECRECONST and HBRECONST, where the calorimeter hits are stored.
The word at position 7 of the energy flow object can be used to access the tracker information or the cluster information, depending on whether the objects is charged or neutral.