ShowerGrowingAlgorithm class.
More...
#include "ShowerGrowingAlgorithm.h"
|
bool | IsVertexAssociated (const LArPointingCluster &pointingCluster, const pandora::CartesianVector &vertexPosition2D) const |
| Whether a pointing cluster is assciated with a provided 2D vertex projection.
|
|
void | FindAssociatedClusters (const pandora::Cluster *const pParticleSeed, pandora::ClusterVector &candidateClusters, ClusterUsageMap &forwardUsageMap, ClusterUsageMap &backwardUsageMap) const |
| Find clusters associated with a particle seed.
|
|
void | IdentifyClusterMerges (const pandora::ClusterVector &particleSeedVector, const ClusterUsageMap &backwardUsageMap, SeedAssociationList &seedAssociationList) const |
| Identify cluster merges.
|
|
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.
|
|
|
pandora::StatusCode | Run () |
| Run the algorithm.
|
|
void | SimpleModeShowerGrowing (const pandora::ClusterList *const pClusterList, const std::string &clusterListName) const |
| Simple single-pass shower growing mode.
|
|
bool | GetNextSeedCandidate (const pandora::ClusterList *const pClusterList, const pandora::ClusterSet &usedClusters, const pandora::Cluster *&pSeedCluster) const |
| Get the next seed candidate, using a list of available candidates and a list of those already used.
|
|
void | GetAllVertexSeedCandidates (const pandora::ClusterList *const pClusterList, const pandora::Vertex *const pVertex, pandora::ClusterVector &seedClusters) const |
| Get all seed candidates associated with a provided vertex.
|
|
void | GetSeedAssociationList (const pandora::ClusterVector &particleSeedVector, const pandora::ClusterList *const pClusterList, SeedAssociationList &seedAssociationList) const |
| Get the seed association list for a given vector of particle seed candidates.
|
|
void | ProcessSeedAssociationDetails (const SeedAssociationList &seedAssociationList, const std::string &clusterListName, pandora::ClusterSet &usedClusters) const |
| Process the details stored in a specified seed association list.
|
|
void | ProcessBranchClusters (const pandora::Cluster *const pParentCluster, const pandora::ClusterVector &branchClusters, const std::string &listName) const |
| Process the list of branch clusters, merging with specified parent cluster, dealing with any existing pfos as required.
|
|
AssociationType | AreClustersAssociated (const pandora::Cluster *const pClusterSeed, const pandora::Cluster *const pCluster) const |
| Determine whether two clusters are associated.
|
|
float | GetFigureOfMerit (const SeedAssociationList &seedAssociationList) const |
| Get a figure of merit representing the consistency of the provided seed associated list.
|
|
unsigned int | GetNVertexConnections (const pandora::CartesianVector &vertexPosition2D, const LArPointingClusterList &pointingClusterList) const |
| Get the number of clusters associated with the vertex.
|
|
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
| Read the algorithm settings.
|
|
◆ ClusterAssociationMap
◆ ClusterDirectionMap
◆ ClusterUsageMap
◆ SeedAssociationList
◆ AssociationType
◆ ShowerGrowingAlgorithm()
lar_content::ShowerGrowingAlgorithm::ShowerGrowingAlgorithm |
( |
| ) |
|
◆ AreClustersAssociated()
◆ FindAssociatedClusters()
Find clusters associated with a particle seed.
- Parameters
-
pParticleSeed | address of the particle seed |
candidateClusters | list of clusters which may be associated with seed |
forwardUsageMap | the particle seed usage map |
backwardUsageMap | the cluster usage map |
Definition at line 20 of file BranchGrowingAlgorithm.cc.
◆ GetAllVertexSeedCandidates()
Get all seed candidates associated with a provided vertex.
- Parameters
-
pClusterList | the list of available seed candidates |
pVertex | the address of the vertex |
seedClusters | to receive the list of vertex seed candidates |
Definition at line 164 of file ShowerGrowingAlgorithm.cc.
◆ GetFigureOfMerit()
float lar_content::ShowerGrowingAlgorithm::GetFigureOfMerit |
( |
const SeedAssociationList & |
seedAssociationList | ) |
const |
|
private |
Get a figure of merit representing the consistency of the provided seed associated list.
- Parameters
-
seedAssociationList | the seed association list |
- Returns
- the figure of merit
Definition at line 358 of file ShowerGrowingAlgorithm.cc.
◆ 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.
◆ GetNextSeedCandidate()
Get the next seed candidate, using a list of available candidates and a list of those already used.
- Parameters
-
pClusterList | the list of available seed candidates |
usedClusters | the list of candidates already considered |
pSeedCluster | to receive the address of the next seed candidate |
- Returns
- whether a seed candidate has been found
Definition at line 133 of file ShowerGrowingAlgorithm.cc.
◆ GetNVertexConnections()
Get the number of clusters associated with the vertex.
- Parameters
-
vertexPosition2D | the projected vertex position |
pointingClusterList | the list of relevant pointing clusters |
- Returns
- the number of clusters associated with the vertex
Definition at line 413 of file ShowerGrowingAlgorithm.cc.
◆ 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.
◆ GetSeedAssociationList()
Get the seed association list for a given vector of particle seed candidates.
- Parameters
-
particleSeedVector | the particle seed vector |
pClusterList | the address of the input cluster list |
seedAssociationList | to receive the populated seed association list |
Definition at line 201 of file ShowerGrowingAlgorithm.cc.
◆ GetType()
const std::string & pandora::Process::GetType |
( |
| ) |
const |
|
inlineinherited |
Get the type.
- Returns
- The type
Definition at line 102 of file Process.h.
◆ IdentifyClusterMerges()
Identify cluster merges.
- Parameters
-
particleSeedVector | the list of all particle seeds |
backwardUsageMap | the map from cluster to particle seed associations |
seedAssociationList | to receive the populated seed association list |
Definition at line 73 of file BranchGrowingAlgorithm.cc.
◆ Initialize()
|
inlineprotectedvirtualinherited |
◆ IsVertexAssociated()
Whether a pointing cluster is assciated with a provided 2D vertex projection.
- Parameters
-
pointingCluster | the pointing cluster |
vertexPosition2D | the projected vertex position |
- Returns
- boolean
Definition at line 40 of file ShowerGrowingAlgorithm.cc.
◆ ProcessBranchClusters()
void lar_content::ShowerGrowingAlgorithm::ProcessBranchClusters |
( |
const pandora::Cluster *const |
pParentCluster, |
|
|
const pandora::ClusterVector & |
branchClusters, |
|
|
const std::string & |
listName |
|
) |
| const |
|
private |
Process the list of branch clusters, merging with specified parent cluster, dealing with any existing pfos as required.
- Parameters
-
pParentCluster | the address of the parent cluster |
branchClusters | the list of branch clusters for the specified seed cluster |
listName | the cluster list name |
pfoList | the input pfo list |
Definition at line 258 of file ShowerGrowingAlgorithm.cc.
◆ ProcessSeedAssociationDetails()
void lar_content::ShowerGrowingAlgorithm::ProcessSeedAssociationDetails |
( |
const SeedAssociationList & |
seedAssociationList, |
|
|
const std::string & |
clusterListName, |
|
|
pandora::ClusterSet & |
usedClusters |
|
) |
| const |
|
private |
Process the details stored in a specified seed association list.
- Parameters
-
seedAssociationList | the seed association list |
clusterListName | the cluster list name |
pfoList | the pfo list |
usedClusters | the list of candidates already considered |
Definition at line 238 of file ShowerGrowingAlgorithm.cc.
◆ ReadSettings()
◆ 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
-
pPandora | address of the pandora object that will run the process |
type | the process type |
instanceName | the process instance name |
Definition at line 146 of file Process.h.
◆ Reset()
|
inlineprotectedvirtualinherited |
◆ Run()
StatusCode lar_content::ShowerGrowingAlgorithm::Run |
( |
| ) |
|
|
privatevirtual |
◆ SimpleModeShowerGrowing()
void lar_content::ShowerGrowingAlgorithm::SimpleModeShowerGrowing |
( |
const pandora::ClusterList *const |
pClusterList, |
|
|
const std::string & |
clusterListName |
|
) |
| const |
|
private |
Simple single-pass shower growing mode.
- Parameters
-
pClusterList | the list of clusters |
clusterListName | the cluster list name |
Definition at line 100 of file ShowerGrowingAlgorithm.cc.
◆ SortClusters()
Sorting for clusters to determine order in which seeds are considered.
- Parameters
-
pLhs | address of first cluster |
pRhs | address of second cluster |
Definition at line 52 of file ShowerGrowingAlgorithm.cc.
◆ m_clusterDirectionMap
◆ m_directionApexShift
float lar_content::ShowerGrowingAlgorithm::m_directionApexShift |
|
private |
Direction determination, look for vertex inside triangle with apex shifted along the cluster length.
Definition at line 152 of file ShowerGrowingAlgorithm.h.
◆ m_directionTanAngle
float lar_content::ShowerGrowingAlgorithm::m_directionTanAngle |
|
private |
Direction determination, look for vertex inside triangle with apex shifted along the cluster length.
Definition at line 151 of file ShowerGrowingAlgorithm.h.
◆ m_inputClusterListNames
◆ m_instanceName
std::string pandora::Process::m_instanceName |
|
protectedinherited |
The process instance name.
Definition at line 89 of file Process.h.
◆ m_maxVertexLongitudinalDistance
float lar_content::ShowerGrowingAlgorithm::m_maxVertexLongitudinalDistance |
|
private |
◆ m_maxVertexTransverseDistance
float lar_content::ShowerGrowingAlgorithm::m_maxVertexTransverseDistance |
|
private |
◆ m_minCaloHitsPerCluster
unsigned int lar_content::ShowerGrowingAlgorithm::m_minCaloHitsPerCluster |
|
private |
◆ m_minVertexLongitudinalDistance
float lar_content::ShowerGrowingAlgorithm::m_minVertexLongitudinalDistance |
|
private |
◆ m_nearbyClusterDistance
float lar_content::ShowerGrowingAlgorithm::m_nearbyClusterDistance |
|
private |
◆ 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_remoteClusterDistance
float lar_content::ShowerGrowingAlgorithm::m_remoteClusterDistance |
|
private |
◆ m_type
std::string pandora::Process::m_type |
|
protectedinherited |
The process type.
Definition at line 88 of file Process.h.
◆ m_vertexAngularAllowance
float lar_content::ShowerGrowingAlgorithm::m_vertexAngularAllowance |
|
private |
The documentation for this class was generated from the following files: