Public Member Functions | |
| MinSpanTreeAlg (const fhicl::ParameterSet &) | |
| Constructor. More... | |
| ~MinSpanTreeAlg () | |
| Destructor. More... | |
| void | configure (fhicl::ParameterSet const &pset) override |
| Interface for configuring the particular algorithm tool. More... | |
| void | Cluster3DHits (reco::HitPairList &hitPairList, reco::ClusterParametersList &clusterParametersList) const override |
| Given a set of recob hits, run DBscan to form 3D clusters. More... | |
| void | Cluster3DHits (reco::HitPairListPtr &hitPairList, reco::ClusterParametersList &clusterParametersList) const override |
| Given a set of recob hits, run DBscan to form 3D clusters. More... | |
| float | getTimeToExecute (TimeValues index) const override |
| If monitoring, recover the time to execute a particular function. More... | |
Public Member Functions inherited from lar_cluster3d::IClusterAlg | |
| virtual | ~IClusterAlg () noexcept=default |
| Virtual Destructor. More... | |
Private Types | |
| using | BestNodeTuple = std::tuple< const reco::ClusterHit3D *, float, float > |
| using | BestNodeMap = std::unordered_map< const reco::ClusterHit3D *, BestNodeTuple > |
| using | ChannelStatusVec = std::vector< size_t > |
| define data structure for keeping track of channel status More... | |
| using | ChannelStatusByPlaneVec = std::vector< ChannelStatusVec > |
Private Member Functions | |
| void | RunPrimsAlgorithm (reco::HitPairList &, kdTree::KdTreeNode &, reco::ClusterParametersList &) const |
| Driver for Prim's algorithm. More... | |
| void | PruneAmbiguousHits (reco::ClusterParameters &, reco::Hit2DToClusterMap &) const |
| Prune the obvious ambiguous hits. More... | |
| void | FindBestPathInCluster (reco::ClusterParameters &) const |
| Algorithm to find the best path through the given cluster. More... | |
| reco::HitPairListPtr | DepthFirstSearch (const reco::EdgeTuple &, const reco::Hit3DToEdgeMap &, float &) const |
| a depth first search to find longest branches More... | |
| void | FindBestPathInCluster (reco::ClusterParameters &, kdTree::KdTreeNode &) const |
| Alternative version of FindBestPathInCluster utilizing an A* algorithm. More... | |
| void | AStar (const reco::ClusterHit3D *, const reco::ClusterHit3D *, float alpha, kdTree::KdTreeNode &, reco::ClusterParameters &) const |
| Algorithm to find shortest path between two 3D hits. More... | |
| void | ReconstructBestPath (const reco::ClusterHit3D *, BestNodeMap &, reco::HitPairListPtr &, reco::EdgeList &) const |
| float | DistanceBetweenNodes (const reco::ClusterHit3D *, const reco::ClusterHit3D *) const |
| void | LeastCostPath (const reco::EdgeTuple &, const reco::ClusterHit3D *, reco::ClusterParameters &, float &) const |
| Find the lowest cost path between two nodes using MST edges. More... | |
| void | CheckHitSorting (reco::ClusterParameters &clusterParams) const |
Private Attributes | |
| bool | m_enableMonitoring |
| Data members to follow. More... | |
| std::vector< float > | m_timeVector |
| std::vector< std::vector< float > > | m_wireDir |
| geo::Geometry const * | m_geometry |
| PrincipalComponentsAlg | m_pcaAlg |
| kdTree | m_kdTree |
| std::unique_ptr < lar_cluster3d::IClusterParametersBuilder > | m_clusterBuilder |
| Common cluster builder tool. More... | |
Additional Inherited Members | |
Public Types inherited from lar_cluster3d::IClusterAlg | |
| enum | TimeValues { BUILDTHREEDHITS = 0, BUILDHITTOHITMAP = 1, RUNDBSCAN = 2, BUILDCLUSTERINFO = 3, PATHFINDING = 4, NUMTIMEVALUES } |
| enumerate the possible values for time checking if monitoring timing More... | |
Definition at line 43 of file MinSpanTreeAlg_tool.cc.
|
private |
Definition at line 111 of file MinSpanTreeAlg_tool.cc.
|
private |
Definition at line 110 of file MinSpanTreeAlg_tool.cc.
|
private |
Definition at line 131 of file MinSpanTreeAlg_tool.cc.
|
private |
define data structure for keeping track of channel status
Definition at line 130 of file MinSpanTreeAlg_tool.cc.
|
explicit |
Constructor.
| pset |
Definition at line 148 of file MinSpanTreeAlg_tool.cc.
| lar_cluster3d::MinSpanTreeAlg::~MinSpanTreeAlg | ( | ) |
|
private |
Algorithm to find shortest path between two 3D hits.
Definition at line 533 of file MinSpanTreeAlg_tool.cc.
|
private |
Definition at line 901 of file MinSpanTreeAlg_tool.cc.
|
overridevirtual |
Given a set of recob hits, run DBscan to form 3D clusters.
| hitPairList | The input list of 3D hits to run clustering on |
| hitPairClusterMap | A map of hits that have been clustered |
| clusterParametersList | A list of cluster objects (parameters from associated hits) |
Driver for processing input 2D hits, transforming to 3D hits and building lists of associated 3D hits (candidate 3D clusters)
Implements lar_cluster3d::IClusterAlg.
Definition at line 208 of file MinSpanTreeAlg_tool.cc.
|
inlineoverridevirtual |
Given a set of recob hits, run DBscan to form 3D clusters.
| hitPairListPtr | The input list of 3D hits to run clustering on |
| clusterParametersList | A list of cluster objects (parameters from associated hits) |
Implements lar_cluster3d::IClusterAlg.
Definition at line 70 of file MinSpanTreeAlg_tool.cc.
|
overridevirtual |
Interface for configuring the particular algorithm tool.
| ParameterSet | The input set of parameters for configuration |
Implements lar_cluster3d::IClusterAlg.
Definition at line 163 of file MinSpanTreeAlg_tool.cc.
|
private |
a depth first search to find longest branches
Definition at line 722 of file MinSpanTreeAlg_tool.cc.
|
private |
Definition at line 694 of file MinSpanTreeAlg_tool.cc.
|
private |
Algorithm to find the best path through the given cluster.
Definition at line 376 of file MinSpanTreeAlg_tool.cc.
|
private |
Alternative version of FindBestPathInCluster utilizing an A* algorithm.
Definition at line 442 of file MinSpanTreeAlg_tool.cc.
|
inlineoverridevirtual |
If monitoring, recover the time to execute a particular function.
Implements lar_cluster3d::IClusterAlg.
Definition at line 76 of file MinSpanTreeAlg_tool.cc.
|
private |
Find the lowest cost path between two nodes using MST edges.
Definition at line 641 of file MinSpanTreeAlg_tool.cc.
|
private |
Prune the obvious ambiguous hits.
Definition at line 768 of file MinSpanTreeAlg_tool.cc.
|
private |
Definition at line 620 of file MinSpanTreeAlg_tool.cc.
|
private |
Driver for Prim's algorithm.
Definition at line 254 of file MinSpanTreeAlg_tool.cc.
|
private |
Common cluster builder tool.
Definition at line 145 of file MinSpanTreeAlg_tool.cc.
|
private |
Data members to follow.
Definition at line 136 of file MinSpanTreeAlg_tool.cc.
|
private |
Definition at line 140 of file MinSpanTreeAlg_tool.cc.
|
private |
Definition at line 143 of file MinSpanTreeAlg_tool.cc.
|
private |
Definition at line 142 of file MinSpanTreeAlg_tool.cc.
|
mutableprivate |
Definition at line 137 of file MinSpanTreeAlg_tool.cc.
|
private |
Definition at line 138 of file MinSpanTreeAlg_tool.cc.
1.8.5