EnergyKickVertexSelectionAlgorithm class.
More...
#include "EnergyKickVertexSelectionAlgorithm.h"
|
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.
|
|
typedef std::map< pandora::HitType, const SlidingFitDataList > | SlidingFitDataListMap |
| Map of sliding fit data lists for passing to tools.
|
|
typedef std::map< pandora::HitType, const ShowerClusterList > | ShowerClusterListMap |
| Map of shower cluster lists for passing to tools.
|
|
typedef std::map< pandora::HitType, const std::reference_wrapper< HitKDTree2D > > | KDTreeMap |
| Map array of hit kd trees for passing to tools.
|
|
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.
|
|
|
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.
|
|
virtual void | GetBeamConstants (const pandora::VertexVector &vertexVector, BeamConstants &beamConstants) const |
| Get the beam score constants for a provided list of candidate vertices.
|
|
void | GetClusterLists (const pandora::StringVector &inputClusterListNames, pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const |
| Get the cluster lists.
|
|
void | CalculateClusterSlidingFits (const pandora::ClusterList &inputClusterList, const unsigned int minClusterCaloHits, const unsigned int slidingFitWindow, SlidingFitDataList &slidingFitDataList) const |
| Calculate the cluster sliding fits.
|
|
float | GetBeamDeweightingScore (const BeamConstants &beamConstants, const pandora::Vertex *const pVertex) const |
| Get the beam deweighting score for a vertex.
|
|
bool | IsBeamModeOn () const |
| Whether algorithm is running in beam mode, assuming neutrinos travel in positive z-direction.
|
|
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.
|
|
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.
|
|
virtual StatusCode | Initialize () |
| Perform any operations that must occur after reading settings, but before running the process.
|
|
virtual StatusCode | Reset () |
| Perform any operations when pandora is reset, typically at the end of each event.
|
|
StatusCode | RegisterDetails (const Pandora *const pPandora, const std::string &type, const std::string &instanceName) |
| Register i) the pandora instance that will run the process and ii) the process type.
|
|
|
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.
|
|
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
| Read the algorithm settings.
|
|
pandora::StatusCode | Run () |
| Run the algorithm.
|
|
void | InitializeKDTrees (HitKDTree2D &kdTreeU, HitKDTree2D &kdTreeV, HitKDTree2D &kdTreeW) const |
| Initialize kd trees with details of hits in algorithm-configured cluster lists.
|
|
bool | IsVertexOnHit (const pandora::Vertex *const pVertex, const pandora::HitType hitType, HitKDTree2D &kdTree) const |
| Whether the vertex lies on a hit in the specified view.
|
|
bool | IsVertexInGap (const pandora::Vertex *const pVertex, const pandora::HitType hitType) const |
| Whether the vertex lies in a registered gap.
|
|
void | SelectTopScoreVertices (VertexScoreList &vertexScoreList, pandora::VertexList &selectedVertexList) const |
| From the top-scoring candidate vertices, select a subset for further investigation.
|
|
bool | AcceptVertexLocation (const pandora::Vertex *const pVertex, const pandora::VertexList &selectedVertexList) const |
| Whether to accept a candidate vertex, based on its spatial position in relation to other selected candidates.
|
|
◆ ClusterListMap
◆ HitKDNode2D
◆ HitKDNode2DList
◆ HitKDTree2D
◆ KDTreeMap
◆ ShowerClusterList
◆ ShowerClusterListMap
◆ SlidingFitDataList
◆ SlidingFitDataListMap
◆ VertexFeatureTool
◆ VertexScoreList
◆ EnergyKickVertexSelectionAlgorithm()
lar_content::EnergyKickVertexSelectionAlgorithm::EnergyKickVertexSelectionAlgorithm |
( |
| ) |
|
◆ AcceptVertexLocation()
Whether to accept a candidate vertex, based on its spatial position in relation to other selected candidates.
- Parameters
-
pVertex | the address of the vertex |
selectedVertexList | the selected vertex list |
- Returns
- boolean
Definition at line 314 of file VertexSelectionBaseAlgorithm.cc.
◆ CalculateClusterSlidingFits()
void lar_content::VertexSelectionBaseAlgorithm::CalculateClusterSlidingFits |
( |
const pandora::ClusterList & |
inputClusterList, |
|
|
const unsigned int |
minClusterCaloHits, |
|
|
const unsigned int |
slidingFitWindow, |
|
|
SlidingFitDataList & |
slidingFitDataList |
|
) |
| const |
|
protectedinherited |
Calculate the cluster sliding fits.
- Parameters
-
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.
◆ FilterVertexList()
|
protectedvirtualinherited |
Filter the input list of vertices to obtain a reduced number of vertex candidates.
- Parameters
-
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.
◆ GetBeamConstants()
|
protectedvirtualinherited |
Get the beam score constants for a provided list of candidate vertices.
- Parameters
-
vertexVector | the vertex vector |
beamConstants | to receive the beam constants |
Definition at line 65 of file VertexSelectionBaseAlgorithm.cc.
◆ GetBeamDeweightingScore()
float lar_content::VertexSelectionBaseAlgorithm::GetBeamDeweightingScore |
( |
const BeamConstants & |
beamConstants, |
|
|
const pandora::Vertex *const |
pVertex |
|
) |
| const |
|
inlineprotectedinherited |
Get the beam deweighting score for a vertex.
- Parameters
-
beamConstants | the beam constants |
pVertex | address of the vertex |
- Returns
- the score
Definition at line 419 of file VertexSelectionBaseAlgorithm.h.
◆ GetClusterLists()
Get the cluster lists.
- Parameters
-
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.
◆ GetInstanceName()
const std::string & pandora::Process::GetInstanceName |
( |
| ) |
const |
|
inlineinherited |
Get the instance name.
- Returns
- The instance name
Definition at line 109 of file Process.h.
◆ GetPandora()
const Pandora & pandora::Process::GetPandora |
( |
| ) |
const |
|
inlineinherited |
Get the associated pandora instance.
- Returns
- the associated pandora instance
Definition at line 116 of file Process.h.
◆ GetType()
const std::string & pandora::Process::GetType |
( |
| ) |
const |
|
inlineinherited |
Get the type.
- Returns
- The type
Definition at line 102 of file Process.h.
◆ GetVertexEnergy()
float lar_content::VertexSelectionBaseAlgorithm::GetVertexEnergy |
( |
const pandora::Vertex *const |
pVertex, |
|
|
const KDTreeMap & |
kdTreeMap |
|
) |
| const |
|
protectedinherited |
Calculate the energy of a vertex candidate by summing values from all three planes.
- Parameters
-
pVertex | the address of the vertex |
kdTreeMap | the map of 2D hit kd trees |
- Returns
- the summed vertex energy
Definition at line 243 of file VertexSelectionBaseAlgorithm.cc.
◆ GetVertexScoreList()
Get the vertex score list for a provided list of candidate vertices.
- Parameters
-
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.
◆ Initialize()
|
inlineprotectedvirtualinherited |
◆ InitializeKDTrees()
Initialize kd trees with details of hits in algorithm-configured cluster lists.
- Parameters
-
kdTreeU | the kd tree for u hits |
kdTreeV | the kd tree for v hits |
kdTreeW | the kd tree for w hits |
Definition at line 186 of file VertexSelectionBaseAlgorithm.cc.
◆ IsBeamModeOn()
bool lar_content::VertexSelectionBaseAlgorithm::IsBeamModeOn |
( |
| ) |
const |
|
inlineprotectedinherited |
Whether algorithm is running in beam mode, assuming neutrinos travel in positive z-direction.
- Returns
- boolean
Definition at line 427 of file VertexSelectionBaseAlgorithm.h.
◆ IsVertexInGap()
Whether the vertex lies in a registered gap.
- Parameters
-
pVertex | the address of the vertex |
hitType | the relevant hit type |
- Returns
- boolean
Definition at line 233 of file VertexSelectionBaseAlgorithm.cc.
◆ IsVertexOnHit()
Whether the vertex lies on a hit in the specified view.
- Parameters
-
pVertex | the address of the vertex |
hitType | the relevant hit type |
kdTree | the relevant kd tree |
- Returns
- boolean
Definition at line 220 of file VertexSelectionBaseAlgorithm.cc.
◆ ReadSettings()
◆ RegisterDetails()
StatusCode pandora::Process::RegisterDetails |
( |
const Pandora *const |
pPandora, |
|
|
const std::string & |
type, |
|
|
const std::string & |
instanceName |
|
) |
| |
|
inlineprotectedinherited |
Register i) the pandora instance that will run the process and ii) the process type.
- Parameters
-
pPandora | address of the pandora object that will run the process |
type | the process type |
instanceName | the process instance name |
Definition at line 146 of file Process.h.
◆ Reset()
|
inlineprotectedvirtualinherited |
◆ Run()
StatusCode lar_content::VertexSelectionBaseAlgorithm::Run |
( |
| ) |
|
|
privatevirtualinherited |
◆ SelectTopScoreVertices()
From the top-scoring candidate vertices, select a subset for further investigation.
- Parameters
-
vertexScoreList | the vertex score list |
selectedVertexList | to receive the selected vertex list |
Definition at line 286 of file VertexSelectionBaseAlgorithm.cc.
◆ SortByVertexZPosition()
Sort vertices by increasing z position.
- Parameters
-
pLhs | address of the lhs vertex |
pRhs | address of the rhs vertex |
- Returns
- whether lhs should precedes rhs
Definition at line 333 of file VertexSelectionBaseAlgorithm.cc.
◆ VertexHitEnergy()
Finds the energy of the nearest hit to the vertex candidate in this view.
- Parameters
-
pVertex | the address of the vertex |
hitType | the relevant hit type |
kdTree | the kd tree of 2D hits |
- Returns
- the energy of the nearest hit
Definition at line 261 of file VertexSelectionBaseAlgorithm.cc.
◆ m_asymmetryConstant
float lar_content::EnergyKickVertexSelectionAlgorithm::m_asymmetryConstant |
|
private |
◆ m_beamMode
bool lar_content::VertexSelectionBaseAlgorithm::m_beamMode |
|
privateinherited |
◆ m_epsilon
float lar_content::EnergyKickVertexSelectionAlgorithm::m_epsilon |
|
private |
◆ m_featureToolVector
◆ m_gapTolerance
float lar_content::VertexSelectionBaseAlgorithm::m_gapTolerance |
|
privateinherited |
◆ m_inputCaloHitListNames
◆ m_inputClusterListNames
◆ m_instanceName
std::string pandora::Process::m_instanceName |
|
protectedinherited |
The process instance name.
Definition at line 89 of file Process.h.
◆ m_isEmptyViewAcceptable
bool lar_content::VertexSelectionBaseAlgorithm::m_isEmptyViewAcceptable |
|
privateinherited |
◆ m_maxOnHitDisplacement
float lar_content::VertexSelectionBaseAlgorithm::m_maxOnHitDisplacement |
|
privateinherited |
◆ m_maxTopScoreSelections
unsigned int lar_content::VertexSelectionBaseAlgorithm::m_maxTopScoreSelections |
|
privateinherited |
◆ m_minCandidateDisplacement
float lar_content::VertexSelectionBaseAlgorithm::m_minCandidateDisplacement |
|
privateinherited |
◆ m_minCandidateScoreFraction
float lar_content::VertexSelectionBaseAlgorithm::m_minCandidateScoreFraction |
|
privateinherited |
◆ m_minClusterCaloHits
unsigned int lar_content::EnergyKickVertexSelectionAlgorithm::m_minClusterCaloHits |
|
private |
◆ m_minVertexAcceptableViews
unsigned int lar_content::VertexSelectionBaseAlgorithm::m_minVertexAcceptableViews |
|
privateinherited |
The minimum number of views in which a candidate must sit on/near a hit or in a gap (or view can be empty)
Definition at line 414 of file VertexSelectionBaseAlgorithm.h.
◆ m_nDecayLengthsInZSpan
float lar_content::VertexSelectionBaseAlgorithm::m_nDecayLengthsInZSpan |
|
privateinherited |
◆ m_outputVertexListName
std::string lar_content::VertexSelectionBaseAlgorithm::m_outputVertexListName |
|
privateinherited |
◆ m_pPandora
const Pandora* pandora::Process::m_pPandora |
|
protectedinherited |
The pandora object that will run the process.
Definition at line 87 of file Process.h.
◆ m_replaceCurrentVertexList
bool lar_content::VertexSelectionBaseAlgorithm::m_replaceCurrentVertexList |
|
privateinherited |
◆ m_selectSingleVertex
bool lar_content::VertexSelectionBaseAlgorithm::m_selectSingleVertex |
|
privateinherited |
◆ m_slidingFitWindow
unsigned int lar_content::EnergyKickVertexSelectionAlgorithm::m_slidingFitWindow |
|
private |
◆ m_type
std::string pandora::Process::m_type |
|
protectedinherited |
The process type.
Definition at line 88 of file Process.h.
◆ m_useDetectorGaps
bool lar_content::VertexSelectionBaseAlgorithm::m_useDetectorGaps |
|
privateinherited |
The documentation for this class was generated from the following files: