LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
OvershootSplittingAlgorithm class. More...
#include "OvershootSplittingAlgorithm.h"
Public Member Functions | |
OvershootSplittingAlgorithm () | |
Default constructor. More... | |
Protected Types | |
typedef std::unordered_map< const pandora::Cluster *, pandora::CartesianPointVector > | ClusterPositionMap |
Private Types | |
typedef std::pair< float, pandora::CartesianVector > | MyTrajectoryPoint |
typedef std::vector< MyTrajectoryPoint > | MyTrajectoryPointList |
Private Member Functions | |
void | GetListOfCleanClusters (const pandora::ClusterList *const pClusterList, pandora::ClusterVector &clusterVector) const |
Populate cluster vector with subset of cluster list, containing clusters judged to be clean. More... | |
void | FindBestSplitPositions (const TwoDSlidingFitResultMap &slidingFitResultMap, ClusterPositionMap &clusterSplittingMap) const |
Determine best split positions based on sliding fit result. More... | |
void | BuildIntersectionMap (const TwoDSlidingFitResultMap &slidingFitResultMap, ClusterPositionMap &clusterIntersectionMap) const |
Use sliding fit results to calculate intersections of clusters. More... | |
void | BuildSortedIntersectionMap (const TwoDSlidingFitResultMap &slidingFitResultMap, const ClusterPositionMap &clusterIntersectionMap, ClusterPositionMap &sortedIntersectionMap) const |
Use intersection points to decide on splitting points. More... | |
void | PopulateSplitPositionMap (const ClusterPositionMap &sortedIntersectionMap, ClusterPositionMap &clusterSplittingMap) const |
Select split positions from sorted list of candidate positions. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Static Private Member Functions | |
static bool | SortByHitProjection (const MyTrajectoryPoint &lhs, const MyTrajectoryPoint &rhs) |
Sort pfos by number of constituent hits. More... | |
Private Attributes | |
float | m_minClusterLength |
float | m_maxClusterSeparation |
float | m_minVertexDisplacement |
float | m_maxIntersectDisplacement |
float | m_minSplitDisplacement |
OvershootSplittingAlgorithm class.
Definition at line 19 of file OvershootSplittingAlgorithm.h.
|
protectedinherited |
Definition at line 30 of file TwoDSlidingFitMultiSplitAlgorithm.h.
|
private |
Definition at line 31 of file OvershootSplittingAlgorithm.h.
|
private |
Definition at line 32 of file OvershootSplittingAlgorithm.h.
lar_content::OvershootSplittingAlgorithm::OvershootSplittingAlgorithm | ( | ) |
Default constructor.
Definition at line 23 of file OvershootSplittingAlgorithm.cc.
|
private |
Use sliding fit results to calculate intersections of clusters.
slidingFitResultMap | the sliding fit result map |
clusterIntersectionMap | the map of cluster intersection points |
Definition at line 68 of file OvershootSplittingAlgorithm.cc.
References f, lar_content::LArClusterHelper::GetClosestDistance(), lar_content::LArPointingCluster::Vertex::GetDirection(), lar_content::LArPointingCluster::GetInnerVertex(), lar_content::LArPointingClusterHelper::GetIntersection(), lar_content::LArPointingCluster::GetOuterVertex(), lar_content::LArPointingCluster::Vertex::GetPosition(), m_maxClusterSeparation, m_minVertexDisplacement, and lar_content::LArClusterHelper::SortByNHits().
Referenced by FindBestSplitPositions().
|
private |
Use intersection points to decide on splitting points.
slidingFitResultMap | the sliding fit result map |
clusterIntersectionMap | the input map of cluster intersection points |
sortedIntersectionMap | the output map of sorted cluster intersection points |
Definition at line 175 of file OvershootSplittingAlgorithm.cc.
References f, lar_content::TwoDSlidingFitResult::GetLocalPosition(), SortByHitProjection(), and lar_content::LArClusterHelper::SortByNHits().
Referenced by FindBestSplitPositions().
|
privatevirtual |
Determine best split positions based on sliding fit result.
slidingFitResultMap | mapping from clusters to sliding fit results |
clusterSplittingMap | mapping from clusters to split positions |
Implements lar_content::TwoDSlidingFitMultiSplitAlgorithm.
Definition at line 52 of file OvershootSplittingAlgorithm.cc.
References BuildIntersectionMap(), BuildSortedIntersectionMap(), and PopulateSplitPositionMap().
|
privatevirtual |
Populate cluster vector with subset of cluster list, containing clusters judged to be clean.
pClusterList | address of the cluster list |
clusterVector | to receive the populated cluster vector |
Implements lar_content::TwoDSlidingFitMultiSplitAlgorithm.
Definition at line 35 of file OvershootSplittingAlgorithm.cc.
References lar_content::LArClusterHelper::GetLengthSquared(), m_minClusterLength, and lar_content::LArClusterHelper::SortByNHits().
|
private |
Select split positions from sorted list of candidate positions.
sortedIntersectionMap | the input map of candidate split positions |
clusterSplittingMap | the output map of selected split positions |
Definition at line 220 of file OvershootSplittingAlgorithm.cc.
References f, m_maxIntersectDisplacement, m_minSplitDisplacement, SortByHitProjection(), and lar_content::LArClusterHelper::SortByNHits().
Referenced by FindBestSplitPositions().
|
private |
Definition at line 296 of file OvershootSplittingAlgorithm.cc.
References m_maxClusterSeparation, m_maxIntersectDisplacement, m_minClusterLength, m_minSplitDisplacement, m_minVertexDisplacement, and lar_content::TwoDSlidingFitMultiSplitAlgorithm::ReadSettings().
|
staticprivate |
Sort pfos by number of constituent hits.
pLhs | address of first pfo |
pRhs | address of second pfo |
Definition at line 286 of file OvershootSplittingAlgorithm.cc.
Referenced by BuildSortedIntersectionMap(), and PopulateSplitPositionMap().
|
private |
Definition at line 71 of file OvershootSplittingAlgorithm.h.
Referenced by BuildIntersectionMap(), and ReadSettings().
|
private |
Definition at line 73 of file OvershootSplittingAlgorithm.h.
Referenced by PopulateSplitPositionMap(), and ReadSettings().
|
private |
Definition at line 70 of file OvershootSplittingAlgorithm.h.
Referenced by GetListOfCleanClusters(), and ReadSettings().
|
private |
Definition at line 74 of file OvershootSplittingAlgorithm.h.
Referenced by PopulateSplitPositionMap(), and ReadSettings().
|
private |
Definition at line 72 of file OvershootSplittingAlgorithm.h.
Referenced by BuildIntersectionMap(), and ReadSettings().