8 #ifndef LAR_OVERSHOOT_SPLITTING_ALGORITHM_H 9 #define LAR_OVERSHOOT_SPLITTING_ALGORITHM_H 1 66 static bool SortByHitProjection(
const MyTrajectoryPoint &lhs,
const MyTrajectoryPoint &rhs);
68 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
79 #endif // #ifndef LAR_OVERSHOOT_SPLITTING_ALGORITHM_H
float m_maxClusterSeparation
OvershootSplittingAlgorithm()
Default constructor.
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...
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
std::unordered_map< const pandora::Cluster *, pandora::CartesianPointVector > ClusterPositionMap
float m_maxIntersectDisplacement
float m_minVertexDisplacement
void BuildIntersectionMap(const TwoDSlidingFitResultMap &slidingFitResultMap, ClusterPositionMap &clusterIntersectionMap) const
Use sliding fit results to calculate intersections of clusters.
std::unordered_map< const pandora::Cluster *, TwoDSlidingFitResult > TwoDSlidingFitResultMap
OvershootSplittingAlgorithm class.
void FindBestSplitPositions(const TwoDSlidingFitResultMap &slidingFitResultMap, ClusterPositionMap &clusterSplittingMap) const
Determine best split positions based on sliding fit result.
TwoDTrackSplittingAlgorithm class.
std::vector< MyTrajectoryPoint > MyTrajectoryPointList
float m_minSplitDisplacement
Header file for the 2D sliding fit multi-split algorithm class.
std::pair< float, pandora::CartesianVector > MyTrajectoryPoint
static bool SortByHitProjection(const MyTrajectoryPoint &lhs, const MyTrajectoryPoint &rhs)
Sort pfos by number of constituent hits.
std::vector< art::Ptr< recob::Cluster > > ClusterVector
void PopulateSplitPositionMap(const ClusterPositionMap &sortedIntersectionMap, ClusterPositionMap &clusterSplittingMap) const
Select split positions from sorted list of candidate positions.
void BuildSortedIntersectionMap(const TwoDSlidingFitResultMap &slidingFitResultMap, const ClusterPositionMap &clusterIntersectionMap, ClusterPositionMap &sortedIntersectionMap) const
Use intersection points to decide on splitting points.