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

CosmicRayShowerMatchingAlgorithm class. More...

#include "CosmicRayShowerMatchingAlgorithm.h"

Inheritance diagram for lar_content::CosmicRayShowerMatchingAlgorithm:
Collaboration diagram for lar_content::CosmicRayShowerMatchingAlgorithm:

Public Member Functions

 CosmicRayShowerMatchingAlgorithm ()
 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 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.
 
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

void SelectCleanClusters (const pandora::ClusterVector &inputVector, pandora::ClusterVector &outputVector) const
 Select a set of clusters judged to be clean.
 
bool MatchClusters (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2) const
 Match a pair of clusters from two views.
 
bool CheckMatchedClusters3D (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const pandora::Cluster *const pCluster3) const
 Check that three clusters have a consistent 3D position.
 
void SetPfoParameters (const Particle &particle, PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const
 Calculate Pfo properties from proto particle.
 
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 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

float m_minCaloHitsPerCluster
 minimum size of clusters for this algorithm
 
float m_minXOverlap
 requirement on minimum X overlap for associated clusters
 
float m_minXOverlapFraction
 requirement on minimum X overlap fraction for associated clusters
 
float m_pseudoChi2Cut
 The selection cut on the matched chi2.
 
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

Definition at line 48 of file CosmicRayBaseMatchingAlgorithm.h.

◆ UIntSet

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

Definition at line 50 of file CosmicRayBaseMatchingAlgorithm.h.

Constructor & Destructor Documentation

◆ CosmicRayShowerMatchingAlgorithm()

lar_content::CosmicRayShowerMatchingAlgorithm::CosmicRayShowerMatchingAlgorithm ( )

Default constructor.

Definition at line 21 of file CosmicRayShowerMatchingAlgorithm.cc.

Member Function Documentation

◆ BuildParticles()

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

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

bool lar_content::CosmicRayShowerMatchingAlgorithm::CheckMatchedClusters3D ( const pandora::Cluster *const  pCluster1,
const pandora::Cluster *const  pCluster2,
const pandora::Cluster *const  pCluster3 
) const
privatevirtual

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

Implements lar_content::CosmicRayBaseMatchingAlgorithm.

Definition at line 64 of file CosmicRayShowerMatchingAlgorithm.cc.

Here is the call graph for this function:

◆ GetAvailableClusters()

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

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

bool lar_content::CosmicRayShowerMatchingAlgorithm::MatchClusters ( const pandora::Cluster *const  pCluster1,
const pandora::Cluster *const  pCluster2 
) const
privatevirtual

Match a pair of clusters from two views.

Parameters
pCluster1the first cluster
pCluster2the second cluster
Returns
boolean

Implements lar_content::CosmicRayBaseMatchingAlgorithm.

Definition at line 44 of file CosmicRayShowerMatchingAlgorithm.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
privateinherited

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
privateinherited

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
privateinherited

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::CosmicRayShowerMatchingAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
privatevirtual

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Reimplemented from lar_content::CosmicRayBaseMatchingAlgorithm.

Definition at line 132 of file CosmicRayShowerMatchingAlgorithm.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:

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

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 ( )
protectedvirtualinherited

Run the algorithm.

Implements pandora::Algorithm.

Definition at line 21 of file CosmicRayBaseMatchingAlgorithm.cc.

Here is the call graph for this function:

◆ SelectCleanClusters()

void lar_content::CosmicRayShowerMatchingAlgorithm::SelectCleanClusters ( const pandora::ClusterVector inputVector,
pandora::ClusterVector outputVector 
) const
privatevirtual

Select a set of clusters judged to be clean.

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

Implements lar_content::CosmicRayBaseMatchingAlgorithm.

Definition at line 31 of file CosmicRayShowerMatchingAlgorithm.cc.

◆ SetPfoParameters()

void lar_content::CosmicRayShowerMatchingAlgorithm::SetPfoParameters ( const Particle protoParticle,
PandoraContentApi::ParticleFlowObject::Parameters &  pfoParameters 
) const
privatevirtual

Calculate Pfo properties from proto particle.

Parameters
protoParticlethe input proto particle
pfoParametersthe output pfo parameters

Implements lar_content::CosmicRayBaseMatchingAlgorithm.

Definition at line 111 of file CosmicRayShowerMatchingAlgorithm.cc.

Here is the call graph for this function:

Member Data Documentation

◆ m_inputClusterListNameU

std::string lar_content::CosmicRayBaseMatchingAlgorithm::m_inputClusterListNameU
privateinherited

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
privateinherited

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
privateinherited

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_minCaloHitsPerCluster

float lar_content::CosmicRayShowerMatchingAlgorithm::m_minCaloHitsPerCluster
private

minimum size of clusters for this algorithm

Definition at line 36 of file CosmicRayShowerMatchingAlgorithm.h.

◆ m_minXOverlap

float lar_content::CosmicRayShowerMatchingAlgorithm::m_minXOverlap
private

requirement on minimum X overlap for associated clusters

Definition at line 37 of file CosmicRayShowerMatchingAlgorithm.h.

◆ m_minXOverlapFraction

float lar_content::CosmicRayShowerMatchingAlgorithm::m_minXOverlapFraction
private

requirement on minimum X overlap fraction for associated clusters

Definition at line 38 of file CosmicRayShowerMatchingAlgorithm.h.

◆ m_outputPfoListName

std::string lar_content::CosmicRayBaseMatchingAlgorithm::m_outputPfoListName
privateinherited

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_pseudoChi2Cut

float lar_content::CosmicRayShowerMatchingAlgorithm::m_pseudoChi2Cut
private

The selection cut on the matched chi2.

Definition at line 39 of file CosmicRayShowerMatchingAlgorithm.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: