LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
EnergyKickVertexSelectionAlgorithm class. More...
#include "EnergyKickVertexSelectionAlgorithm.h"
Public Types | |
typedef std::vector< VertexScore > | VertexScoreList |
typedef std::vector< SlidingFitData > | SlidingFitDataList |
typedef std::vector< ShowerCluster > | ShowerClusterList |
typedef KDTreeNodeInfoT< const pandora::CaloHit *, 2 > | HitKDNode2D |
typedef std::vector< HitKDNode2D > | HitKDNode2DList |
typedef KDTreeLinkerAlgo< const pandora::CaloHit *, 2 > | HitKDTree2D |
typedef std::map< pandora::HitType, const pandora::ClusterList & > | ClusterListMap |
Map array of cluster lists for passing to tools. More... | |
typedef std::map< pandora::HitType, const SlidingFitDataList > | SlidingFitDataListMap |
Map of sliding fit data lists for passing to tools. More... | |
typedef std::map< pandora::HitType, const ShowerClusterList > | ShowerClusterListMap |
Map of shower cluster lists for passing to tools. More... | |
typedef std::map< pandora::HitType, const std::reference_wrapper< HitKDTree2D > > | KDTreeMap |
Map array of hit kd trees for passing to tools. More... | |
typedef MvaFeatureTool< const VertexSelectionBaseAlgorithm *const, const pandora::Vertex *const, const SlidingFitDataListMap &, const ClusterListMap &, const KDTreeMap &, const ShowerClusterListMap &, const float, float & > | VertexFeatureTool |
The base type for the vertex feature tools. More... | |
Public Member Functions | |
EnergyKickVertexSelectionAlgorithm () | |
Default constructor. More... | |
Protected Member Functions | |
virtual void | FilterVertexList (const pandora::VertexList *const pInputVertexList, HitKDTree2D &kdTreeU, HitKDTree2D &kdTreeV, HitKDTree2D &kdTreeW, pandora::VertexVector &filteredVertices) const |
Filter the input list of vertices to obtain a reduced number of vertex candidates. More... | |
virtual void | GetBeamConstants (const pandora::VertexVector &vertexVector, BeamConstants &beamConstants) const |
Get the beam score constants for a provided list of candidate vertices. More... | |
void | GetClusterLists (const pandora::StringVector &inputClusterListNames, pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const |
Get the cluster lists. More... | |
void | CalculateClusterSlidingFits (const pandora::ClusterList &inputClusterList, const unsigned int minClusterCaloHits, const unsigned int slidingFitWindow, SlidingFitDataList &slidingFitDataList) const |
Calculate the cluster sliding fits. More... | |
float | GetBeamDeweightingScore (const BeamConstants &beamConstants, const pandora::Vertex *const pVertex) const |
Get the beam deweighting score for a vertex. More... | |
bool | IsBeamModeOn () const |
Whether algorithm is running in beam mode, assuming neutrinos travel in positive z-direction. More... | |
float | GetVertexEnergy (const pandora::Vertex *const pVertex, const KDTreeMap &kdTreeMap) const |
Calculate the energy of a vertex candidate by summing values from all three planes. More... | |
float | VertexHitEnergy (const pandora::Vertex *const pVertex, const pandora::HitType hitType, HitKDTree2D &kdTree) const |
Finds the energy of the nearest hit to the vertex candidate in this view. More... | |
Private Member Functions | |
void | GetVertexScoreList (const pandora::VertexVector &vertexVector, const BeamConstants &beamConstants, HitKDTree2D &kdTreeU, HitKDTree2D &kdTreeV, HitKDTree2D &kdTreeW, VertexScoreList &vertexScoreList) const |
Get the vertex score list for a provided list of candidate vertices. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
VertexFeatureTool::FeatureToolVector | m_featureToolVector |
The feature tool map. More... | |
pandora::StringVector | m_inputClusterListNames |
The list of cluster list names. More... | |
unsigned int | m_minClusterCaloHits |
The min number of hits parameter in the energy score. More... | |
unsigned int | m_slidingFitWindow |
The layer window for the sliding linear fits. More... | |
float | m_epsilon |
The epsilon parameter in the energy score. More... | |
float | m_asymmetryConstant |
The asymmetry constant parameter in the energy score. More... | |
EnergyKickVertexSelectionAlgorithm class.
Definition at line 19 of file EnergyKickVertexSelectionAlgorithm.h.
|
inherited |
Map array of cluster lists for passing to tools.
Definition at line 227 of file VertexSelectionBaseAlgorithm.h.
|
inherited |
Definition at line 223 of file VertexSelectionBaseAlgorithm.h.
|
inherited |
Definition at line 224 of file VertexSelectionBaseAlgorithm.h.
|
inherited |
Definition at line 225 of file VertexSelectionBaseAlgorithm.h.
|
inherited |
Map array of hit kd trees for passing to tools.
Definition at line 230 of file VertexSelectionBaseAlgorithm.h.
|
inherited |
Definition at line 221 of file VertexSelectionBaseAlgorithm.h.
|
inherited |
Map of shower cluster lists for passing to tools.
Definition at line 229 of file VertexSelectionBaseAlgorithm.h.
|
inherited |
Definition at line 175 of file VertexSelectionBaseAlgorithm.h.
|
inherited |
Map of sliding fit data lists for passing to tools.
Definition at line 228 of file VertexSelectionBaseAlgorithm.h.
|
inherited |
The base type for the vertex feature tools.
Definition at line 234 of file VertexSelectionBaseAlgorithm.h.
|
inherited |
Definition at line 82 of file VertexSelectionBaseAlgorithm.h.
lar_content::EnergyKickVertexSelectionAlgorithm::EnergyKickVertexSelectionAlgorithm | ( | ) |
Default constructor.
Definition at line 22 of file EnergyKickVertexSelectionAlgorithm.cc.
|
protectedinherited |
Calculate the cluster sliding fits.
inputClusterList | the input cluster list |
minClusterCaloHits | the minimum number of cluster calo hits |
slidingFitWindow | the sliding fit window |
slidingFitDataList | the list of sliding fits to fill |
Definition at line 120 of file VertexSelectionBaseAlgorithm.cc.
References lar_content::LArGeometryHelper::GetWireZPitch(), and lar_content::LArClusterHelper::SortByNHits().
Referenced by GetVertexScoreList(), and lar_content::MvaVertexSelectionAlgorithm< T >::GetVertexScoreList().
|
protectedvirtualinherited |
Filter the input list of vertices to obtain a reduced number of vertex candidates.
pInputVertexList | the address of the input vertex list |
kdTreeU | the kd tree for u hits |
kdTreeV | the kd tree for v hits |
kdTreeW | the kd tree for w hits |
filteredVertices | to receive the filtered vertex list |
Definition at line 40 of file VertexSelectionBaseAlgorithm.cc.
References lar_content::KDTreeLinkerAlgo< DATA, DIM >::empty(), lar_content::VertexSelectionBaseAlgorithm::IsVertexInGap(), lar_content::VertexSelectionBaseAlgorithm::IsVertexOnHit(), lar_content::VertexSelectionBaseAlgorithm::m_isEmptyViewAcceptable, lar_content::VertexSelectionBaseAlgorithm::m_minVertexAcceptableViews, and lar_content::VertexSelectionBaseAlgorithm::SortByVertexZPosition().
Referenced by lar_content::VertexSelectionBaseAlgorithm::Run().
|
protectedvirtualinherited |
Get the beam score constants for a provided list of candidate vertices.
vertexVector | the vertex vector |
beamConstants | to receive the beam constants |
Definition at line 65 of file VertexSelectionBaseAlgorithm.cc.
References f, lar_content::VertexSelectionBaseAlgorithm::m_beamMode, lar_content::VertexSelectionBaseAlgorithm::m_nDecayLengthsInZSpan, and lar_content::VertexSelectionBaseAlgorithm::BeamConstants::SetConstants().
Referenced by lar_content::VertexSelectionBaseAlgorithm::Run().
|
inlineprotectedinherited |
Get the beam deweighting score for a vertex.
beamConstants | the beam constants |
pVertex | address of the vertex |
Definition at line 419 of file VertexSelectionBaseAlgorithm.h.
References lar_content::VertexSelectionBaseAlgorithm::BeamConstants::GetDecayConstant(), and lar_content::VertexSelectionBaseAlgorithm::BeamConstants::GetMinZCoordinate().
Referenced by GetVertexScoreList(), and lar_content::TrainedVertexSelectionAlgorithm::PopulateVertexFeatureInfoMap().
|
protectedinherited |
Get the 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 91 of file VertexSelectionBaseAlgorithm.cc.
References lar_content::LArClusterHelper::GetClusterHitType().
Referenced by GetVertexScoreList(), and lar_content::MvaVertexSelectionAlgorithm< T >::GetVertexScoreList().
|
protectedinherited |
Calculate the energy of a vertex candidate by summing values from all three planes.
pVertex | the address of the vertex |
kdTreeMap | the map of 2D hit kd trees |
Definition at line 243 of file VertexSelectionBaseAlgorithm.cc.
References f, lar_content::VertexSelectionBaseAlgorithm::IsVertexInGap(), and lar_content::VertexSelectionBaseAlgorithm::VertexHitEnergy().
Referenced by lar_content::TrainedVertexSelectionAlgorithm::PopulateVertexFeatureInfoMap().
|
privatevirtual |
Get the vertex score list for a provided list of candidate vertices.
vertexVector | the vertex vector |
beamConstants | the beam constants |
kdTreeU | the kd tree for u hits |
kdTreeV | the kd tree for v hits |
kdTreeW | the kd tree for w hits |
vertexScoreList | to receive the vertex score list |
Implements lar_content::VertexSelectionBaseAlgorithm.
Definition at line 32 of file EnergyKickVertexSelectionAlgorithm.cc.
References lar_content::VertexSelectionBaseAlgorithm::CalculateClusterSlidingFits(), f, Get, lar_content::VertexSelectionBaseAlgorithm::GetBeamDeweightingScore(), lar_content::VertexSelectionBaseAlgorithm::GetClusterLists(), lar_content::VertexSelectionBaseAlgorithm::IsBeamModeOn(), m_asymmetryConstant, m_epsilon, m_featureToolVector, m_inputClusterListNames, m_minClusterCaloHits, and m_slidingFitWindow.
|
inlineprotectedinherited |
Whether algorithm is running in beam mode, assuming neutrinos travel in positive z-direction.
Definition at line 427 of file VertexSelectionBaseAlgorithm.h.
References lar_content::VertexSelectionBaseAlgorithm::m_beamMode.
Referenced by lar_content::TrainedVertexSelectionAlgorithm::AddEventFeaturesToVector(), lar_content::TrainedVertexSelectionAlgorithm::AddVertexFeaturesToVector(), GetVertexScoreList(), and lar_content::TrainedVertexSelectionAlgorithm::PopulateVertexFeatureInfoMap().
|
private |
Definition at line 72 of file EnergyKickVertexSelectionAlgorithm.cc.
References lar_content::LArMvaHelper::AddFeatureToolToVector(), m_asymmetryConstant, m_epsilon, m_featureToolVector, m_inputClusterListNames, m_minClusterCaloHits, m_slidingFitWindow, and lar_content::VertexSelectionBaseAlgorithm::ReadSettings().
|
protectedinherited |
Finds the energy of the nearest hit to the vertex candidate in this view.
pVertex | the address of the vertex |
hitType | the relevant hit type |
kdTree | the kd tree of 2D hits |
Definition at line 261 of file VertexSelectionBaseAlgorithm.cc.
References lar_content::build_2d_kd_search_region(), energy, lar_content::VertexSelectionBaseAlgorithm::m_maxOnHitDisplacement, lar_content::LArGeometryHelper::ProjectPosition(), and lar_content::KDTreeLinkerAlgo< DATA, DIM >::search().
Referenced by lar_content::VertexSelectionBaseAlgorithm::GetVertexEnergy().
|
private |
The asymmetry constant parameter in the energy score.
Definition at line 39 of file EnergyKickVertexSelectionAlgorithm.h.
Referenced by GetVertexScoreList(), and ReadSettings().
|
private |
The epsilon parameter in the energy score.
Definition at line 38 of file EnergyKickVertexSelectionAlgorithm.h.
Referenced by GetVertexScoreList(), and ReadSettings().
|
private |
The feature tool map.
Definition at line 33 of file EnergyKickVertexSelectionAlgorithm.h.
Referenced by GetVertexScoreList(), and ReadSettings().
|
private |
The list of cluster list names.
Definition at line 35 of file EnergyKickVertexSelectionAlgorithm.h.
Referenced by GetVertexScoreList(), and ReadSettings().
|
private |
The min number of hits parameter in the energy score.
Definition at line 36 of file EnergyKickVertexSelectionAlgorithm.h.
Referenced by GetVertexScoreList(), and ReadSettings().
|
private |
The layer window for the sliding linear fits.
Definition at line 37 of file EnergyKickVertexSelectionAlgorithm.h.
Referenced by GetVertexScoreList(), and ReadSettings().