LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
TwoDTrackSplittingAlgorithm class. More...
#include "TwoDSlidingFitMultiSplitAlgorithm.h"
Public Member Functions | |
TwoDSlidingFitMultiSplitAlgorithm () | |
Default constructor. More... | |
Protected Types | |
typedef std::unordered_map< const pandora::Cluster *, pandora::CartesianPointVector > | ClusterPositionMap |
Protected Member Functions | |
virtual void | GetListOfCleanClusters (const pandora::ClusterList *const pClusterList, pandora::ClusterVector &clusterVector) const =0 |
Populate cluster vector with subset of cluster list, containing clusters judged to be clean. More... | |
virtual void | FindBestSplitPositions (const TwoDSlidingFitResultMap &slidingFitResultMap, ClusterPositionMap &clusterSplittingMap) const =0 |
Determine best split positions based on sliding fit result. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Member Functions | |
pandora::StatusCode | Run () |
void | BuildSlidingFitResultMap (const pandora::ClusterVector &clusterVector, const unsigned int halfWindowLayers, TwoDSlidingFitResultMap &slidingFitResultMap) const |
Build the map of sliding fit results. More... | |
pandora::StatusCode | SplitClusters (const TwoDSlidingFitResultMap &slidingFitResultMap, const ClusterPositionMap &clusterSplittingMap) const |
Split clusters. More... | |
pandora::StatusCode | SplitCluster (const TwoDSlidingFitResult &slidingFitResult, const pandora::CartesianPointVector &splitPositionList) const |
Split cluster. More... | |
Private Attributes | |
unsigned int | m_slidingFitHalfWindow |
std::string | m_inputClusterList |
TwoDTrackSplittingAlgorithm class.
Definition at line 21 of file TwoDSlidingFitMultiSplitAlgorithm.h.
|
protected |
Definition at line 30 of file TwoDSlidingFitMultiSplitAlgorithm.h.
lar_content::TwoDSlidingFitMultiSplitAlgorithm::TwoDSlidingFitMultiSplitAlgorithm | ( | ) |
Default constructor.
Definition at line 21 of file TwoDSlidingFitMultiSplitAlgorithm.cc.
|
private |
Build the map of sliding fit results.
clusterVector | the vector of selected clusters |
halfWindowLayers | the half-window to use for the sliding fits |
slidingFitResultMap | the sliding fit result map |
Definition at line 74 of file TwoDSlidingFitMultiSplitAlgorithm.cc.
References lar_content::LArClusterHelper::GetClusterHitType(), and lar_content::LArGeometryHelper::GetWirePitch().
Referenced by Run().
|
protectedpure virtual |
Determine best split positions based on sliding fit result.
slidingFitResultMap | mapping from clusters to sliding fit results |
clusterSplittingMap | mapping from clusters to split positions |
Implemented in lar_content::OvershootSplittingAlgorithm.
Referenced by Run().
|
protectedpure virtual |
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 |
Implemented in lar_content::OvershootSplittingAlgorithm.
Referenced by Run().
|
protected |
Definition at line 210 of file TwoDSlidingFitMultiSplitAlgorithm.cc.
References m_inputClusterList, and m_slidingFitHalfWindow.
Referenced by lar_content::OvershootSplittingAlgorithm::ReadSettings().
|
private |
Definition at line 29 of file TwoDSlidingFitMultiSplitAlgorithm.cc.
References BuildSlidingFitResultMap(), FindBestSplitPositions(), GetListOfCleanClusters(), m_inputClusterList, m_slidingFitHalfWindow, and SplitClusters().
|
private |
Split cluster.
slidingFitResult | input sliding fit result |
splitPositionList | vector of split positions |
Definition at line 132 of file TwoDSlidingFitMultiSplitAlgorithm.cc.
References f, lar_content::TwoDSlidingFitResult::GetCluster(), lar_content::TwoDSlidingFitResult::GetL(), lar_content::TwoDSlidingFitResult::GetLocalPosition(), and lar_content::TwoDSlidingFitResult::GetMaxLayer().
Referenced by SplitClusters().
|
private |
Split clusters.
slidingFitResultMap | mapping from clusters to sliding fit results |
clusterSplittingMap | mapping from clusters to split positions |
Definition at line 100 of file TwoDSlidingFitMultiSplitAlgorithm.cc.
References lar_content::LArClusterHelper::SortByNHits(), and SplitCluster().
Referenced by Run().
|
private |
Definition at line 80 of file TwoDSlidingFitMultiSplitAlgorithm.h.
Referenced by ReadSettings(), and Run().
|
private |
Definition at line 79 of file TwoDSlidingFitMultiSplitAlgorithm.h.
Referenced by ReadSettings(), and Run().