9 #include "Pandora/AlgorithmHeaders.h" 18 PostProcessingAlgorithm::PostProcessingAlgorithm() :
28 return STATUS_CODE_SUCCESS;
36 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, this->RenameList<PfoList>(listName));
39 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, this->RenameList<ClusterList>(listName));
42 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, this->RenameList<VertexList>(listName));
45 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, this->RenameList<CaloHitList>(listName));
47 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::DropCurrentList<CaloHit>(*
this));
48 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::DropCurrentList<Track>(*
this));
49 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::DropCurrentList<MCParticle>(*
this));
50 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::DropCurrentList<Cluster>(*
this));
51 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::DropCurrentList<ParticleFlowObject>(*
this));
52 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::DropCurrentList<Vertex>(*
this));
58 if (STATUS_CODE_SUCCESS != PandoraContentApi::ReplaceCurrentList<Pfo>(*
this, replacementListName))
60 if (PandoraContentApi::GetSettings(*this)->ShouldDisplayAlgorithmInfo())
61 std::cout <<
"PostProcessingAlgorithm: could not replace current pfo list with list named: " << replacementListName << std::endl;
63 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::DropCurrentList<Pfo>(*
this));
68 return STATUS_CODE_SUCCESS;
76 const std::string newListName(oldListName + TypeToString(
m_listCounter));
77 PANDORA_RETURN_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, PandoraContentApi::RenameList<T>(*
this, oldListName, newListName));
78 return STATUS_CODE_SUCCESS;
85 PANDORA_RETURN_RESULT_IF_AND_IF(
86 STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadVectorOfValues(xmlHandle,
"PfoListNames",
m_pfoListNames));
88 PANDORA_RETURN_RESULT_IF_AND_IF(
89 STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadVectorOfValues(xmlHandle,
"ClusterListNames",
m_clusterListNames));
91 PANDORA_RETURN_RESULT_IF_AND_IF(
92 STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadVectorOfValues(xmlHandle,
"VertexListNames",
m_vertexListNames));
94 PANDORA_RETURN_RESULT_IF_AND_IF(
95 STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadVectorOfValues(xmlHandle,
"CaloHitListNames",
m_caloHitListNames));
97 PANDORA_RETURN_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=,
100 return STATUS_CODE_SUCCESS;
106 template pandora::StatusCode PostProcessingAlgorithm::RenameList<PfoList>(
const std::string &)
const;
107 template pandora::StatusCode PostProcessingAlgorithm::RenameList<ClusterList>(
const std::string &)
const;
108 template pandora::StatusCode PostProcessingAlgorithm::RenameList<VertexList>(
const std::string &)
const;
109 template pandora::StatusCode PostProcessingAlgorithm::RenameList<CaloHitList>(
const std::string &)
const;
std::string m_currentPfoListReplacement
The name of the pfo list to replace the current list.
pandora::StatusCode Reset()
pandora::StatusCode Run()
pandora::StringVector m_clusterListNames
The list of cluster list names.
Header file for the post processing algorithm class.
unsigned int m_listCounter
The counter appended to output (and replacement current) list names and reset each event...
pandora::StringVector m_caloHitListNames
The list of calo hit list names.
pandora::StringVector m_vertexListNames
The list of vertex list names.
pandora::StringVector m_pfoListNames
The list of pfo list names.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
pandora::StatusCode RenameList(const std::string &oldListName) const
Rename a list of relevant type with specified name - the new name will be the old name with appended ...