RefCoreStreamer throws when reading in a default-constructed Ptr or PtrVector.
During post-build tests with LArSoft and NOvA, we have identified a deficiency in RefCoreStreamer: it is no longer possible to read in a default-constructed Ptr or PtrVector. This is especially problematic for data products that contain one or the other by value but where it is not necessarily used on every event.
The symptom is the following exception thrown while reading in a product or collection containing a default-constructed Ptr or PtrVector:
%MSG-s ArtException: PostCloseFile 31-Oct-2011 13:45:41 CDT PostEndRun cet::exception caught in art ---- EventProcessorFailure BEGIN An exception occurred during current event processing ---- ScheduleExecutionFailure BEGIN ProcessingStopped. ---- FileReadError BEGIN ---- ProductNotFound BEGIN InvalidID get by product ID: invalid ProductID supplied ---- ProductNotFound END cet::exception going through module Alignment/alignment run: 12510 subRun: 1 event: 40982 ---- FileReadError END Exception going through path ana ---- ScheduleExecutionFailure END cet::exception caught in EventProcessor and rethrown ---- EventProcessorFailure END %MSG