Unable to use pool catalog with IOSvc (for reading MDF files)
When processing the data in Moore#495 (closed) with LHCbDIRAC the input LFNs aren't parsed correctly:
LHCb__MDF__IOSvcMM ERROR MMAppedFile Could not find input : LFN:/lhcb/data/2022/RAW/FULL/LHCb/COLLISION22/253597/253597_00090011_0097.raw StatusCode=FAILURE
ServiceManager ERROR Unable to initialize service "LHCb__MDF__IOSvcMM"
LHCb__MDF__IOAlg.IOSvc ERROR ServiceLocatorHelper::service: can not locate service LHCb::MDF::IOSvcMM/LHCb__MDF__IOSvcMM
LHCb__MDF__IOAlg ERROR Service retrieve : Failed to retrieve Service: LHCb::MDF::IOSvcMM/LHCb__MDF__IOSvcMM
HLTControlFlowMgr FATAL Event failed in Node DeterministicPrescaler/DeterministicPrescaler
LHCb__MDF__IOSvcMM FATAL in sysInitialize(): exception with tag=MMAppedFile is caught
This is due to LHCb::MDF::IOSvcMM
not taking into account the pool catalog file which provides the mapping.
We could think about moving this into the Python side (either in PyConf
or LbProdRun
) however this would remove several features:
- Gaudi would no longer be aware of the GUID of MDF files
- There would no longer be a fall back to alternative PFNs if opening the first one fails
Loosing (1) is probably okay however LHCbDIRAC makes use of the failover mechanism and we probably don't want to loose it.