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

ConeClusterMopUpAlgorithm class. More...

#include "ConeClusterMopUpAlgorithm.h"

Inheritance diagram for lar_content::ConeClusterMopUpAlgorithm:
Collaboration diagram for lar_content::ConeClusterMopUpAlgorithm:

Public Member Functions

 ConeClusterMopUpAlgorithm ()
 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::pair< float, float > Coordinate
 
typedef std::vector< CoordinateCoordinateList
 

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.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 

Static Private Member Functions

static bool SortCoordinates (const Coordinate &lhs, const Coordinate &rhs)
 Sort coordinates by increasing transverse displacement.
 

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_coneAngleCentile
 Cluster cone angle is defined using specified centile of distribution of hit half angles.
 
float m_maxConeLengthMultiplier
 Consider hits as bound if inside cone, with projected distance less than N times cone length.
 
float m_minBoundedFraction
 The minimum cluster bounded fraction for merging.
 

Detailed Description

ConeClusterMopUpAlgorithm class.

Definition at line 21 of file ConeClusterMopUpAlgorithm.h.

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.

◆ Coordinate

typedef std::pair<float, float> lar_content::ConeClusterMopUpAlgorithm::Coordinate
private

Definition at line 32 of file ConeClusterMopUpAlgorithm.h.

◆ CoordinateList

Definition at line 33 of file ConeClusterMopUpAlgorithm.h.

Constructor & Destructor Documentation

◆ ConeClusterMopUpAlgorithm()

lar_content::ConeClusterMopUpAlgorithm::ConeClusterMopUpAlgorithm ( )

Default constructor.

Definition at line 23 of file ConeClusterMopUpAlgorithm.cc.

Member Function Documentation

◆ ClusterMopUp()

void lar_content::ConeClusterMopUpAlgorithm::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 34 of file ConeClusterMopUpAlgorithm.cc.

Here is the call 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::ConeClusterMopUpAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
privatevirtual

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Reimplemented from lar_content::ClusterMopUpBaseAlgorithm.

Definition at line 175 of file ConeClusterMopUpAlgorithm.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:

◆ SortCoordinates()

bool lar_content::ConeClusterMopUpAlgorithm::SortCoordinates ( const Coordinate lhs,
const Coordinate rhs 
)
staticprivate

Sort coordinates by increasing transverse displacement.

Parameters
lhsthe first coordinate for comparison
rhsthe second coordinate for comparison
Returns
boolean

Definition at line 168 of file ConeClusterMopUpAlgorithm.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ m_coneAngleCentile

float lar_content::ConeClusterMopUpAlgorithm::m_coneAngleCentile
private

Cluster cone angle is defined using specified centile of distribution of hit half angles.

Definition at line 49 of file ConeClusterMopUpAlgorithm.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_maxConeLengthMultiplier

float lar_content::ConeClusterMopUpAlgorithm::m_maxConeLengthMultiplier
private

Consider hits as bound if inside cone, with projected distance less than N times cone length.

Definition at line 50 of file ConeClusterMopUpAlgorithm.h.

◆ m_minBoundedFraction

float lar_content::ConeClusterMopUpAlgorithm::m_minBoundedFraction
private

The minimum cluster bounded fraction for merging.

Definition at line 51 of file ConeClusterMopUpAlgorithm.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::ConeClusterMopUpAlgorithm::m_showerEdgeMultiplier
private

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

Definition at line 48 of file ConeClusterMopUpAlgorithm.h.

◆ m_slidingFitWindow

unsigned int lar_content::ConeClusterMopUpAlgorithm::m_slidingFitWindow
private

The layer window for the sliding linear fits.

Definition at line 47 of file ConeClusterMopUpAlgorithm.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: