19 return StatusCode::SUCCESS;
27 const std::vector<LinkInfo<TrigRoiDescriptorCollection>> myROIs = findLinks<TrigRoiDescriptorCollection>(outputDecision,
roiString(), TrigDefs::lastFeatureOfType);
31 if (myROIs.size() == 0) {
33 }
else if (myROIs.size() == 1) {
36 for (
size_t i = 0;
i < myROIs.size(); ++
i) {
38 ATH_MSG_DEBUG(
"Found " << myROIs.size() <<
" RoI links. However, successfully resolved the ambiguity using roiSGKey=" <<
m_roiSGKey <<
", taking index " << location);
46 ATH_MSG_ERROR(
"Did not find exactly one '" <<
roiString() <<
"' for Decision object index " << outputDecision->index()
47 <<
", found " << myROIs.size() <<
". Unable to supply single ROI to spawn EventView on.");
48 for (
const auto& li : myROIs) {
49 ATH_MSG_ERROR(
" -- " << li.link.dataID() <<
":" << li.link.index() <<
". Dump:" << *(li.source));
51 return StatusCode::FAILURE;
54 outputDecision->setObjectLink(
roiString(), myROIs.at(location).link);
67 if (oldToNew.count(oldRoI) == 1) {
68 newRoI = oldToNew[oldRoI];
72 oldToNew[oldRoI] = newRoI;
76 outputDecision->setObjectLink(
roiString(), newRoI);
81 return StatusCode::SUCCESS;