Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
lar_content::VertexRefinementAlgorithm Class Reference

VertexRefinementAlgorithm class. More...

#include "VertexRefinementAlgorithm.h"

Inheritance diagram for lar_content::VertexRefinementAlgorithm:
Collaboration diagram for lar_content::VertexRefinementAlgorithm:

Public Member Functions

 VertexRefinementAlgorithm ()
 Default constructor.
 
const std::string & GetType () const
 Get the type.
 
const std::string & GetInstanceName () const
 Get the instance name.
 
const PandoraGetPandora () const
 Get the associated pandora instance.
 

Protected Member Functions

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.
 

Protected Attributes

const Pandoram_pPandora
 The pandora object that will run the process.
 
std::string m_type
 The process type.
 
std::string m_instanceName
 The process instance name.
 

Private Member Functions

pandora::StatusCode Run ()
 Run the algorithm.
 
void GetClusterLists (const pandora::StringVector &inputClusterListNames, pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const
 Get the input cluster lists.
 
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.
 
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.
 
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.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 

Private Attributes

pandora::StringVector m_inputClusterListNames
 The list of input cluster list names.
 
std::string m_inputVertexListName
 The initial vertex list.
 
std::string m_outputVertexListName
 The refined vertex list to be outputted.
 
float m_chiSquaredCut
 The maximum chi2 value a refined vertex can have to be kept.
 
float m_distanceCut
 The maximum distance a refined vertex can be from the original position to be kept.
 
unsigned int m_minimumHitsCut
 The minimum size of a cluster to be used in refinement.
 
float m_twoDDistanceCut
 The maximum distance a cluster can be from the original position to be used in refinement.
 

Detailed Description

VertexRefinementAlgorithm class.

Definition at line 19 of file VertexRefinementAlgorithm.h.

Constructor & Destructor Documentation

◆ VertexRefinementAlgorithm()

lar_content::VertexRefinementAlgorithm::VertexRefinementAlgorithm ( )

Default constructor.

Definition at line 24 of file VertexRefinementAlgorithm.cc.

Member Function Documentation

◆ GetBestFitPoint()

void lar_content::VertexRefinementAlgorithm::GetBestFitPoint ( const pandora::CartesianPointVector intercepts,
const pandora::CartesianPointVector directions,
const pandora::FloatVector weights,
pandora::CartesianVector bestFitPoint 
) const
private

Calculate the best fit point of a set of lines using a matrix equation.

Parameters
interceptsthe vector of the defining points of the lines
directionsthe vector of line directions
weightsthe vector of weights for each line
bestFitPointthe resulting best fit point

Definition at line 195 of file VertexRefinementAlgorithm.cc.

Here is the caller graph for this function:

◆ GetClusterLists()

void lar_content::VertexRefinementAlgorithm::GetClusterLists ( const pandora::StringVector inputClusterListNames,
pandora::ClusterList clusterListU,
pandora::ClusterList clusterListV,
pandora::ClusterList clusterListW 
) const
private

Get the input cluster lists.

Parameters
inputClusterListNamesthe input cluster list names
clusterListUthe U-view cluster list to populate
clusterListVthe V-view cluster list to populate
clusterListWthe W-view cluster list to populate

Definition at line 67 of file VertexRefinementAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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.

◆ Initialize()

StatusCode pandora::Process::Initialize ( )
inlineprotectedvirtualinherited

Perform any operations that must occur after reading settings, but before running the process.

Reimplemented in lar_content::BdtBeamParticleIdTool, lar_content::BeamParticleIdTool, lar_content::CosmicRayTaggingTool, lar_content::EventReadingAlgorithm, lar_content::EventWritingAlgorithm, lar_content::LArPseudoLayerPlugin, lar_content::LArRotationalTransformationPlugin, EventReadingAlgorithm, and EventWritingAlgorithm.

Definition at line 126 of file Process.h.

Here is the caller graph for this function:

◆ ReadSettings()

StatusCode lar_content::VertexRefinementAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
privatevirtual

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Definition at line 231 of file VertexRefinementAlgorithm.cc.

Here is the call graph for this function:

◆ RefineVertexTwoD()

CartesianVector lar_content::VertexRefinementAlgorithm::RefineVertexTwoD ( const pandora::ClusterList clusterList,
const pandora::CartesianVector originalVtxPos 
) const
private

Refine the position of a two dimensional projection of a vertex using the clusters in that view.

Parameters
clusterListthe list of two dimensional clusters
originalVtxPosthe original vertex position projected into two dimensions
Returns
the new refined position

Definition at line 157 of file VertexRefinementAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RefineVertices()

void lar_content::VertexRefinementAlgorithm::RefineVertices ( const pandora::VertexList *const  pVertexList,
const pandora::ClusterList clusterListU,
const pandora::ClusterList clusterListV,
const pandora::ClusterList clusterListW 
) const
private

Perform the refinement proceduce on a list of vertices.

Parameters
pVertexListaddress of the vertex list
clusterListUthe list of U-view clusters
clusterListVthe list of V-view clusters
clusterListWthe list of W-view clusters

Definition at line 96 of file VertexRefinementAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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
pPandoraaddress of the pandora object that will run the process
typethe process type
instanceNamethe process instance name

Definition at line 146 of file Process.h.

Here is the caller graph for this function:

◆ Reset()

StatusCode pandora::Process::Reset ( )
inlineprotectedvirtualinherited

Perform any operations when pandora is reset, typically at the end of each event.

Reimplemented in lar_content::MasterAlgorithm, lar_content::PostProcessingAlgorithm, and lar_content::PreProcessingAlgorithm.

Definition at line 133 of file Process.h.

Here is the caller graph for this function:

◆ Run()

StatusCode lar_content::VertexRefinementAlgorithm::Run ( )
privatevirtual

Run the algorithm.

Implements pandora::Algorithm.

Definition at line 34 of file VertexRefinementAlgorithm.cc.

Here is the call graph for this function:

Member Data Documentation

◆ m_chiSquaredCut

float lar_content::VertexRefinementAlgorithm::m_chiSquaredCut
private

The maximum chi2 value a refined vertex can have to be kept.

Definition at line 79 of file VertexRefinementAlgorithm.h.

◆ m_distanceCut

float lar_content::VertexRefinementAlgorithm::m_distanceCut
private

The maximum distance a refined vertex can be from the original position to be kept.

Definition at line 80 of file VertexRefinementAlgorithm.h.

◆ m_inputClusterListNames

pandora::StringVector lar_content::VertexRefinementAlgorithm::m_inputClusterListNames
private

The list of input cluster list names.

Definition at line 75 of file VertexRefinementAlgorithm.h.

◆ m_inputVertexListName

std::string lar_content::VertexRefinementAlgorithm::m_inputVertexListName
private

The initial vertex list.

Definition at line 76 of file VertexRefinementAlgorithm.h.

◆ m_instanceName

std::string pandora::Process::m_instanceName
protectedinherited

The process instance name.

Definition at line 89 of file Process.h.

◆ m_minimumHitsCut

unsigned int lar_content::VertexRefinementAlgorithm::m_minimumHitsCut
private

The minimum size of a cluster to be used in refinement.

Definition at line 81 of file VertexRefinementAlgorithm.h.

◆ m_outputVertexListName

std::string lar_content::VertexRefinementAlgorithm::m_outputVertexListName
private

The refined vertex list to be outputted.

Definition at line 77 of file VertexRefinementAlgorithm.h.

◆ 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_twoDDistanceCut

float lar_content::VertexRefinementAlgorithm::m_twoDDistanceCut
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.

◆ m_type

std::string pandora::Process::m_type
protectedinherited

The process type.

Definition at line 88 of file Process.h.


The documentation for this class was generated from the following files: