Event Display can't find RunHistoryService
There's some subtlety causing a problem with how the EventDisplay is trying to load bad channels. EventDisplay can load up fine without, but if I select the "Outline Cells" option under the "Geometry Drawing Options," in addition to enabling "Dim Disabled," it crashes with the following error:
terminate called after throwing an instance of 'cet::coded_exception<art::errors::ErrorCodes, &art::ExceptionDetail::translate>'
what(): ---- NotFound BEGIN
Service unable to find requested service with compiler type name 'nova::dbi::RunHistoryService'.
---- NotFound END
You can reproduce this by sourcing development and typing this at your prompt:
nova -c evd.fcl /nova/app/users/rocco/Production/development_testBadChan/fardet_r00011497_s04_t00_numi_S14-01-20_v1_data.daq.root
and then selecting "Outline Cells" in "Geometry Drawing Options"
I think this points to something fishy about how the service is registered to ART and how evd.fcl is grabbing the service.
Other jobs can run with RunHistory without complaint, for instance, Utilities/batch/recoproductionjob.fcl runs over the files without a problem and populates the channel mask. Both of those jobs tie in the service in the same way, through services.fcl.
This error seems similar to what you'd get if you didn't include, for instance:
in the configurations in CAFMaker.fcl. Looking into services, however, I can't quite figure out how ART makes the connection between the configuration specified and the service itself. Brian, maybe you know the answer to this?
Anyway, I'm somewhat lost here, maybe some of the more ART savvy people can shed some light on it.
I've assigned the priority to high because resolving this is a prerequisite to tagging for reconstruction.
#1 Updated by Brian Rebel almost 6 years ago
have you tried following the description at
#2 Updated by Kanika Sachdev almost 6 years ago
- Status changed from New to Feedback
- Assignee set to Kanika Sachdev
RunHistory service wasn't include in the event display jobs. Commits 8628 and 8627 fix that for the usual event display job and the evd_numi_2db job which was used in event scanning.
There are a lot of other display jobs files that I don't the use for. I've not updated these, someone who knows more should please take a look..