Skip to content

Enhance SplittingTransformer

Gerhard Raven requested to merge future-improve-splitting-transformer into future

In order to allow the SplittingTransformer to make a distinction between 'no output' and 'empty output', recognize whether the output is a vector of optionals. If so, then only put an output container into the event store if the optional 'contains' something (which may be an empty container!), i.e. preserve the 'optionalness'.

This is done so that one can implement the use-case: in the HLT decoders, one loops over the raw data, and looks for a given (at configuration time) number of (named) containers. These containers could be present and non-empty, present and empty, or non-present. T he first two cases are treated the same, and are the regular case where a(n empty) container is put into the event store. But in case of absence in the raw data of a container this should be reflected in absence in the event store (which may - or may not - be a sign of a configuration error) so that the event store 'after' the decoder is, as far as these containers go, a one-to-one match to the event store seen by the HLT encoders when they were executed.

Merge request reports