Adapt invalid value handling for TisTos
Adapting the VALUE_OR
functor to handle dictionary particularly for the Hlt1 Tis/Tos. Effort to close #471 (closed).
Addresses the problem I mentioned here.
The problem is that this algorithm builds a tis/tos dictionary with only a subset of user-specified lines (depending on whether the event fired that line or that line was present during data taking). However
F.VALUE_OR(<invalid_value_dictionary>)
is completely unaware of which subset of these lines are actually stored and assumes that information of all lines is stored. We run into trouble in such cases. There can be work arounds and in-fact I remember running into trouble with this algorithm when building a relation table mappingParticle
->map<string, optional>
. And even thenF.VALUE_OR(<invalid_value_dictionary>)
needs to be specialised to handle such cases.
To be tested with: !3368 (closed) and Analysis!971 (merged)