9 #include "Pandora/AlgorithmHeaders.h" 19 const std::string MopUpBaseAlgorithm::GetListName(
const T *
const pT)
const 22 const MANAGED_CONTAINER<const T *> *pCurrentList(
nullptr);
23 (void)PandoraContentApi::GetCurrentList(*
this, pCurrentList, currentListName);
25 if (pCurrentList && (pCurrentList->end() != std::find(pCurrentList->begin(), pCurrentList->end(), pT)))
26 return currentListName;
28 for (
const std::string &listName : m_daughterListNames)
30 const MANAGED_CONTAINER<const T *> *pList(
nullptr);
31 (void)PandoraContentApi::GetList(*
this, listName, pList);
33 if (pList && (pList->end() != std::find(pList->begin(), pList->end(), pT)))
37 throw StatusCodeException(STATUS_CODE_NOT_FOUND);
42 StatusCode MopUpBaseAlgorithm::ReadSettings(
const TiXmlHandle xmlHandle)
44 PANDORA_RETURN_RESULT_IF_AND_IF(
45 STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadVectorOfValues(xmlHandle,
"DaughterListNames", m_daughterListNames));
47 if (m_daughterListNames.empty())
49 std::cout <<
"MopUpBaseAlgorithm::ReadSettings - Must provide names of daughter object lists for use in mop up." <<
std::endl;
50 return STATUS_CODE_INVALID_PARAMETER;
53 return STATUS_CODE_SUCCESS;
59 template const std::string MopUpBaseAlgorithm::GetListName(
const CaloHit *
const)
const;
60 template const std::string MopUpBaseAlgorithm::GetListName(
const MCParticle *
const)
const;
61 template const std::string MopUpBaseAlgorithm::GetListName(
const Track *
const)
const;
62 template const std::string MopUpBaseAlgorithm::GetListName(
const Cluster *
const)
const;
63 template const std::string MopUpBaseAlgorithm::GetListName(
const ParticleFlowObject *
const)
const;
64 template const std::string MopUpBaseAlgorithm::GetListName(
const Vertex *
const)
const;
Header file for the mop up algorithm base class.
boost::graph_traits< ModuleGraph >::vertex_descriptor Vertex
TrackCollectionProxyElement< TrackCollProxy > Track
Proxy to an element of a proxy collection of recob::Track objects.
QTextStream & endl(QTextStream &s)