HLT2 is not propagating banks with error types
As of now we define the following explicit list of banks to persist in the various streams where they are expected.
DETECTOR_RAW_BANK_TYPES = {
'VPRetinaCluster',
'VP', # compatibility with data without VP clusters
'UT',
'FTCluster',
'Rich',
'Muon',
'Plume',
'Calo',
'EcalPacked', # compatibility with old data, now under "Calo"
'HcalPacked', # compatibility with old data, now under "Calo"
}
We do not currently persist any banks that have "error" types. These can be generic DAQ error types (where not much can be done) but also detector specific error types such as MuonError
. In the muon case, since recently the error banks are used in the decoding to recover the okay links and reduce inefficiency. Not propagating them in HLT2 means that one cannot fully reproduce the decoding offline.
In addition, there are non-error but non-standard types such as FTNZS
and others.
A full list of banks can be found in RawBank.h
A general solution (already used in Allen) would be to only deal with detector IDs on the configuration level and "route" (think UnpackRawEvent
) banks according to their source ID. The fine selection on the type can be left to the algorithms, or if needed, the routing can also filter on bank type.