LArSoft
v09_90_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().