27 std::string originalCaloHitListName;
34 if (STATUS_CODE_NOT_FOUND == statusCode)
39 return STATUS_CODE_SUCCESS;
42 if (STATUS_CODE_SUCCESS != statusCode)
48 std::string newClusterListName;
57 if (!pClusterList->empty())
71 return STATUS_CODE_SUCCESS;
95 return STATUS_CODE_SUCCESS;
Header file for the clustering parent algorithm class.
#define PANDORA_RETURN_RESULT_IF_AND_IF(StatusCode1, StatusCode2, Operator, Command)
#define PANDORA_RETURN_RESULT_IF(StatusCode1, Operator, Command)
static pandora::StatusCode ReplaceCurrentList(const pandora::Algorithm &algorithm, const std::string &newListName)
Replace the current list with a pre-saved list; use this new list as a permanent replacement for the ...
static pandora::StatusCode RunClusteringAlgorithm(const pandora::Algorithm &algorithm, const std::string &clusteringAlgorithmName, const pandora::ClusterList *&pNewClusterList, std::string &newClusterListName)
Run a clustering algorithm (an algorithm that will create new cluster objects)
static pandora::StatusCode RunDaughterAlgorithm(const pandora::Algorithm &algorithm, const std::string &daughterAlgorithmName)
Run an algorithm registered with pandora, from within a parent algorithm.
static const pandora::PandoraSettings * GetSettings(const pandora::Algorithm &algorithm)
Get the pandora settings instance.
std::string m_associationAlgorithmName
The name of the topological association algorithm to run.
pandora::StatusCode Run()
Run the algorithm.
bool m_replaceCurrentClusterList
Whether to subsequently use the new cluster list as the "current" list.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
std::string m_clusteringAlgorithmName
The name of the clustering algorithm to run.
std::string m_clusterListName
The name under which to save the new cluster list.
bool m_replaceCurrentCaloHitList
Whether to permanently replace the original calo hit list as the "current" list upon completion.
std::string m_inputCaloHitListName
The name of the input calo hit list, containing the hits to be clustered.
ClusteringParentAlgorithm()
Default constructor.
bool ShouldDisplayAlgorithmInfo() const
Whether to display algorithm information during processing.
static StatusCode ProcessAlgorithm(const Algorithm &algorithm, const TiXmlHandle &xmlHandle, const std::string &description, std::string &algorithmName)
Process an algorithm described in an xml element with a matching "description = .....
static StatusCode ReadValue(const TiXmlHandle &xmlHandle, const std::string &xmlElementName, T &t)
Read a value from an xml element.
MANAGED_CONTAINER< const Cluster * > ClusterList
StatusCode
The StatusCode enum.