Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
lar_content::CosmicRayBaseMatchingAlgorithm Class Referenceabstract

CosmicRayBaseMatchingAlgorithm class. More...

#include "CosmicRayBaseMatchingAlgorithm.h"

Inheritance diagram for lar_content::CosmicRayBaseMatchingAlgorithm:
Collaboration diagram for lar_content::CosmicRayBaseMatchingAlgorithm:

Classes

class  Particle
 Particle class. More...
 

Public Member Functions

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 Types

typedef std::vector< ParticleParticleList
 
typedef std::unordered_map< const pandora::Cluster *, pandora::ClusterListClusterAssociationMap
 
typedef std::set< unsigned int > UIntSet
 

Protected Member Functions

pandora::StatusCode Run ()
 Run the algorithm.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 
virtual void SelectCleanClusters (const pandora::ClusterVector &inputVector, pandora::ClusterVector &outputVector) const =0
 Select a set of clusters judged to be clean.
 
virtual bool MatchClusters (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2) const =0
 Match a pair of clusters from two views.
 
virtual bool CheckMatchedClusters3D (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const pandora::Cluster *const pCluster3) const =0
 Check that three clusters have a consistent 3D position.
 
virtual void SetPfoParameters (const CosmicRayBaseMatchingAlgorithm::Particle &protoParticle, PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const =0
 Calculate Pfo properties from proto particle.
 
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 GetAvailableClusters (const std::string inputClusterListName, pandora::ClusterVector &clusterVector) const
 Get a vector of available clusters.
 
void MatchClusters (const pandora::ClusterVector &clusterVector1, const pandora::ClusterVector &clusterVector2, CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap &matchedClusters12) const
 Match sets of clusters from two views.
 
void MatchThreeViews (const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap &matchedClusters12, const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap &matchedClusters23, const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap &matchedClusters31, ParticleList &particleList) const
 Match clusters from three views and form into particles.
 
void MatchTwoViews (const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap &matchedClusters12, const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap &matchedClusters23, const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap &matchedClusters31, ParticleList &particleList) const
 Match clusters from two views and form into particles.
 
void MatchTwoViews (const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap &matchedClusters12, ParticleList &particleList) const
 Match clusters from two views and form into particles.
 
void ResolveAmbiguities (const ParticleList &inputList, ParticleList &outputList) const
 Remove ambiguities between candidate particles.
 
void BuildParticles (const ParticleList &particleList)
 Build PFO objects from candidate particles.
 

Private Attributes

std::string m_inputClusterListNameU
 The name of the view U cluster list.
 
std::string m_inputClusterListNameV
 The name of the view V cluster list.
 
std::string m_inputClusterListNameW
 The name of the view W cluster list.
 
std::string m_outputPfoListName
 The name of the output PFO list.
 

Detailed Description

Member Typedef Documentation

◆ ClusterAssociationMap

◆ ParticleList

◆ UIntSet

typedef std::set<unsigned int> lar_content::CosmicRayBaseMatchingAlgorithm::UIntSet
protected

Definition at line 50 of file CosmicRayBaseMatchingAlgorithm.h.

Member Function Documentation

◆ BuildParticles()

void lar_content::CosmicRayBaseMatchingAlgorithm::BuildParticles ( const ParticleList particleList)
private

Build PFO objects from candidate particles.

Parameters
particleListthe input list of particles

Definition at line 248 of file CosmicRayBaseMatchingAlgorithm.cc.

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

◆ CheckMatchedClusters3D()

virtual bool lar_content::CosmicRayBaseMatchingAlgorithm::CheckMatchedClusters3D ( const pandora::Cluster *const  pCluster1,
const pandora::Cluster *const  pCluster2,
const pandora::Cluster *const  pCluster3 
) const
protectedpure virtual

Check that three clusters have a consistent 3D position.

Parameters
pCluster1the cluster from the first view
pCluster2the cluster from the second view
pCluster3the cluster from the third view
Returns
boolean

Implemented in lar_content::CosmicRayShowerMatchingAlgorithm, and lar_content::CosmicRayTrackMatchingAlgorithm.

Here is the caller graph for this function:

◆ GetAvailableClusters()

StatusCode lar_content::CosmicRayBaseMatchingAlgorithm::GetAvailableClusters ( const std::string  inputClusterListName,
pandora::ClusterVector clusterVector 
) const
private

Get a vector of available clusters.

Parameters
inputClusterListNamethe input name of the cluster list
clusterVectorthe output vector of available clusters

Definition at line 52 of file CosmicRayBaseMatchingAlgorithm.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:

◆ MatchClusters() [1/2]

virtual bool lar_content::CosmicRayBaseMatchingAlgorithm::MatchClusters ( const pandora::Cluster *const  pCluster1,
const pandora::Cluster *const  pCluster2 
) const
protectedpure virtual

Match a pair of clusters from two views.

Parameters
pCluster1the first cluster
pCluster2the second cluster
Returns
boolean

Implemented in lar_content::CosmicRayShowerMatchingAlgorithm, and lar_content::CosmicRayTrackMatchingAlgorithm.

Here is the caller graph for this function:

◆ MatchClusters() [2/2]

void lar_content::CosmicRayBaseMatchingAlgorithm::MatchClusters ( const pandora::ClusterVector clusterVector1,
const pandora::ClusterVector clusterVector2,
CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap matchedClusters12 
) const
private

Match sets of clusters from two views.

Parameters
clusterVector1the vector of clusters from the first view
clusterVector2the vector of clusters from the second view
matchedClusters12the map of cluster matches

Definition at line 81 of file CosmicRayBaseMatchingAlgorithm.cc.

Here is the call graph for this function:

◆ MatchThreeViews()

void lar_content::CosmicRayBaseMatchingAlgorithm::MatchThreeViews ( const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap matchedClusters12,
const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap matchedClusters23,
const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap matchedClusters31,
ParticleList particleList 
) const
private

Match clusters from three views and form into particles.

Parameters
matchedClusters12the map of matches between the view 1 and view 2
matchedClusters23the map of matches between the view 2 and view 3
matchedClusters31the map of matches between the view 3 and view 1
particleListthe output list of particles

Definition at line 112 of file CosmicRayBaseMatchingAlgorithm.cc.

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

◆ MatchTwoViews() [1/2]

void lar_content::CosmicRayBaseMatchingAlgorithm::MatchTwoViews ( const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap matchedClusters12,
const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap matchedClusters23,
const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap matchedClusters31,
ParticleList particleList 
) const
private

Match clusters from two views and form into particles.

Parameters
matchedClusters12the map of matches between the view 1 and view 2
matchedClusters23the map of matches between the view 2 and view 3
matchedClusters31the map of matches between the view 3 and view 1
particleListthe output list of particles

Definition at line 172 of file CosmicRayBaseMatchingAlgorithm.cc.

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

◆ MatchTwoViews() [2/2]

void lar_content::CosmicRayBaseMatchingAlgorithm::MatchTwoViews ( const CosmicRayBaseMatchingAlgorithm::ClusterAssociationMap matchedClusters12,
ParticleList particleList 
) const
private

Match clusters from two views and form into particles.

Parameters
matchedClusters12the map of matches between the first and second views
particleListthe output list of particles

Definition at line 185 of file CosmicRayBaseMatchingAlgorithm.cc.

Here is the call graph for this function:

◆ ReadSettings()

StatusCode lar_content::CosmicRayBaseMatchingAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
protectedvirtual

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Reimplemented in lar_content::CosmicRayShowerMatchingAlgorithm, and lar_content::CosmicRayTrackMatchingAlgorithm.

Definition at line 304 of file CosmicRayBaseMatchingAlgorithm.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:

◆ ResolveAmbiguities()

void lar_content::CosmicRayBaseMatchingAlgorithm::ResolveAmbiguities ( const ParticleList inputList,
ParticleList outputList 
) const
private

Remove ambiguities between candidate particles.

Parameters
inputListthe input list of particles
outputListthe output list of particles

Definition at line 215 of file CosmicRayBaseMatchingAlgorithm.cc.

Here is the caller graph for this function:

◆ Run()

StatusCode lar_content::CosmicRayBaseMatchingAlgorithm::Run ( )
protectedvirtual

Run the algorithm.

Implements pandora::Algorithm.

Definition at line 21 of file CosmicRayBaseMatchingAlgorithm.cc.

Here is the call graph for this function:

◆ SelectCleanClusters()

virtual void lar_content::CosmicRayBaseMatchingAlgorithm::SelectCleanClusters ( const pandora::ClusterVector inputVector,
pandora::ClusterVector outputVector 
) const
protectedpure virtual

Select a set of clusters judged to be clean.

Parameters
inputVectorthe input vector of all available clusters
outputVectorthe output vector of clean clusters

Implemented in lar_content::CosmicRayShowerMatchingAlgorithm, and lar_content::CosmicRayTrackMatchingAlgorithm.

Here is the caller graph for this function:

◆ SetPfoParameters()

virtual void lar_content::CosmicRayBaseMatchingAlgorithm::SetPfoParameters ( const CosmicRayBaseMatchingAlgorithm::Particle protoParticle,
PandoraContentApi::ParticleFlowObject::Parameters &  pfoParameters 
) const
protectedpure virtual

Calculate Pfo properties from proto particle.

Parameters
protoParticlethe input proto particle
pfoParametersthe output pfo parameters

Implemented in lar_content::CosmicRayShowerMatchingAlgorithm, and lar_content::CosmicRayTrackMatchingAlgorithm.

Here is the caller graph for this function:

Member Data Documentation

◆ m_inputClusterListNameU

std::string lar_content::CosmicRayBaseMatchingAlgorithm::m_inputClusterListNameU
private

The name of the view U cluster list.

Definition at line 156 of file CosmicRayBaseMatchingAlgorithm.h.

◆ m_inputClusterListNameV

std::string lar_content::CosmicRayBaseMatchingAlgorithm::m_inputClusterListNameV
private

The name of the view V cluster list.

Definition at line 157 of file CosmicRayBaseMatchingAlgorithm.h.

◆ m_inputClusterListNameW

std::string lar_content::CosmicRayBaseMatchingAlgorithm::m_inputClusterListNameW
private

The name of the view W cluster list.

Definition at line 158 of file CosmicRayBaseMatchingAlgorithm.h.

◆ m_instanceName

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

The process instance name.

Definition at line 89 of file Process.h.

◆ m_outputPfoListName

std::string lar_content::CosmicRayBaseMatchingAlgorithm::m_outputPfoListName
private

The name of the output PFO list.

Definition at line 159 of file CosmicRayBaseMatchingAlgorithm.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_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: