LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
IsolatedClusterMopUpAlgorithm class. More...
#include "IsolatedClusterMopUpAlgorithm.h"
Public Member Functions | |
IsolatedClusterMopUpAlgorithm () | |
Default constructor. More... | |
template<typename T > | |
const std::string | GetListName (const T *const pT) const |
Find the name of the list hosting a specific object. More... | |
Protected Types | |
typedef std::unordered_map< const pandora::Cluster *, float > | AssociationDetails |
typedef std::unordered_map< const pandora::Cluster *, AssociationDetails > | ClusterAssociationMap |
Protected Member Functions | |
virtual pandora::StatusCode | Run () |
virtual void | GetPfoClusterLists (pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const |
Get the two dimensional clusters contained in the input pfo list, divided into three different views. More... | |
virtual void | GetDaughterClusterLists (pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const |
Get the two dimensional clusters contained in the input remant/daughter cluster lists, divided into three different views. More... | |
virtual void | GetClusterLists (const pandora::ClusterList &inputClusterList, const bool availabilityFlag, pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const |
Get the two dimensional clusters contained in an input cluster list, divided into three different views. More... | |
virtual void | MakeClusterMerges (const ClusterAssociationMap &clusterAssociationMap) const |
Make the cluster merges specified in the cluster association map, using list name information in the cluster list name map. More... | |
Protected Attributes | |
pandora::StringVector | m_pfoListNames |
The list of pfo list names. More... | |
bool | m_excludePfosContainingTracks |
Whether to exclude any pfos containing clusters flagged as fixed tracks. More... | |
pandora::StringVector | m_daughterListNames |
The list of potential daughter object list names. More... | |
Private Types | |
typedef std::unordered_map< const pandora::CaloHit *, const pandora::Cluster * > | CaloHitToClusterMap |
typedef KDTreeLinkerAlgo< const pandora::CaloHit *, 2 > | HitKDTree2D |
typedef KDTreeNodeInfoT< const pandora::CaloHit *, 2 > | HitKDNode2D |
typedef std::vector< HitKDNode2D > | HitKDNode2DList |
Private Member Functions | |
void | ClusterMopUp (const pandora::ClusterList &pfoClusters, const pandora::ClusterList &remnantClusters) const |
Cluster mop up for a single view. This function is responsible for instructing pandora to make cluster alterations. More... | |
void | DissolveClustersToHits (const pandora::ClusterList &clusterList, pandora::CaloHitList &caloHitList) const |
Examine a list of clusters, identify and delete remnants; receive the list of newly available hits. More... | |
void | GetCaloHitToClusterMap (const pandora::CaloHitList &caloHitList, const pandora::ClusterList &clusterList, CaloHitToClusterMap &caloHitToClusterMap) const |
Look for isolated hit additions, considering a list of candidate hits and a list of host clusters. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
unsigned int | m_maxCaloHitsInCluster |
The maximum number of hits in a cluster to be dissolved. More... | |
float | m_maxHitClusterDistance |
The maximum hit to cluster distance for isolated hit merging. More... | |
bool | m_addHitsAsIsolated |
Whether to add hits to clusters as "isolated" (don't contribute to spatial properties) More... | |
IsolatedClusterMopUpAlgorithm class.
Definition at line 30 of file IsolatedClusterMopUpAlgorithm.h.
|
protectedinherited |
Definition at line 71 of file ClusterMopUpBaseAlgorithm.h.
|
private |
Definition at line 49 of file IsolatedClusterMopUpAlgorithm.h.
|
protectedinherited |
Definition at line 72 of file ClusterMopUpBaseAlgorithm.h.
|
private |
Definition at line 64 of file IsolatedClusterMopUpAlgorithm.h.
|
private |
Definition at line 65 of file IsolatedClusterMopUpAlgorithm.h.
|
private |
Definition at line 63 of file IsolatedClusterMopUpAlgorithm.h.
lar_content::IsolatedClusterMopUpAlgorithm::IsolatedClusterMopUpAlgorithm | ( | ) |
Default constructor.
Definition at line 23 of file IsolatedClusterMopUpAlgorithm.cc.
References lar_content::ClusterMopUpBaseAlgorithm::m_excludePfosContainingTracks.
|
privatevirtual |
Cluster mop up for a single view. This function is responsible for instructing pandora to make cluster alterations.
pfoClusters | the list of pfo clusters |
remnantClusters | the list of remnant clusters |
Implements lar_content::ClusterMopUpBaseAlgorithm.
Definition at line 34 of file IsolatedClusterMopUpAlgorithm.cc.
References DissolveClustersToHits(), GetCaloHitToClusterMap(), m_addHitsAsIsolated, and lar_content::LArClusterHelper::SortHitsByPosition().
|
private |
Examine a list of clusters, identify and delete remnants; receive the list of newly available hits.
clusterList | the list of clusters to consider |
caloHitList | to receive the list of newly available hits |
Definition at line 63 of file IsolatedClusterMopUpAlgorithm.cc.
References lar_content::MopUpBaseAlgorithm::GetListName(), and m_maxCaloHitsInCluster.
Referenced by ClusterMopUp().
|
private |
Look for isolated hit additions, considering a list of candidate hits and a list of host clusters.
caloHitList | the list of hits to consider |
clusterList | the list of clusters to consider |
caloHitToClusterMap | to receive the calo hit to cluster map |
Definition at line 78 of file IsolatedClusterMopUpAlgorithm.cc.
References lar_content::KDTreeLinkerAlgo< DATA, DIM >::build(), lar_content::KDTreeNodeInfoT< DATA, DIM >::data, lar_content::fill_and_bound_2d_kd_tree(), lar_content::KDTreeLinkerAlgo< DATA, DIM >::findNearestNeighbour(), lar_content::LArGeometryHelper::GetWirePitchRatio(), and m_maxHitClusterDistance.
Referenced by ClusterMopUp().
|
protectedvirtualinherited |
Get the two dimensional clusters contained in an input cluster list, divided into three different views.
inputClusterList | the input cluster list |
availabilityFlag | only clusters with matching availability will be considered |
clusterListU | to receive the list of clusters in the u view |
clusterListV | to receive the list of clusters in the v view |
clusterListW | to receive the list of clusters in the w view |
Definition at line 82 of file ClusterMopUpBaseAlgorithm.cc.
References lar_content::LArClusterHelper::GetClusterHitType(), and target.
Referenced by lar_content::ClusterMopUpBaseAlgorithm::GetDaughterClusterLists(), and lar_content::ClusterMopUpBaseAlgorithm::GetPfoClusterLists().
|
protectedvirtualinherited |
Get the two dimensional clusters contained in the input remant/daughter cluster lists, divided into three different views.
clusterListU | to receive the list of clusters in the u view |
clusterListV | to receive the list of clusters in the v view |
clusterListW | to receive the list of clusters in the w view |
Definition at line 67 of file ClusterMopUpBaseAlgorithm.cc.
References lar_content::ClusterMopUpBaseAlgorithm::GetClusterLists(), and lar_content::MopUpBaseAlgorithm::m_daughterListNames.
Referenced by lar_content::ClusterMopUpBaseAlgorithm::Run().
|
inherited |
Find the name of the list hosting a specific object.
pT | the address of the object |
Definition at line 19 of file MopUpBaseAlgorithm.cc.
Referenced by DissolveClustersToHits(), lar_content::ClusterMopUpBaseAlgorithm::MakeClusterMerges(), and lar_content::SlidingConeClusterMopUpAlgorithm::MakeClusterMerges().
|
protectedvirtualinherited |
Get the two dimensional clusters contained in the input pfo list, divided into three different views.
clusterListU | to receive the list of clusters in the u view |
clusterListV | to receive the list of clusters in the v view |
clusterListW | to receive the list of clusters in the w view |
Definition at line 45 of file ClusterMopUpBaseAlgorithm.cc.
References lar_content::ClusterMopUpBaseAlgorithm::GetClusterLists(), lar_content::LArPfoHelper::IsTrack(), lar_content::ClusterMopUpBaseAlgorithm::m_excludePfosContainingTracks, and lar_content::ClusterMopUpBaseAlgorithm::m_pfoListNames.
Referenced by lar_content::ClusterMopUpBaseAlgorithm::Run().
|
protectedvirtualinherited |
Make the cluster merges specified in the cluster association map, using list name information in the cluster list name map.
clusterAssociationMap | the cluster association map |
Definition at line 104 of file ClusterMopUpBaseAlgorithm.cc.
References lar_content::MopUpBaseAlgorithm::GetListName(), and lar_content::LArClusterHelper::SortByNHits().
Referenced by lar_content::ConeClusterMopUpAlgorithm::ClusterMopUp(), lar_content::NearbyClusterMopUpAlgorithm::ClusterMopUp(), and lar_content::BoundedClusterMopUpAlgorithm::ClusterMopUp().
|
privatevirtual |
Reimplemented from lar_content::ClusterMopUpBaseAlgorithm.
Definition at line 123 of file IsolatedClusterMopUpAlgorithm.cc.
References m_addHitsAsIsolated, m_maxCaloHitsInCluster, m_maxHitClusterDistance, and lar_content::ClusterMopUpBaseAlgorithm::ReadSettings().
|
protectedvirtualinherited |
Definition at line 28 of file ClusterMopUpBaseAlgorithm.cc.
References lar_content::ClusterMopUpBaseAlgorithm::ClusterMopUp(), lar_content::ClusterMopUpBaseAlgorithm::GetDaughterClusterLists(), and lar_content::ClusterMopUpBaseAlgorithm::GetPfoClusterLists().
|
private |
Whether to add hits to clusters as "isolated" (don't contribute to spatial properties)
Definition at line 69 of file IsolatedClusterMopUpAlgorithm.h.
Referenced by ClusterMopUp(), and ReadSettings().
|
protectedinherited |
The list of potential daughter object list names.
Definition at line 35 of file MopUpBaseAlgorithm.h.
Referenced by lar_content::SlidingConeClusterMopUpAlgorithm::GetAvailableTwoDClusters(), lar_content::ClusterMopUpBaseAlgorithm::GetDaughterClusterLists(), lar_content::SlidingConePfoMopUpAlgorithm::ReadSettings(), and lar_content::VertexBasedPfoMopUpAlgorithm::ReadSettings().
|
protectedinherited |
Whether to exclude any pfos containing clusters flagged as fixed tracks.
Definition at line 84 of file ClusterMopUpBaseAlgorithm.h.
Referenced by lar_content::ClusterMopUpBaseAlgorithm::GetPfoClusterLists(), IsolatedClusterMopUpAlgorithm(), and lar_content::ClusterMopUpBaseAlgorithm::ReadSettings().
|
private |
The maximum number of hits in a cluster to be dissolved.
Definition at line 67 of file IsolatedClusterMopUpAlgorithm.h.
Referenced by DissolveClustersToHits(), and ReadSettings().
|
private |
The maximum hit to cluster distance for isolated hit merging.
Definition at line 68 of file IsolatedClusterMopUpAlgorithm.h.
Referenced by GetCaloHitToClusterMap(), and ReadSettings().
|
protectedinherited |
The list of pfo list names.
Definition at line 83 of file ClusterMopUpBaseAlgorithm.h.
Referenced by lar_content::ClusterMopUpBaseAlgorithm::GetPfoClusterLists(), and lar_content::ClusterMopUpBaseAlgorithm::ReadSettings().