9 #include "Pandora/AlgorithmHeaders.h" 18 RandomFigureOfMeritTool::RandomFigureOfMeritTool() :
19 m_maxFomToRecluster{0.5f}
27 if (!pfosToRecluster.empty())
28 return STATUS_CODE_FAILURE;
30 for (
const Pfo *
const pPfo : *pPfos)
32 if (pPfo->GetNClusters() == 0)
35 pfosToRecluster.emplace_back(pPfo);
38 return STATUS_CODE_SUCCESS;
47 return STATUS_CODE_SUCCESS;
54 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, XmlHelper::ReadValue(xmlHandle,
"MaxFomToRecluster",
m_maxFomToRecluster));
56 return STATUS_CODE_SUCCESS;
float m_maxFomToRecluster
threshold figure of merit for reclustering a pfo
pandora::StatusCode GetPfosToRecluster(const pandora::PfoList *pPfos, pandora::PfoList &pfosToRecluster)
Identify pfos for which an attempt at 3D reclustering should be made.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
pandora::StatusCode CalcClusteringFom(const pandora::ClusterList &clusters, float &fom)
Calculate a measure of the goodness of a clustering.