![]() |
LArSoft
v10_06_00
Liquid Argon Software toolkit - https://larsoft.org/
|
VertexRefinementAlgorithm class. More...
#include "VertexRefinementAlgorithm.h"
Public Member Functions | |
| VertexRefinementAlgorithm () | |
| Default constructor. More... | |
Private Member Functions | |
| pandora::StatusCode | Run () |
| void | GetClusterLists (const pandora::StringVector &inputClusterListNames, pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const |
| Get the input cluster lists. More... | |
| void | RefineVertices (const pandora::VertexList *const pVertexList, const pandora::ClusterList &clusterListU, const pandora::ClusterList &clusterListV, const pandora::ClusterList &clusterListW) const |
| Perform the refinement proceduce on a list of vertices. More... | |
| pandora::CartesianVector | RefineVertexTwoD (const pandora::ClusterList &clusterList, const pandora::CartesianVector &originalVtxPos) const |
| Refine the position of a two dimensional projection of a vertex using the clusters in that view. More... | |
| void | GetBestFitPoint (const pandora::CartesianPointVector &intercepts, const pandora::CartesianPointVector &directions, const pandora::FloatVector &weights, pandora::CartesianVector &bestFitPoint) const |
| Calculate the best fit point of a set of lines using a matrix equation. More... | |
| pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
| pandora::StringVector | m_inputClusterListNames |
| The list of input cluster list names. More... | |
| std::string | m_inputVertexListName |
| The initial vertex list. More... | |
| std::string | m_outputVertexListName |
| The refined vertex list to be outputted. More... | |
| float | m_chiSquaredCut |
| The maximum chi2 value a refined vertex can have to be kept. More... | |
| float | m_distanceCut |
| The maximum distance a refined vertex can be from the original position to be kept. More... | |
| unsigned int | m_minimumHitsCut |
| The minimum size of a cluster to be used in refinement. More... | |
| float | m_twoDDistanceCut |
| The maximum distance a cluster can be from the original position to be used in refinement. More... | |
VertexRefinementAlgorithm class.
Definition at line 19 of file VertexRefinementAlgorithm.h.
| lar_content::VertexRefinementAlgorithm::VertexRefinementAlgorithm | ( | ) |
Default constructor.
Definition at line 24 of file VertexRefinementAlgorithm.cc.
|
private |
Calculate the best fit point of a set of lines using a matrix equation.
| intercepts | the vector of the defining points of the lines |
| directions | the vector of line directions |
| weights | the vector of weights for each line |
| bestFitPoint | the resulting best fit point |
Definition at line 195 of file VertexRefinementAlgorithm.cc.
Referenced by RefineVertexTwoD().
|
private |
Get the input cluster lists.
| inputClusterListNames | the input cluster list names |
| clusterListU | the U-view cluster list to populate |
| clusterListV | the V-view cluster list to populate |
| clusterListW | the W-view cluster list to populate |
Definition at line 67 of file VertexRefinementAlgorithm.cc.
References lar_content::LArClusterHelper::GetClusterHitType().
Referenced by Run().
|
private |
Definition at line 231 of file VertexRefinementAlgorithm.cc.
References m_chiSquaredCut, m_distanceCut, m_inputClusterListNames, m_inputVertexListName, m_minimumHitsCut, m_outputVertexListName, and m_twoDDistanceCut.
|
private |
Refine the position of a two dimensional projection of a vertex using the clusters in that view.
| clusterList | the list of two dimensional clusters |
| originalVtxPos | the original vertex position projected into two dimensions |
Definition at line 157 of file VertexRefinementAlgorithm.cc.
References f, GetBestFitPoint(), lar_content::LArClusterHelper::GetClosestDistance(), lar_content::LArClusterHelper::GetClosestPosition(), lar_content::LArClusterHelper::GetCoordinateVector(), m_minimumHitsCut, m_twoDDistanceCut, and lar_content::LArPcaHelper::RunPca().
Referenced by RefineVertices().
|
private |
Perform the refinement proceduce on a list of vertices.
| pVertexList | address of the vertex list |
| clusterListU | the list of U-view clusters |
| clusterListV | the list of V-view clusters |
| clusterListW | the list of W-view clusters |
Definition at line 96 of file VertexRefinementAlgorithm.cc.
References f, m_chiSquaredCut, m_distanceCut, lar_content::LArGeometryHelper::MergeThreePositions3D(), lar_content::LArGeometryHelper::MergeTwoPositions3D(), lar_content::LArGeometryHelper::ProjectPosition(), and RefineVertexTwoD().
Referenced by Run().
|
private |
Definition at line 34 of file VertexRefinementAlgorithm.cc.
References GetClusterLists(), m_inputClusterListNames, m_outputVertexListName, and RefineVertices().
|
private |
The maximum chi2 value a refined vertex can have to be kept.
Definition at line 79 of file VertexRefinementAlgorithm.h.
Referenced by ReadSettings(), and RefineVertices().
|
private |
The maximum distance a refined vertex can be from the original position to be kept.
Definition at line 80 of file VertexRefinementAlgorithm.h.
Referenced by ReadSettings(), and RefineVertices().
|
private |
The list of input cluster list names.
Definition at line 75 of file VertexRefinementAlgorithm.h.
Referenced by ReadSettings(), and Run().
|
private |
The initial vertex list.
Definition at line 76 of file VertexRefinementAlgorithm.h.
Referenced by ReadSettings().
|
private |
The minimum size of a cluster to be used in refinement.
Definition at line 81 of file VertexRefinementAlgorithm.h.
Referenced by ReadSettings(), and RefineVertexTwoD().
|
private |
The refined vertex list to be outputted.
Definition at line 77 of file VertexRefinementAlgorithm.h.
Referenced by ReadSettings(), and Run().
|
private |
The maximum distance a cluster can be from the original position to be used in refinement.
Definition at line 82 of file VertexRefinementAlgorithm.h.
Referenced by ReadSettings(), and RefineVertexTwoD().