ShowerHierarchyMopUpAlgorithm class.
More...
#include <ShowerHierarchyMopUpAlgorithm.h>
|
pandora::StatusCode | Run () |
|
void | FindParentShowerPfos (const pandora::PfoList *const pLeadingPfoList, pandora::PfoList &parentShowerPfos) const |
| Starting with provided leading pfos, find all shower pfos that themselves have daughter pfos. More...
|
|
void | FindParentShowerPfos (const pandora::Pfo *const pLeadiPfo, pandora::PfoList &parentShowerPfos) const |
| Starting with provided pfo, find all downstream shower pfos that themselves have daughter pfos. More...
|
|
void | PerformPfoMerges (const pandora::PfoList &parentShowerPfos) const |
| For each parent shower pfo, merge all downstream pfos back into the parent shower. More...
|
|
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
|
|
virtual void | MergeAndDeletePfos (const pandora::ParticleFlowObject *const pPfoToEnlarge, const pandora::ParticleFlowObject *const pPfoToDelete) const |
| Merge and delete a pair of pfos, with a specific set of conventions for cluster merging, vertex use, etc. More...
|
|
template<typename T > |
const std::string | GetListName (const T *const pT) const |
| Find the name of the list hosting a specific object. More...
|
|
static const pandora::Cluster * | GetParentCluster (const pandora::ClusterList &clusterList, const pandora::HitType hitType) |
| Select the parent cluster (same hit type and most hits) using a provided cluster list and hit type. More...
|
|
pandora::StringVector | m_daughterListNames |
| The list of potential daughter object list names. More...
|
|
void lar_content::ShowerHierarchyMopUpAlgorithm::FindParentShowerPfos |
( |
const pandora::PfoList *const |
pLeadingPfoList, |
|
|
pandora::PfoList & |
parentShowerPfos |
|
) |
| const |
|
private |
Starting with provided leading pfos, find all shower pfos that themselves have daughter pfos.
- Parameters
-
pLeadingPfoList | the list of leading pfos |
parentShowerPfos | to receive the list of parent shower pfos |
void lar_content::ShowerHierarchyMopUpAlgorithm::FindParentShowerPfos |
( |
const pandora::Pfo *const |
pLeadiPfo, |
|
|
pandora::PfoList & |
parentShowerPfos |
|
) |
| const |
|
private |
Starting with provided pfo, find all downstream shower pfos that themselves have daughter pfos.
- Parameters
-
pPfo | the address of a pfo |
parentShowerPfos | to receive the list of parent shower pfos |
void lar_content::ShowerHierarchyMopUpAlgorithm::PerformPfoMerges |
( |
const pandora::PfoList & |
parentShowerPfos | ) |
const |
|
private |
For each parent shower pfo, merge all downstream pfos back into the parent shower.
- Parameters
-
parentShowerPfos | the list of parent shower pfos |
Definition at line 74 of file ShowerHierarchyMopUpAlgorithm.cc.
76 for (
const Pfo *
const pParentShowerPfo : parentShowerPfos)
78 PfoList downstreamPfos;
81 for (
const Pfo *
const pDownstreamPfo : downstreamPfos)
83 if (pDownstreamPfo != pParentShowerPfo)
static void GetAllDownstreamPfos(const pandora::PfoList &inputPfoList, pandora::PfoList &outputPfoList)
Get a flat list of all pfos, recursively, of all daughters associated with those pfos in an input lis...
virtual void MergeAndDeletePfos(const pandora::ParticleFlowObject *const pPfoToEnlarge, const pandora::ParticleFlowObject *const pPfoToDelete) const
Merge and delete a pair of pfos, with a specific set of conventions for cluster merging, vertex use, etc.
StatusCode lar_content::ShowerHierarchyMopUpAlgorithm::ReadSettings |
( |
const pandora::TiXmlHandle |
xmlHandle | ) |
|
|
privatevirtual |
StatusCode lar_content::ShowerHierarchyMopUpAlgorithm::Run |
( |
| ) |
|
|
private |
Definition at line 20 of file ShowerHierarchyMopUpAlgorithm.cc.
22 const PfoList *pLeadingPfoList(
nullptr);
23 PANDORA_RETURN_RESULT_IF_AND_IF(
24 STATUS_CODE_SUCCESS, STATUS_CODE_NOT_INITIALIZED, !=, PandoraContentApi::GetList(*
this,
m_leadingPfoListName, pLeadingPfoList));
26 if (!pLeadingPfoList || pLeadingPfoList->empty())
28 if (PandoraContentApi::GetSettings(*this)->ShouldDisplayAlgorithmInfo())
31 return STATUS_CODE_SUCCESS;
34 PfoList parentShowerPfos;
38 return STATUS_CODE_SUCCESS;
std::string m_leadingPfoListName
The input leading pfo list name (e.g. list of neutrino or testbeam pfos)
void PerformPfoMerges(const pandora::PfoList &parentShowerPfos) const
For each parent shower pfo, merge all downstream pfos back into the parent shower.
void FindParentShowerPfos(const pandora::PfoList *const pLeadingPfoList, pandora::PfoList &parentShowerPfos) const
Starting with provided leading pfos, find all shower pfos that themselves have daughter pfos...
BEGIN_PROLOG could also be cout
std::string lar_content::ShowerHierarchyMopUpAlgorithm::m_leadingPfoListName |
|
private |
The documentation for this class was generated from the following files: