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

BoundedClusterMopUpAlgorithm class. More...

#include "BoundedClusterMopUpAlgorithm.h"

Inheritance diagram for lar_content::BoundedClusterMopUpAlgorithm:
Collaboration diagram for lar_content::BoundedClusterMopUpAlgorithm:

Classes

class  XSampling
 XSampling class. More...
 

Public Member Functions

 BoundedClusterMopUpAlgorithm ()
 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 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 GetShowerPositionMap (const TwoDSlidingShowerFitResult &fitResult, const XSampling &xSampling, ShowerPositionMap &showerPositionMap) const
 Get the shower position map containing high and low edge z positions in bins of x.
 
float GetBoundedFraction (const pandora::Cluster *const pCluster, const XSampling &xSampling, const ShowerPositionMap &showerPositionMap) const
 Get the fraction of hits in a cluster bounded by a specified shower position map.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 

Private Attributes

unsigned int m_slidingFitWindow
 The layer window for the sliding linear fits.
 
float m_showerEdgeMultiplier
 Artificially tune width of shower envelope so as to make it more/less inclusive.
 
float m_minBoundedFraction
 The minimum cluster bounded fraction for merging.
 

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.

◆ ClusterAssociationMap

Definition at line 72 of file ClusterMopUpBaseAlgorithm.h.

Constructor & Destructor Documentation

◆ BoundedClusterMopUpAlgorithm()

lar_content::BoundedClusterMopUpAlgorithm::BoundedClusterMopUpAlgorithm ( )

Default constructor.

Definition at line 21 of file BoundedClusterMopUpAlgorithm.cc.

Member Function Documentation

◆ ClusterMopUp()

void lar_content::BoundedClusterMopUpAlgorithm::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 30 of file BoundedClusterMopUpAlgorithm.cc.

Here is the call graph for this function:

◆ GetBoundedFraction()

float lar_content::BoundedClusterMopUpAlgorithm::GetBoundedFraction ( const pandora::Cluster *const  pCluster,
const XSampling xSampling,
const ShowerPositionMap showerPositionMap 
) const
private

Get the fraction of hits in a cluster bounded by a specified shower position map.

Parameters
pClusteraddress of the cluster
xSamplingthe x sampling details
showerPositionMapthe shower position map
Returns
the fraction of bounded hits

Definition at line 107 of file BoundedClusterMopUpAlgorithm.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:

◆ GetShowerPositionMap()

void lar_content::BoundedClusterMopUpAlgorithm::GetShowerPositionMap ( const TwoDSlidingShowerFitResult fitResult,
const XSampling xSampling,
ShowerPositionMap showerPositionMap 
) const
private

Get the shower position map containing high and low edge z positions in bins of x.

Parameters
fitResultthe sliding shower fit result
xSamplingthe x sampling details
showerPositionMapto receive the shower position map

Definition at line 79 of file BoundedClusterMopUpAlgorithm.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::BoundedClusterMopUpAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
privatevirtual

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Reimplemented from lar_content::ClusterMopUpBaseAlgorithm.

Definition at line 170 of file BoundedClusterMopUpAlgorithm.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_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_minBoundedFraction

float lar_content::BoundedClusterMopUpAlgorithm::m_minBoundedFraction
private

The minimum cluster bounded fraction for merging.

Definition at line 84 of file BoundedClusterMopUpAlgorithm.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_showerEdgeMultiplier

float lar_content::BoundedClusterMopUpAlgorithm::m_showerEdgeMultiplier
private

Artificially tune width of shower envelope so as to make it more/less inclusive.

Definition at line 83 of file BoundedClusterMopUpAlgorithm.h.

◆ m_slidingFitWindow

unsigned int lar_content::BoundedClusterMopUpAlgorithm::m_slidingFitWindow
private

The layer window for the sliding linear fits.

Definition at line 82 of file BoundedClusterMopUpAlgorithm.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: