LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
CosmicRayTrackRecoveryAlgorithm class. More...
#include "CosmicRayTrackRecoveryAlgorithm.h"
Classes | |
class | Particle |
Particle class. More... | |
Public Member Functions | |
CosmicRayTrackRecoveryAlgorithm () | |
Default constructor. More... | |
Private Types | |
typedef std::vector< Particle > | ParticleList |
typedef std::unordered_map< const pandora::Cluster *, pandora::ClusterList > | ClusterAssociationMap |
typedef std::set< unsigned int > | UIntSet |
Private Member Functions | |
pandora::StatusCode | Run () |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
pandora::StatusCode | GetAvailableClusters (const std::string &inputClusterListName, pandora::ClusterVector &clusterVector) const |
Get a vector of available clusters. More... | |
void | SelectCleanClusters (const pandora::ClusterVector &inputVector, pandora::ClusterVector &outputVector) const |
Select a set of clusters judged to be clean. More... | |
void | BuildSlidingFitResultMap (const pandora::ClusterVector &clusterVector, TwoDSlidingFitResultMap &slidingFitResultMap) const |
Build the map of sliding fit results. More... | |
void | MatchViews (const pandora::ClusterVector &clusterVector1, const pandora::ClusterVector &clusterVector2, const TwoDSlidingFitResultMap &slidingFitResultMap, ClusterAssociationMap &clusterAssociationMap) const |
Match a pair of cluster vectors and populate the cluster association map. More... | |
void | MatchClusters (const pandora::Cluster *const pSeedCluster, const pandora::ClusterVector &targetClusters, const TwoDSlidingFitResultMap &slidingFitResultMap, ClusterAssociationMap &clusterAssociationMap) const |
Match a seed cluster with a list of target clusters and populate the cluster association map. More... | |
void | MatchThreeViews (const pandora::ClusterVector &clusterVectorU, const pandora::ClusterVector &clusterVectorV, const pandora::ClusterVector &clusterVectorW, const ClusterAssociationMap &clusterAssociationMapUV, const ClusterAssociationMap &clusterAssociationMapVW, const ClusterAssociationMap &clusterAssociationMapWU, ParticleList &particleList) const |
Create candidate particles using three primary clusters. More... | |
void | MatchTwoViews (const pandora::ClusterVector &clusterVectorU, const pandora::ClusterVector &clusterVectorV, const pandora::ClusterVector &clusterVectorW, const ClusterAssociationMap &clusterAssociationMapUV, const ClusterAssociationMap &clusterAssociationMapVW, const ClusterAssociationMap &clusterAssociationMapWU, ParticleList &particleList) const |
Create candidate particles using two primary clusters and one pair of broken clusters. More... | |
void | MatchOneView (const pandora::ClusterVector &clusterVectorU, const pandora::ClusterVector &clusterVectorV, const pandora::ClusterVector &clusterVectorW, const ClusterAssociationMap &clusterAssociationMapUV, const ClusterAssociationMap &clusterAssociationMapVW, const ClusterAssociationMap &clusterAssociationMapWU, ParticleList &particleList) const |
Create candidate particles using one primary cluster and one pair of broken clusters. More... | |
void | BuildVetoList (const ParticleList &particleList, pandora::ClusterSet &vetoList) const |
Build the list of clusters already used to create particles. More... | |
void | RemoveAmbiguities (const ParticleList &inputParticleList, ParticleList &outputParticleList) const |
Remove particles with duplicate clusters. More... | |
void | MergeClusters (const pandora::ClusterList &inputClusterList, pandora::ClusterList &outputClusterList) const |
Merge broken clusters into a single cluster. More... | |
void | BuildParticles (const ParticleList &particleList) |
Build particle flow objects. More... | |
Private Attributes | |
float | m_clusterMinLength |
float | m_clusterMinSpanZ |
float | m_clusterMinOverlapX |
float | m_clusterMaxDeltaX |
unsigned int | m_clusterMinHits |
std::string | m_inputClusterListNameU |
std::string | m_inputClusterListNameV |
std::string | m_inputClusterListNameW |
std::string | m_outputPfoListName |
CosmicRayTrackRecoveryAlgorithm class.
Definition at line 21 of file CosmicRayTrackRecoveryAlgorithm.h.
|
private |
Definition at line 44 of file CosmicRayTrackRecoveryAlgorithm.h.
|
private |
Definition at line 43 of file CosmicRayTrackRecoveryAlgorithm.h.
|
private |
Definition at line 45 of file CosmicRayTrackRecoveryAlgorithm.h.
lar_content::CosmicRayTrackRecoveryAlgorithm::CosmicRayTrackRecoveryAlgorithm | ( | ) |
Default constructor.
Definition at line 22 of file CosmicRayTrackRecoveryAlgorithm.cc.
|
private |
Build particle flow objects.
particleList | the input list of candidate particles |
Definition at line 670 of file CosmicRayTrackRecoveryAlgorithm.cc.
References f, m_outputPfoListName, and MergeClusters().
Referenced by Run().
|
private |
Build the map of sliding fit results.
clusterVector | the input cluster vector |
slidingFitResultMap | the output sliding fit result map |
Definition at line 131 of file CosmicRayTrackRecoveryAlgorithm.cc.
References lar_content::LArClusterHelper::GetClusterHitType(), and lar_content::LArGeometryHelper::GetWirePitch().
Referenced by Run().
|
private |
Build the list of clusters already used to create particles.
particleList | the current list of candidate particles |
vetoList | the list of clusters that belong to the candidate particles |
Definition at line 612 of file CosmicRayTrackRecoveryAlgorithm.cc.
References lar_content::CosmicRayTrackRecoveryAlgorithm::Particle::m_clusterList.
Referenced by MatchOneView(), MatchThreeViews(), and MatchTwoViews().
|
private |
Get a vector of available clusters.
inputClusterListName | the input name of the cluster list |
clusterVector | the output vector of available clusters |
Definition at line 76 of file CosmicRayTrackRecoveryAlgorithm.cc.
References lar_content::LArClusterHelper::SortByNHits().
Referenced by Run().
|
private |
Match a seed cluster with a list of target clusters and populate the cluster association map.
pSeedCluster | the input seed cluster |
targetClusters | the input list of target clusters |
slidingFitResultMap | the input map of sliding linear fit results |
clusterAssociationMap | the output map of cluster associations |
Definition at line 170 of file CosmicRayTrackRecoveryAlgorithm.cc.
References f, lar_content::LArPointingClusterHelper::GetClosestVertices(), lar_content::LArClusterHelper::GetClusterHitType(), lar_content::LArGeometryHelper::GetCommonDaughterVolumes(), lar_content::TwoDSlidingFitResult::GetGlobalMaxLayerPosition(), lar_content::TwoDSlidingFitResult::GetGlobalMinLayerPosition(), lar_content::LArPointingCluster::GetInnerVertex(), lar_content::LArPointingCluster::GetOuterVertex(), lar_content::LArPointingCluster::Vertex::GetPosition(), lar_content::LArPointingClusterHelper::IsEmission(), lar_content::LArPointingCluster::Vertex::IsInnerVertex(), m_clusterMaxDeltaX, and m_clusterMinOverlapX.
Referenced by MatchViews().
|
private |
Create candidate particles using one primary cluster and one pair of broken clusters.
clusterVectorU | input vector of clusters from the U view |
clusterVectorV | input vector of clusters from the V view |
clusterVectorW | input vector of clusters from the W view |
clusterAssociationMapUV | map of cluster associations between the U and V views |
clusterAssociationMapVW | map of cluster associations between the V and W views |
clusterAssociationMapWU | map of cluster associations between the W and U views |
particleList | the output list of candidate particles |
Definition at line 518 of file CosmicRayTrackRecoveryAlgorithm.cc.
References BuildVetoList(), lar_content::CosmicRayTrackRecoveryAlgorithm::Particle::m_clusterList, and RemoveAmbiguities().
Referenced by Run().
|
private |
Create candidate particles using three primary clusters.
clusterVectorU | input vector of clusters from the U view |
clusterVectorV | input vector of clusters from the V view |
clusterVectorW | input vector of clusters from the W view |
clusterAssociationMapUV | map of cluster associations between the U and V views |
clusterAssociationMapVW | map of cluster associations between the V and W views |
clusterAssociationMapWU | map of cluster associations between the W and U views |
particleList | the output list of candidate particles |
Definition at line 312 of file CosmicRayTrackRecoveryAlgorithm.cc.
References BuildVetoList(), lar_content::CosmicRayTrackRecoveryAlgorithm::Particle::m_clusterList, and RemoveAmbiguities().
Referenced by Run().
|
private |
Create candidate particles using two primary clusters and one pair of broken clusters.
clusterVectorU | input vector of clusters from the U view |
clusterVectorV | input vector of clusters from the V view |
clusterVectorW | input vector of clusters from the W view |
clusterAssociationMapUV | map of cluster associations between the U and V views |
clusterAssociationMapVW | map of cluster associations between the V and W views |
clusterAssociationMapWU | map of cluster associations between the W and U views |
particleList | the output list of candidate particles |
Definition at line 415 of file CosmicRayTrackRecoveryAlgorithm.cc.
References BuildVetoList(), lar_content::CosmicRayTrackRecoveryAlgorithm::Particle::m_clusterList, and RemoveAmbiguities().
Referenced by Run().
|
private |
Match a pair of cluster vectors and populate the cluster association map.
clusterVector1 | the input vector of clusters from the first view |
clusterVector2 | the input vector of clusters from the second view |
slidingFitResultMap | the input map of sliding linear fit results |
clusterAssociationMap | the output map of cluster associations |
Definition at line 158 of file CosmicRayTrackRecoveryAlgorithm.cc.
References MatchClusters().
Referenced by Run().
|
private |
Merge broken clusters into a single cluster.
inputClusterList | the input list of broken clusters |
outputClusterList | the output list of merged clusters |
Definition at line 708 of file CosmicRayTrackRecoveryAlgorithm.cc.
References lar_content::LArClusterHelper::GetClustersByHitType(), m_inputClusterListNameU, m_inputClusterListNameV, and m_inputClusterListNameW.
Referenced by BuildParticles().
|
private |
Definition at line 748 of file CosmicRayTrackRecoveryAlgorithm.cc.
References m_clusterMaxDeltaX, m_clusterMinHits, m_clusterMinLength, m_clusterMinOverlapX, m_clusterMinSpanZ, m_inputClusterListNameU, m_inputClusterListNameV, m_inputClusterListNameW, and m_outputPfoListName.
|
private |
Remove particles with duplicate clusters.
inputParticleList | the input list of candidate particles |
outputParticleList | the input list of candidate particles with duplications removed |
Definition at line 623 of file CosmicRayTrackRecoveryAlgorithm.cc.
References lar_content::CosmicRayTrackRecoveryAlgorithm::Particle::m_clusterList.
Referenced by MatchOneView(), MatchThreeViews(), and MatchTwoViews().
|
private |
Definition at line 33 of file CosmicRayTrackRecoveryAlgorithm.cc.
References BuildParticles(), BuildSlidingFitResultMap(), GetAvailableClusters(), m_inputClusterListNameU, m_inputClusterListNameV, m_inputClusterListNameW, MatchOneView(), MatchThreeViews(), MatchTwoViews(), MatchViews(), and SelectCleanClusters().
|
private |
Select a set of clusters judged to be clean.
inputVector | the input vector of all available clusters |
outputVector | the output vector of clean clusters |
Definition at line 103 of file CosmicRayTrackRecoveryAlgorithm.cc.
References f, lar_content::LArClusterHelper::GetClusterBoundingBox(), lar_content::LArClusterHelper::GetLengthSquared(), m_clusterMinHits, m_clusterMinLength, m_clusterMinOverlapX, and m_clusterMinSpanZ.
Referenced by Run().
|
private |
Definition at line 172 of file CosmicRayTrackRecoveryAlgorithm.h.
Referenced by MatchClusters(), and ReadSettings().
|
private |
Definition at line 173 of file CosmicRayTrackRecoveryAlgorithm.h.
Referenced by ReadSettings(), and SelectCleanClusters().
|
private |
Definition at line 169 of file CosmicRayTrackRecoveryAlgorithm.h.
Referenced by ReadSettings(), and SelectCleanClusters().
|
private |
Definition at line 171 of file CosmicRayTrackRecoveryAlgorithm.h.
Referenced by MatchClusters(), ReadSettings(), and SelectCleanClusters().
|
private |
Definition at line 170 of file CosmicRayTrackRecoveryAlgorithm.h.
Referenced by ReadSettings(), and SelectCleanClusters().
|
private |
Definition at line 175 of file CosmicRayTrackRecoveryAlgorithm.h.
Referenced by MergeClusters(), ReadSettings(), and Run().
|
private |
Definition at line 176 of file CosmicRayTrackRecoveryAlgorithm.h.
Referenced by MergeClusters(), ReadSettings(), and Run().
|
private |
Definition at line 177 of file CosmicRayTrackRecoveryAlgorithm.h.
Referenced by MergeClusters(), ReadSettings(), and Run().
|
private |
Definition at line 178 of file CosmicRayTrackRecoveryAlgorithm.h.
Referenced by BuildParticles(), and ReadSettings().