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

CosmicRayTrackRecoveryAlgorithm class. More...

#include "CosmicRayTrackRecoveryAlgorithm.h"

Inheritance diagram for lar_content::CosmicRayTrackRecoveryAlgorithm:
Collaboration diagram for lar_content::CosmicRayTrackRecoveryAlgorithm:

Classes

class  Particle
 Particle class. More...
 

Public Member Functions

 CosmicRayTrackRecoveryAlgorithm ()
 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 Types

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

Private Member Functions

pandora::StatusCode Run ()
 Run the algorithm.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 
pandora::StatusCode GetAvailableClusters (const std::string &inputClusterListName, pandora::ClusterVector &clusterVector) const
 Get a vector of available clusters.
 
void SelectCleanClusters (const pandora::ClusterVector &inputVector, pandora::ClusterVector &outputVector) const
 Select a set of clusters judged to be clean.
 
void BuildSlidingFitResultMap (const pandora::ClusterVector &clusterVector, TwoDSlidingFitResultMap &slidingFitResultMap) const
 Build the map of sliding fit results.
 
void MatchViews (const pandora::ClusterVector &clusterVector1, const pandora::ClusterVector &clusterVector2, const TwoDSlidingFitResultMap &slidingFitResultMap, ClusterAssociationMap &clusterAssociationMap) const
 Match a pair of cluster vectors and populate the cluster association map.
 
void MatchClusters (const pandora::Cluster *const pSeedCluster, const pandora::ClusterVector &targetClusters, const TwoDSlidingFitResultMap &slidingFitResultMap, ClusterAssociationMap &clusterAssociationMap) const
 Match a seed cluster with a list of target clusters and populate the cluster association map.
 
void MatchThreeViews (const pandora::ClusterVector &clusterVectorU, const pandora::ClusterVector &clusterVectorV, const pandora::ClusterVector &clusterVectorW, const ClusterAssociationMap &clusterAssociationMapUV, const ClusterAssociationMap &clusterAssociationMapVW, const ClusterAssociationMap &clusterAssociationMapWU, ParticleList &particleList) const
 Create candidate particles using three primary clusters.
 
void MatchTwoViews (const pandora::ClusterVector &clusterVectorU, const pandora::ClusterVector &clusterVectorV, const pandora::ClusterVector &clusterVectorW, const ClusterAssociationMap &clusterAssociationMapUV, const ClusterAssociationMap &clusterAssociationMapVW, const ClusterAssociationMap &clusterAssociationMapWU, ParticleList &particleList) const
 Create candidate particles using two primary clusters and one pair of broken clusters.
 
void MatchOneView (const pandora::ClusterVector &clusterVectorU, const pandora::ClusterVector &clusterVectorV, const pandora::ClusterVector &clusterVectorW, const ClusterAssociationMap &clusterAssociationMapUV, const ClusterAssociationMap &clusterAssociationMapVW, const ClusterAssociationMap &clusterAssociationMapWU, ParticleList &particleList) const
 Create candidate particles using one primary cluster and one pair of broken clusters.
 
void BuildVetoList (const ParticleList &particleList, pandora::ClusterSet &vetoList) const
 Build the list of clusters already used to create particles.
 
void RemoveAmbiguities (const ParticleList &inputParticleList, ParticleList &outputParticleList) const
 Remove particles with duplicate clusters.
 
void MergeClusters (const pandora::ClusterList &inputClusterList, pandora::ClusterList &outputClusterList) const
 Merge broken clusters into a single cluster.
 
void BuildParticles (const ParticleList &particleList)
 Build particle flow objects.
 

Private Attributes

float m_clusterMinLength
 
float m_clusterMinSpanZ
 
float m_clusterMinOverlapX
 
float m_clusterMaxDeltaX
 
unsigned int m_clusterMinHits
 
std::string m_inputClusterListNameU
 
std::string m_inputClusterListNameV
 
std::string m_inputClusterListNameW
 
std::string m_outputPfoListName
 

Detailed Description


Class Documentation

◆ lar_content::CosmicRayTrackRecoveryAlgorithm::Particle

class lar_content::CosmicRayTrackRecoveryAlgorithm::Particle

Particle class.

Definition at line 37 of file CosmicRayTrackRecoveryAlgorithm.h.

Class Members
ClusterList m_clusterList

Member Typedef Documentation

◆ ClusterAssociationMap

◆ ParticleList

◆ UIntSet

typedef std::set<unsigned int> lar_content::CosmicRayTrackRecoveryAlgorithm::UIntSet
private

Definition at line 45 of file CosmicRayTrackRecoveryAlgorithm.h.

Constructor & Destructor Documentation

◆ CosmicRayTrackRecoveryAlgorithm()

lar_content::CosmicRayTrackRecoveryAlgorithm::CosmicRayTrackRecoveryAlgorithm ( )

Default constructor.

Definition at line 22 of file CosmicRayTrackRecoveryAlgorithm.cc.

Member Function Documentation

◆ BuildParticles()

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

Build particle flow objects.

Parameters
particleListthe input list of candidate particles

Definition at line 654 of file CosmicRayTrackRecoveryAlgorithm.cc.

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

◆ BuildSlidingFitResultMap()

void lar_content::CosmicRayTrackRecoveryAlgorithm::BuildSlidingFitResultMap ( const pandora::ClusterVector clusterVector,
TwoDSlidingFitResultMap slidingFitResultMap 
) const
private

Build the map of sliding fit results.

Parameters
clusterVectorthe input cluster vector
slidingFitResultMapthe output sliding fit result map

Definition at line 131 of file CosmicRayTrackRecoveryAlgorithm.cc.

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

◆ BuildVetoList()

void lar_content::CosmicRayTrackRecoveryAlgorithm::BuildVetoList ( const ParticleList particleList,
pandora::ClusterSet vetoList 
) const
private

Build the list of clusters already used to create particles.

Parameters
particleListthe current list of candidate particles
vetoListthe list of clusters that belong to the candidate particles

Definition at line 596 of file CosmicRayTrackRecoveryAlgorithm.cc.

Here is the caller graph for this function:

◆ GetAvailableClusters()

StatusCode lar_content::CosmicRayTrackRecoveryAlgorithm::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 76 of file CosmicRayTrackRecoveryAlgorithm.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()

void lar_content::CosmicRayTrackRecoveryAlgorithm::MatchClusters ( const pandora::Cluster *const  pSeedCluster,
const pandora::ClusterVector targetClusters,
const TwoDSlidingFitResultMap slidingFitResultMap,
ClusterAssociationMap clusterAssociationMap 
) const
private

Match a seed cluster with a list of target clusters and populate the cluster association map.

Parameters
pSeedClusterthe input seed cluster
targetClustersthe input list of target clusters
slidingFitResultMapthe input map of sliding linear fit results
clusterAssociationMapthe output map of cluster associations

Definition at line 170 of file CosmicRayTrackRecoveryAlgorithm.cc.

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

◆ MatchOneView()

void lar_content::CosmicRayTrackRecoveryAlgorithm::MatchOneView ( const pandora::ClusterVector clusterVectorU,
const pandora::ClusterVector clusterVectorV,
const pandora::ClusterVector clusterVectorW,
const ClusterAssociationMap clusterAssociationMapUV,
const ClusterAssociationMap clusterAssociationMapVW,
const ClusterAssociationMap clusterAssociationMapWU,
ParticleList particleList 
) const
private

Create candidate particles using one primary cluster and one pair of broken clusters.

Parameters
clusterVectorUinput vector of clusters from the U view
clusterVectorVinput vector of clusters from the V view
clusterVectorWinput vector of clusters from the W view
clusterAssociationMapUVmap of cluster associations between the U and V views
clusterAssociationMapVWmap of cluster associations between the V and W views
clusterAssociationMapWUmap of cluster associations between the W and U views
particleListthe output list of candidate particles

Definition at line 508 of file CosmicRayTrackRecoveryAlgorithm.cc.

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

◆ MatchThreeViews()

void lar_content::CosmicRayTrackRecoveryAlgorithm::MatchThreeViews ( const pandora::ClusterVector clusterVectorU,
const pandora::ClusterVector clusterVectorV,
const pandora::ClusterVector clusterVectorW,
const ClusterAssociationMap clusterAssociationMapUV,
const ClusterAssociationMap clusterAssociationMapVW,
const ClusterAssociationMap clusterAssociationMapWU,
ParticleList particleList 
) const
private

Create candidate particles using three primary clusters.

Parameters
clusterVectorUinput vector of clusters from the U view
clusterVectorVinput vector of clusters from the V view
clusterVectorWinput vector of clusters from the W view
clusterAssociationMapUVmap of cluster associations between the U and V views
clusterAssociationMapVWmap of cluster associations between the V and W views
clusterAssociationMapWUmap of cluster associations between the W and U views
particleListthe output list of candidate particles

Definition at line 312 of file CosmicRayTrackRecoveryAlgorithm.cc.

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

◆ MatchTwoViews()

void lar_content::CosmicRayTrackRecoveryAlgorithm::MatchTwoViews ( const pandora::ClusterVector clusterVectorU,
const pandora::ClusterVector clusterVectorV,
const pandora::ClusterVector clusterVectorW,
const ClusterAssociationMap clusterAssociationMapUV,
const ClusterAssociationMap clusterAssociationMapVW,
const ClusterAssociationMap clusterAssociationMapWU,
ParticleList particleList 
) const
private

Create candidate particles using two primary clusters and one pair of broken clusters.

Parameters
clusterVectorUinput vector of clusters from the U view
clusterVectorVinput vector of clusters from the V view
clusterVectorWinput vector of clusters from the W view
clusterAssociationMapUVmap of cluster associations between the U and V views
clusterAssociationMapVWmap of cluster associations between the V and W views
clusterAssociationMapWUmap of cluster associations between the W and U views
particleListthe output list of candidate particles

Definition at line 412 of file CosmicRayTrackRecoveryAlgorithm.cc.

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

◆ MatchViews()

void lar_content::CosmicRayTrackRecoveryAlgorithm::MatchViews ( const pandora::ClusterVector clusterVector1,
const pandora::ClusterVector clusterVector2,
const TwoDSlidingFitResultMap slidingFitResultMap,
ClusterAssociationMap clusterAssociationMap 
) const
private

Match a pair of cluster vectors and populate the cluster association map.

Parameters
clusterVector1the input vector of clusters from the first view
clusterVector2the input vector of clusters from the second view
slidingFitResultMapthe input map of sliding linear fit results
clusterAssociationMapthe output map of cluster associations

Definition at line 158 of file CosmicRayTrackRecoveryAlgorithm.cc.

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

◆ MergeClusters()

void lar_content::CosmicRayTrackRecoveryAlgorithm::MergeClusters ( const pandora::ClusterList inputClusterList,
pandora::ClusterList outputClusterList 
) const
private

Merge broken clusters into a single cluster.

Parameters
inputClusterListthe input list of broken clusters
outputClusterListthe output list of merged clusters

Definition at line 692 of file CosmicRayTrackRecoveryAlgorithm.cc.

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

◆ ReadSettings()

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

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Definition at line 730 of file CosmicRayTrackRecoveryAlgorithm.cc.

Here is the call 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:

◆ RemoveAmbiguities()

void lar_content::CosmicRayTrackRecoveryAlgorithm::RemoveAmbiguities ( const ParticleList inputParticleList,
ParticleList outputParticleList 
) const
private

Remove particles with duplicate clusters.

Parameters
inputParticleListthe input list of candidate particles
outputParticleListthe input list of candidate particles with duplications removed

Definition at line 607 of file CosmicRayTrackRecoveryAlgorithm.cc.

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::CosmicRayTrackRecoveryAlgorithm::Run ( )
privatevirtual

Run the algorithm.

Implements pandora::Algorithm.

Definition at line 33 of file CosmicRayTrackRecoveryAlgorithm.cc.

Here is the call graph for this function:

◆ SelectCleanClusters()

void lar_content::CosmicRayTrackRecoveryAlgorithm::SelectCleanClusters ( const pandora::ClusterVector inputVector,
pandora::ClusterVector outputVector 
) const
private

Select a set of clusters judged to be clean.

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

Definition at line 103 of file CosmicRayTrackRecoveryAlgorithm.cc.

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

Member Data Documentation

◆ m_clusterMaxDeltaX

float lar_content::CosmicRayTrackRecoveryAlgorithm::m_clusterMaxDeltaX
private

Definition at line 172 of file CosmicRayTrackRecoveryAlgorithm.h.

◆ m_clusterMinHits

unsigned int lar_content::CosmicRayTrackRecoveryAlgorithm::m_clusterMinHits
private

Definition at line 173 of file CosmicRayTrackRecoveryAlgorithm.h.

◆ m_clusterMinLength

float lar_content::CosmicRayTrackRecoveryAlgorithm::m_clusterMinLength
private

Definition at line 169 of file CosmicRayTrackRecoveryAlgorithm.h.

◆ m_clusterMinOverlapX

float lar_content::CosmicRayTrackRecoveryAlgorithm::m_clusterMinOverlapX
private

Definition at line 171 of file CosmicRayTrackRecoveryAlgorithm.h.

◆ m_clusterMinSpanZ

float lar_content::CosmicRayTrackRecoveryAlgorithm::m_clusterMinSpanZ
private

Definition at line 170 of file CosmicRayTrackRecoveryAlgorithm.h.

◆ m_inputClusterListNameU

std::string lar_content::CosmicRayTrackRecoveryAlgorithm::m_inputClusterListNameU
private

Definition at line 175 of file CosmicRayTrackRecoveryAlgorithm.h.

◆ m_inputClusterListNameV

std::string lar_content::CosmicRayTrackRecoveryAlgorithm::m_inputClusterListNameV
private

Definition at line 176 of file CosmicRayTrackRecoveryAlgorithm.h.

◆ m_inputClusterListNameW

std::string lar_content::CosmicRayTrackRecoveryAlgorithm::m_inputClusterListNameW
private

Definition at line 177 of file CosmicRayTrackRecoveryAlgorithm.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::CosmicRayTrackRecoveryAlgorithm::m_outputPfoListName
private

Definition at line 178 of file CosmicRayTrackRecoveryAlgorithm.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: