Skip to content

AnalysisTop: retrieving tools for soft muon OR only when needed

Tomas Dado requested to merge tdado/athena:21.2-AT-RetrieveSoftMuonsOR into 21.2

This prevents some weir error that we encounter when running over TRUTH1 derivations:

Package.AsgTools.AnaTo...ERROR   /build/atnight/localbuilds/nightlies/21.2/athena/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx:157 (StatusCode asg::detail::makeToolRootCore(const string&, const string&, asg::AsgTool*&)): Unable to load class dictionary for type OverlapRemovalTool_softMuons_PFjets
Package.AsgTools.AnaTo...ERROR   /build/atnight/localbuilds/nightlies/21.2/athena/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx:346 (StatusCode asg::detail::AnaToolConfig::allocateTool(asg::AsgTool*&, const string&) const): Failed to call "detail::makeToolRootCore (type(), toolName, toolPtr)"
Package.AsgTools.AnaTo...ERROR   /build/atnight/localbuilds/nightlies/21.2/athena/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx:410 (StatusCode asg::detail::AnaToolConfig::makeToolRootCore(const string&, asg::IAsgTool*&, asg::detail::AnaToolCleanup&) const): Failed to call "allocateTool (rawToolPtr, toolName)"
Package.AsgTools.AnaTo...ERROR   /build/atnight/localbuilds/nightlies/21.2/athena/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx:503 (StatusCode asg::detail::AnaToolConfig::makeBaseTool(const string&, asg::parentType_t*, ToolHandle<asg::IAsgTool>&, asg::detail::AnaToolCleanup&) const): Failed to call "makeToolRootCore (toolName, baseToolPtr, baseCleanup)"
Package.UserCode         ERROR   /build/atnight/localbuilds/nightlies/21.2/athena/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc:558 (StatusCode asg::detail::AnaToolConfig::makeTool(const string&, asg::parentType_t*, ToolHandle<T>&, asg::detail::AnaToolCleanup&) const [with ToolType = asg::IAsgTool; std::__cxx11::string = std::__cxx11::basic_string<char>; asg::parentType_t = INamedInterface]): Failed to call "makeBaseTool (name, parent, baseTH, baseCleanup)"
Package.AsgTools.AnaTo...ERROR   /build/atnight/localbuilds/nightlies/21.2/athena/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx:105 (StatusCode asg::detail::AnaToolShareList::makeShare(const string&, const asg::detail::AnaToolConfig&, std::shared_ptr<asg::detail::AnaToolShare>&)): Failed to call "config.makeTool (name, nullptr, th, cleanup)"
Package.AsgTools.AnaTo...ERROR   /cvmfs/atlas-nightlies.cern.ch/repo/sw/21.2_AnalysisBase_x86_64-centos7-gcc8-opt/2020-07-25T0350/AnalysisBase/21.2.133/InstallArea/x86_64-centos7-gcc8-opt/src/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc:825 (StatusCode asg::AnaToolHandle<T>::initialize() [with T = ORUtils::IOverlapRemovalTool]): Failed to call "detail::AnaToolShareList::singleton().makeShare (m_name, m_config, sharedTool)"

This points to some underlying issue with the code. We should be able to retrieve the tool even when not using soft muons. So the changes here just hide the problem, but at least allow to run for the usual cases.

Cheers, Tomas

Edited by Tomas Dado

Merge request reports