LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
ConeClusterMopUpAlgorithm class. More...
#include "ConeClusterMopUpAlgorithm.h"
Public Member Functions | |
ConeClusterMopUpAlgorithm () | |
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::pair< float, float > | Coordinate |
typedef std::vector< Coordinate > | CoordinateList |
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) |
Static Private Member Functions | |
static bool | SortCoordinates (const Coordinate &lhs, const Coordinate &rhs) |
Sort coordinates by increasing transverse displacement. More... | |
Private Attributes | |
unsigned int | m_slidingFitWindow |
The layer window for the sliding linear fits. More... | |
float | m_showerEdgeMultiplier |
Artificially tune width of shower envelope so as to make it more/less inclusive. More... | |
float | m_coneAngleCentile |
Cluster cone angle is defined using specified centile of distribution of hit half angles. More... | |
float | m_maxConeLengthMultiplier |
Consider hits as bound if inside cone, with projected distance less than N times cone length. More... | |
float | m_minBoundedFraction |
The minimum cluster bounded fraction for merging. More... | |
ConeClusterMopUpAlgorithm class.
Definition at line 21 of file ConeClusterMopUpAlgorithm.h.
|
protectedinherited |
Definition at line 71 of file ClusterMopUpBaseAlgorithm.h.
|
protectedinherited |
Definition at line 72 of file ClusterMopUpBaseAlgorithm.h.
|
private |
Definition at line 32 of file ConeClusterMopUpAlgorithm.h.
|
private |
Definition at line 33 of file ConeClusterMopUpAlgorithm.h.
lar_content::ConeClusterMopUpAlgorithm::ConeClusterMopUpAlgorithm | ( | ) |
Default constructor.
Definition at line 23 of file ConeClusterMopUpAlgorithm.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 34 of file ConeClusterMopUpAlgorithm.cc.
References f, lar_content::LArClusterHelper::GetClusterHitType(), lar_content::TwoDSlidingFitResult::GetGlobalPosition(), lar_content::TwoDSlidingFitResult::GetLayerFitResultMap(), lar_content::TwoDSlidingFitResult::GetLocalPosition(), lar_content::TwoDSlidingShowerFitResult::GetNegativeEdgeFitResult(), lar_content::TwoDSlidingShowerFitResult::GetPositiveEdgeFitResult(), lar_content::TwoDSlidingShowerFitResult::GetShowerFitResult(), lar_content::LArGeometryHelper::GetWirePitch(), m_coneAngleCentile, m_maxConeLengthMultiplier, m_minBoundedFraction, m_showerEdgeMultiplier, m_slidingFitWindow, lar_content::ClusterMopUpBaseAlgorithm::MakeClusterMerges(), lar_content::LArGeometryHelper::ProjectPosition(), lar_content::LArClusterHelper::SortByNHits(), and SortCoordinates().
|
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 ClusterMopUp(), lar_content::NearbyClusterMopUpAlgorithm::ClusterMopUp(), and lar_content::BoundedClusterMopUpAlgorithm::ClusterMopUp().
|
privatevirtual |
Reimplemented from lar_content::ClusterMopUpBaseAlgorithm.
Definition at line 175 of file ConeClusterMopUpAlgorithm.cc.
References m_coneAngleCentile, m_maxConeLengthMultiplier, m_minBoundedFraction, m_showerEdgeMultiplier, m_slidingFitWindow, 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().
|
staticprivate |
Sort coordinates by increasing transverse displacement.
lhs | the first coordinate for comparison |
rhs | the second coordinate for comparison |
Definition at line 168 of file ConeClusterMopUpAlgorithm.cc.
Referenced by ClusterMopUp().
|
private |
Cluster cone angle is defined using specified centile of distribution of hit half angles.
Definition at line 49 of file ConeClusterMopUpAlgorithm.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(), lar_content::IsolatedClusterMopUpAlgorithm::IsolatedClusterMopUpAlgorithm(), and lar_content::ClusterMopUpBaseAlgorithm::ReadSettings().
|
private |
Consider hits as bound if inside cone, with projected distance less than N times cone length.
Definition at line 50 of file ConeClusterMopUpAlgorithm.h.
Referenced by ClusterMopUp(), and ReadSettings().
|
private |
The minimum cluster bounded fraction for merging.
Definition at line 51 of file ConeClusterMopUpAlgorithm.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 |
Artificially tune width of shower envelope so as to make it more/less inclusive.
Definition at line 48 of file ConeClusterMopUpAlgorithm.h.
Referenced by ClusterMopUp(), and ReadSettings().
|
private |
The layer window for the sliding linear fits.
Definition at line 47 of file ConeClusterMopUpAlgorithm.h.
Referenced by ClusterMopUp(), and ReadSettings().