Dispatcher connected to disk-writing EventBuilders fails to process events
SYMPTOM: ICARUS tried connecting Online Monitoring to a Dispatcher running in a system where EventBuilders were writing to disk and sending to the Dispatcher. The OM crashed almost immediately with an art error message mentioning that no products matching 'std::vector<artdaq::Fragment>' were found in the event. Further investigation of the Dispatcher art process showed that the Fragments were indeed not present. Adding a DataLogger between the EventBuilders and the Dispatcher resolved the problem.
SOLUTION: This is caused by a shortcoming in DAQInterface's bookkeeping of the "init_fragment_count" parameter. It was not checking that the Dispatcher init_fragment_count was at least 1 after counting the number of DataLoggers sending to the Dispatcher. I have added logic where if "init_fragment_count" is 0 after checking the DataLoggers, it then assumes that the EventBuilders are sending directly to the Dispatcher and counts them, instead.