9 #include "Pandora/AlgorithmHeaders.h" 20 StatusCode UnattachedDeltaRaysAlgorithm::Run()
22 const PfoList *pPfoList(
nullptr);
23 PANDORA_RETURN_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_INITIALIZED, !=, PandoraContentApi::GetList(*
this, m_pfoListName, pPfoList));
25 if (!pPfoList || pPfoList->empty())
27 if (PandoraContentApi::GetSettings(*this)->ShouldDisplayAlgorithmInfo())
28 std::cout <<
"UnattachedDeltaRaysAlgorithm: pfo list " << m_pfoListName <<
" unavailable." << std::endl;
29 return STATUS_CODE_SUCCESS;
32 PfoList unattachedDeltaRays;
34 for (
const Pfo *
const pPfo : *pPfoList)
36 if ((0 == pPfo->GetNParentPfos()) && LArPfoHelper::IsShower(pPfo))
37 unattachedDeltaRays.push_back(pPfo);
40 PfoList allPfosToDelete;
41 LArPfoHelper::GetAllConnectedPfos(unattachedDeltaRays, allPfosToDelete);
43 for (
const Pfo *
const pPfoToDelete : allPfosToDelete)
45 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::Delete(*
this, pPfoToDelete, m_pfoListName));
48 return STATUS_CODE_SUCCESS;
53 StatusCode UnattachedDeltaRaysAlgorithm::ReadSettings(
const TiXmlHandle xmlHandle)
55 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, XmlHelper::ReadValue(xmlHandle,
"PfoListName", m_pfoListName));
57 return STATUS_CODE_SUCCESS;
Header file for the pfo helper class.
Header file for the unattached delta rays algorithm class.