LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
NearbyClusterMopUpAlgorithm class. More...
#include "NearbyClusterMopUpAlgorithm.h"
Public Member Functions | |
NearbyClusterMopUpAlgorithm () | |
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 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... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
unsigned int | m_minHitsInCluster |
Minimum number of hits in order to consider a cluster. More... | |
float | m_vertexProximity |
Distance between cluster inner/outer centroid and vtx to declare cluster vtx associated. More... | |
float | m_minClusterSeparation |
Minimum distance between parent and daughter clusters to declare clusters associated. More... | |
float | m_touchingDistance |
Threshold (small) distance below which parent and daughter clusters are declated touching. More... | |
NearbyClusterMopUpAlgorithm class.
Definition at line 22 of file NearbyClusterMopUpAlgorithm.h.
|
protectedinherited |
Definition at line 71 of file ClusterMopUpBaseAlgorithm.h.
|
protectedinherited |
Definition at line 72 of file ClusterMopUpBaseAlgorithm.h.
lar_content::NearbyClusterMopUpAlgorithm::NearbyClusterMopUpAlgorithm | ( | ) |
Default constructor.
Definition at line 21 of file NearbyClusterMopUpAlgorithm.cc.
|
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 31 of file NearbyClusterMopUpAlgorithm.cc.
References f, lar_content::LArClusterHelper::GetClosestDistance(), lar_content::LArClusterHelper::GetClusterHitType(), m_minClusterSeparation, m_minHitsInCluster, m_touchingDistance, m_vertexProximity, lar_content::ClusterMopUpBaseAlgorithm::MakeClusterMerges(), lar_content::LArGeometryHelper::ProjectPosition(), and lar_content::LArClusterHelper::SortByNHits().
|
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 lar_content::IsolatedClusterMopUpAlgorithm::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(), ClusterMopUp(), and lar_content::BoundedClusterMopUpAlgorithm::ClusterMopUp().
|
privatevirtual |
Reimplemented from lar_content::ClusterMopUpBaseAlgorithm.
Definition at line 92 of file NearbyClusterMopUpAlgorithm.cc.
References m_minClusterSeparation, m_minHitsInCluster, m_touchingDistance, m_vertexProximity, 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().
|
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(), lar_content::IsolatedClusterMopUpAlgorithm::IsolatedClusterMopUpAlgorithm(), and lar_content::ClusterMopUpBaseAlgorithm::ReadSettings().
|
private |
Minimum distance between parent and daughter clusters to declare clusters associated.
Definition at line 37 of file NearbyClusterMopUpAlgorithm.h.
Referenced by ClusterMopUp(), and ReadSettings().
|
private |
Minimum number of hits in order to consider a cluster.
Definition at line 35 of file NearbyClusterMopUpAlgorithm.h.
Referenced by ClusterMopUp(), 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().
|
private |
Threshold (small) distance below which parent and daughter clusters are declated touching.
Definition at line 38 of file NearbyClusterMopUpAlgorithm.h.
Referenced by ClusterMopUp(), and ReadSettings().
|
private |
Distance between cluster inner/outer centroid and vtx to declare cluster vtx associated.
Definition at line 36 of file NearbyClusterMopUpAlgorithm.h.
Referenced by ClusterMopUp(), and ReadSettings().