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

IsolatedClusterMopUpAlgorithm class. More...

#include "IsolatedClusterMopUpAlgorithm.h"

Inheritance diagram for lar_content::IsolatedClusterMopUpAlgorithm:
Collaboration diagram for lar_content::IsolatedClusterMopUpAlgorithm:

Public Member Functions

 IsolatedClusterMopUpAlgorithm ()
 Default constructor.
 
template<typename T >
const std::string GetListName (const T *const pT) const
 Find the name of the list hosting a specific object.
 
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::unordered_map< const pandora::Cluster *, float > AssociationDetails
 
typedef std::unordered_map< const pandora::Cluster *, AssociationDetailsClusterAssociationMap
 

Protected Member Functions

virtual pandora::StatusCode Run ()
 Run the algorithm.
 
virtual void GetPfoClusterLists (pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const
 Get the two dimensional clusters contained in the input pfo list, divided into three different views.
 
virtual void GetDaughterClusterLists (pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const
 Get the two dimensional clusters contained in the input remant/daughter cluster lists, divided into three different views.
 
virtual void GetClusterLists (const pandora::ClusterList &inputClusterList, const bool availabilityFlag, pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const
 Get the two dimensional clusters contained in an input cluster list, divided into three different views.
 
virtual void MakeClusterMerges (const ClusterAssociationMap &clusterAssociationMap) const
 Make the cluster merges specified in the cluster association map, using list name information in the cluster list name map.
 
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

pandora::StringVector m_pfoListNames
 The list of pfo list names.
 
bool m_excludePfosContainingTracks
 Whether to exclude any pfos containing clusters flagged as fixed tracks.
 
pandora::StringVector m_daughterListNames
 The list of potential daughter object list names.
 
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::unordered_map< const pandora::CaloHit *, const pandora::Cluster * > CaloHitToClusterMap
 
typedef KDTreeLinkerAlgo< const pandora::CaloHit *, 2 > HitKDTree2D
 
typedef KDTreeNodeInfoT< const pandora::CaloHit *, 2 > HitKDNode2D
 
typedef std::vector< HitKDNode2DHitKDNode2DList
 

Private Member Functions

void ClusterMopUp (const pandora::ClusterList &pfoClusters, const pandora::ClusterList &remnantClusters) const
 Cluster mop up for a single view. This function is responsible for instructing pandora to make cluster alterations.
 
void DissolveClustersToHits (const pandora::ClusterList &clusterList, pandora::CaloHitList &caloHitList) const
 Examine a list of clusters, identify and delete remnants; receive the list of newly available hits.
 
void GetCaloHitToClusterMap (const pandora::CaloHitList &caloHitList, const pandora::ClusterList &clusterList, CaloHitToClusterMap &caloHitToClusterMap) const
 Look for isolated hit additions, considering a list of candidate hits and a list of host clusters.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 

Private Attributes

unsigned int m_maxCaloHitsInCluster
 The maximum number of hits in a cluster to be dissolved.
 
float m_maxHitClusterDistance
 The maximum hit to cluster distance for isolated hit merging.
 
bool m_addHitsAsIsolated
 Whether to add hits to clusters as "isolated" (don't contribute to spatial properties)
 

Detailed Description

Member Typedef Documentation

◆ AssociationDetails

typedef std::unordered_map<const pandora::Cluster *, float> lar_content::ClusterMopUpBaseAlgorithm::AssociationDetails
protectedinherited

Definition at line 71 of file ClusterMopUpBaseAlgorithm.h.

◆ CaloHitToClusterMap

Definition at line 49 of file IsolatedClusterMopUpAlgorithm.h.

◆ ClusterAssociationMap

Definition at line 72 of file ClusterMopUpBaseAlgorithm.h.

◆ HitKDNode2D

◆ HitKDNode2DList

◆ HitKDTree2D

Constructor & Destructor Documentation

◆ IsolatedClusterMopUpAlgorithm()

lar_content::IsolatedClusterMopUpAlgorithm::IsolatedClusterMopUpAlgorithm ( )

Default constructor.

Definition at line 22 of file IsolatedClusterMopUpAlgorithm.cc.

Member Function Documentation

◆ ClusterMopUp()

void lar_content::IsolatedClusterMopUpAlgorithm::ClusterMopUp ( const pandora::ClusterList pfoClusters,
const pandora::ClusterList remnantClusters 
) const
privatevirtual

Cluster mop up for a single view. This function is responsible for instructing pandora to make cluster alterations.

Parameters
pfoClustersthe list of pfo clusters
remnantClustersthe list of remnant clusters

Implements lar_content::ClusterMopUpBaseAlgorithm.

Definition at line 33 of file IsolatedClusterMopUpAlgorithm.cc.

Here is the call graph for this function:

◆ DissolveClustersToHits()

void lar_content::IsolatedClusterMopUpAlgorithm::DissolveClustersToHits ( const pandora::ClusterList clusterList,
pandora::CaloHitList caloHitList 
) const
private

Examine a list of clusters, identify and delete remnants; receive the list of newly available hits.

Parameters
clusterListthe list of clusters to consider
caloHitListto receive the list of newly available hits

Definition at line 62 of file IsolatedClusterMopUpAlgorithm.cc.

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

◆ GetCaloHitToClusterMap()

void lar_content::IsolatedClusterMopUpAlgorithm::GetCaloHitToClusterMap ( const pandora::CaloHitList caloHitList,
const pandora::ClusterList clusterList,
CaloHitToClusterMap caloHitToClusterMap 
) const
private

Look for isolated hit additions, considering a list of candidate hits and a list of host clusters.

Parameters
caloHitListthe list of hits to consider
clusterListthe list of clusters to consider
caloHitToClusterMapto receive the calo hit to cluster map

Definition at line 77 of file IsolatedClusterMopUpAlgorithm.cc.

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

◆ GetClusterLists()

void lar_content::ClusterMopUpBaseAlgorithm::GetClusterLists ( const pandora::ClusterList inputClusterList,
const bool  availabilityFlag,
pandora::ClusterList clusterListU,
pandora::ClusterList clusterListV,
pandora::ClusterList clusterListW 
) const
protectedvirtualinherited

Get the two dimensional clusters contained in an input cluster list, divided into three different views.

Parameters
inputClusterListthe input cluster list
availabilityFlagonly clusters with matching availability will be considered
clusterListUto receive the list of clusters in the u view
clusterListVto receive the list of clusters in the v view
clusterListWto receive the list of clusters in the w view

Definition at line 81 of file ClusterMopUpBaseAlgorithm.cc.

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

◆ GetDaughterClusterLists()

void lar_content::ClusterMopUpBaseAlgorithm::GetDaughterClusterLists ( pandora::ClusterList clusterListU,
pandora::ClusterList clusterListV,
pandora::ClusterList clusterListW 
) const
protectedvirtualinherited

Get the two dimensional clusters contained in the input remant/daughter cluster lists, divided into three different views.

Parameters
clusterListUto receive the list of clusters in the u view
clusterListVto receive the list of clusters in the v view
clusterListWto receive the list of clusters in the w view

Definition at line 66 of file ClusterMopUpBaseAlgorithm.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.

◆ GetListName()

template<typename T >
template const std::string lar_content::MopUpBaseAlgorithm::GetListName ( const T *const  pT) const
inherited

Find the name of the list hosting a specific object.

Parameters
pTthe address of the object
Returns
the name of the list

Definition at line 19 of file MopUpBaseAlgorithm.cc.

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

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

◆ GetPfoClusterLists()

void lar_content::ClusterMopUpBaseAlgorithm::GetPfoClusterLists ( pandora::ClusterList clusterListU,
pandora::ClusterList clusterListV,
pandora::ClusterList clusterListW 
) const
protectedvirtualinherited

Get the two dimensional clusters contained in the input pfo list, divided into three different views.

Parameters
clusterListUto receive the list of clusters in the u view
clusterListVto receive the list of clusters in the v view
clusterListWto receive the list of clusters in the w view

Definition at line 44 of file ClusterMopUpBaseAlgorithm.cc.

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

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

◆ MakeClusterMerges()

void lar_content::ClusterMopUpBaseAlgorithm::MakeClusterMerges ( const ClusterAssociationMap clusterAssociationMap) const
protectedvirtualinherited

Make the cluster merges specified in the cluster association map, using list name information in the cluster list name map.

Parameters
clusterAssociationMapthe cluster association map

Definition at line 103 of file ClusterMopUpBaseAlgorithm.cc.

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

◆ ReadSettings()

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

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Reimplemented from lar_content::ClusterMopUpBaseAlgorithm.

Definition at line 116 of file IsolatedClusterMopUpAlgorithm.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:

◆ Run()

StatusCode lar_content::ClusterMopUpBaseAlgorithm::Run ( )
protectedvirtualinherited

Run the algorithm.

Implements pandora::Algorithm.

Definition at line 27 of file ClusterMopUpBaseAlgorithm.cc.

Here is the call graph for this function:

Member Data Documentation

◆ m_addHitsAsIsolated

bool lar_content::IsolatedClusterMopUpAlgorithm::m_addHitsAsIsolated
private

Whether to add hits to clusters as "isolated" (don't contribute to spatial properties)

Definition at line 69 of file IsolatedClusterMopUpAlgorithm.h.

◆ m_daughterListNames

pandora::StringVector lar_content::MopUpBaseAlgorithm::m_daughterListNames
protectedinherited

The list of potential daughter object list names.

Definition at line 35 of file MopUpBaseAlgorithm.h.

◆ m_excludePfosContainingTracks

bool lar_content::ClusterMopUpBaseAlgorithm::m_excludePfosContainingTracks
protectedinherited

Whether to exclude any pfos containing clusters flagged as fixed tracks.

Definition at line 84 of file ClusterMopUpBaseAlgorithm.h.

◆ m_instanceName

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

The process instance name.

Definition at line 89 of file Process.h.

◆ m_maxCaloHitsInCluster

unsigned int lar_content::IsolatedClusterMopUpAlgorithm::m_maxCaloHitsInCluster
private

The maximum number of hits in a cluster to be dissolved.

Definition at line 67 of file IsolatedClusterMopUpAlgorithm.h.

◆ m_maxHitClusterDistance

float lar_content::IsolatedClusterMopUpAlgorithm::m_maxHitClusterDistance
private

The maximum hit to cluster distance for isolated hit merging.

Definition at line 68 of file IsolatedClusterMopUpAlgorithm.h.

◆ m_pfoListNames

pandora::StringVector lar_content::ClusterMopUpBaseAlgorithm::m_pfoListNames
protectedinherited

The list of pfo list names.

Definition at line 83 of file ClusterMopUpBaseAlgorithm.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: