LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
OneViewDeltaRayMatchingAlgorithm class. More...
#include "OneViewDeltaRayMatchingAlgorithm.h"
Public Member Functions | |
OneViewDeltaRayMatchingAlgorithm () | |
Default constructor. More... | |
Private Member Functions | |
pandora::StatusCode | Run () |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
const pandora::ClusterList | GetInputClusterList (const pandora::HitType hitType) |
Get the input cluster list of a given hit type. More... | |
const pandora::PfoList | GetMuonPfoList () |
Get the input cosmic ray pfo list. More... | |
const pandora::PfoList | GetDeltaRayPfoList () |
Get the input delta ray pfo list. More... | |
void | PerformOneViewMatching (const pandora::HitType hitType) |
Use nearby muon pfos to project into other views and attempt to match the remaining delta ray clusters. More... | |
bool | IsMuonPfo (const pandora::Cluster *const pCluster) |
Determine whether an input cluster belongs to a cosmic ray pfo. More... | |
bool | AddIntoExistingDeltaRay (const pandora::Cluster *const pAvailableCluster, const pandora::PfoVector &nearbyMuonPfoVector) |
Use nearby muon pfos to project into other views and attempt to add a remaining delta ray cluster into an existing delta ray pfo. More... | |
const pandora::Cluster * | GetBestProjectedCluster (const pandora::ClusterList &deltaRayClusterGroup, const pandora::ParticleFlowObject *const pNearbyMuonPfo, const pandora::HitType hitType, const bool findAvailable) |
Get the best matched available or unavailable cluster of a remaining delta ray cluster group wrt a cosmic ray pfo. More... | |
bool | IsDeltaRayPfo (const pandora::Cluster *const pCluster) |
Determine whether an input cluster belongs to a delta ray pfo. More... | |
void | GetClusterSpanX (const pandora::ClusterList &clusterList, float &spanMinX, float &spanMaxX) |
Determine cluster span (in x) of a group of clusters. More... | |
void | CreateDeltaRay (const pandora::Cluster *const pAvailableCluster, const pandora::PfoVector &nearbyMuonPfoVector, pandora::ClusterSet &modifiedClusters) |
Use nearby muon pfos to project into other views and attempt to match a remaining delta ray cluster to form a delta ray pfo. More... | |
void | GetNearbyAvailableClusters (const pandora::Cluster *const pCluster, pandora::ClusterList &consideredClusters, pandora::ClusterList &foundClusters) |
In the view of the input available cluster, gather nearby available clusters. More... | |
const pandora::Cluster * | MergeClusterGroup (const pandora::ClusterList &clusterGroup) |
Merge a collection of available clusters together updating hit containers accordingly. More... | |
void | CreatePfo (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const pandora::Cluster *const pCluster3) |
Create a pfo from the input clusters updating the cluster to pfo map accordingly. More... | |
void | PerformRecovery (const pandora::HitType hitType) |
Create a delta ray pfo from any remaining, significant clusters. More... | |
Private Attributes | |
std::string | m_muonPfoListName |
The list of reconstructed cosmic ray pfos. More... | |
std::string | m_deltaRayPfoListName |
The list of reconstructed delta ray pfos. More... | |
std::string | m_inputClusterListNameU |
The list of reconstructed U clusters. More... | |
std::string | m_inputClusterListNameV |
The list of reconstructed V clusters. More... | |
std::string | m_inputClusterListNameW |
The list of reconstructed W clusters. More... | |
std::string | m_outputPfoListName |
The list to receive the created delta ray pfos. More... | |
DeltaRayMatchingContainers | m_deltaRayMatchingContainers |
The class of hit, cluster and pfo ownership and proximity maps. More... | |
float | m_overlapExtension |
The extension to each side of the x overlap region in which to search for matched clusters. More... | |
unsigned int | m_minClusterHits |
The minimum number of hits for a cluster to be significant. More... | |
OneViewDeltaRayMatchingAlgorithm class.
Definition at line 23 of file OneViewDeltaRayMatchingAlgorithm.h.
lar_content::OneViewDeltaRayMatchingAlgorithm::OneViewDeltaRayMatchingAlgorithm | ( | ) |
Default constructor.
Definition at line 23 of file OneViewDeltaRayMatchingAlgorithm.cc.
|
private |
Use nearby muon pfos to project into other views and attempt to add a remaining delta ray cluster into an existing delta ray pfo.
pAvailableCluster | the address of the delta ray cluster to add |
nearbyMuonPfoVector | the vector of nearby cosmic ray pfos |
Definition at line 194 of file OneViewDeltaRayMatchingAlgorithm.cc.
References lar_content::DeltaRayMatchingContainers::AddClustersToPfoMaps(), GetBestProjectedCluster(), lar_content::LArClusterHelper::GetClusterHitType(), lar_content::DeltaRayMatchingContainers::GetClusterToPfoMap(), and m_deltaRayMatchingContainers.
Referenced by PerformOneViewMatching().
|
private |
Use nearby muon pfos to project into other views and attempt to match a remaining delta ray cluster to form a delta ray pfo.
pAvailableCluster | the address of the delta ray cluster to add |
nearbyMuonPfoVector | the vector of nearby cosmic ray pfos |
modifiedClusters | the output list of any delta ray clusters in the view of pAvailableCluster made unavailable in this process |
Definition at line 315 of file OneViewDeltaRayMatchingAlgorithm.cc.
References CreatePfo(), GetBestProjectedCluster(), lar_content::LArClusterHelper::GetClusterHitType(), GetNearbyAvailableClusters(), and MergeClusterGroup().
Referenced by PerformOneViewMatching().
|
private |
Create a pfo from the input clusters updating the cluster to pfo map accordingly.
pCluster1 | the address of the first cluster |
pCluster2 | the address of the second cluster |
pCluster3 | the address of the third cluster |
Definition at line 424 of file OneViewDeltaRayMatchingAlgorithm.cc.
References lar_content::DeltaRayMatchingContainers::AddClustersToPfoMaps(), f, m_deltaRayMatchingContainers, and m_outputPfoListName.
Referenced by CreateDeltaRay(), and PerformRecovery().
|
private |
Get the best matched available or unavailable cluster of a remaining delta ray cluster group wrt a cosmic ray pfo.
deltaRayClusterGroup | the input group of to be merged remaining delta ray clusters |
pNearbyMuonPfo | the address of the nearby cosmic ray pfo |
hitType | the hit type to project into |
findAvailable | whether to search for available or unavailable delta ray clusters |
Definition at line 230 of file OneViewDeltaRayMatchingAlgorithm.cc.
References f, lar_content::DeltaRayMatchingContainers::GetClusterProximityMap(), lar_content::LArPfoHelper::GetClusters(), GetClusterSpanX(), IsDeltaRayPfo(), m_deltaRayMatchingContainers, and m_overlapExtension.
Referenced by AddIntoExistingDeltaRay(), and CreateDeltaRay().
|
private |
Determine cluster span (in x) of a group of clusters.
clusterList | the input list of clusters |
spanMinX | the output minimum x value |
spanMaxX | the output maximum x value |
Definition at line 295 of file OneViewDeltaRayMatchingAlgorithm.cc.
References f.
Referenced by GetBestProjectedCluster().
|
private |
Get the input delta ray pfo list.
Definition at line 88 of file OneViewDeltaRayMatchingAlgorithm.cc.
References m_deltaRayPfoListName.
Referenced by IsDeltaRayPfo(), and Run().
|
private |
Get the input cluster list of a given hit type.
hitType | the hit type of list to retrieve |
Definition at line 54 of file OneViewDeltaRayMatchingAlgorithm.cc.
References m_inputClusterListNameU, m_inputClusterListNameV, and m_inputClusterListNameW.
Referenced by PerformRecovery(), and Run().
|
private |
Get the input cosmic ray pfo list.
Definition at line 73 of file OneViewDeltaRayMatchingAlgorithm.cc.
References m_muonPfoListName.
Referenced by IsMuonPfo(), and Run().
|
private |
In the view of the input available cluster, gather nearby available clusters.
pCluster | the input available cluster |
consideredClusters | the list of investigated clusters |
foundClusters | the output list of nearby available clusters (including the available cluster) |
Definition at line 356 of file OneViewDeltaRayMatchingAlgorithm.cc.
References lar_content::LArClusterHelper::GetClusterHitType(), lar_content::DeltaRayMatchingContainers::GetClusterProximityMap(), and m_deltaRayMatchingContainers.
Referenced by CreateDeltaRay().
|
private |
Determine whether an input cluster belongs to a delta ray pfo.
pCluster | the address of the input cluster |
Definition at line 277 of file OneViewDeltaRayMatchingAlgorithm.cc.
References lar_content::LArClusterHelper::GetClusterHitType(), lar_content::DeltaRayMatchingContainers::GetClusterToPfoMap(), GetDeltaRayPfoList(), and m_deltaRayMatchingContainers.
Referenced by GetBestProjectedCluster().
|
private |
Determine whether an input cluster belongs to a cosmic ray pfo.
pCluster | the address of the input cluster |
Definition at line 177 of file OneViewDeltaRayMatchingAlgorithm.cc.
References lar_content::LArClusterHelper::GetClusterHitType(), lar_content::DeltaRayMatchingContainers::GetClusterToPfoMap(), GetMuonPfoList(), and m_deltaRayMatchingContainers.
Referenced by PerformOneViewMatching().
|
private |
Merge a collection of available clusters together updating hit containers accordingly.
clusterGroup | the input group of clusters to merge |
the | merged cluster |
Definition at line 391 of file OneViewDeltaRayMatchingAlgorithm.cc.
References lar_content::DeltaRayMatchingContainers::AddClustersToContainers(), lar_content::LArClusterHelper::GetClusterHitType(), m_deltaRayMatchingContainers, m_inputClusterListNameU, m_inputClusterListNameV, m_inputClusterListNameW, and lar_content::DeltaRayMatchingContainers::RemoveClusterFromContainers().
Referenced by CreateDeltaRay().
|
private |
Use nearby muon pfos to project into other views and attempt to match the remaining delta ray clusters.
hitType | the hit type of the input cluster and of the map to add to |
Definition at line 103 of file OneViewDeltaRayMatchingAlgorithm.cc.
References AddIntoExistingDeltaRay(), CreateDeltaRay(), lar_content::LArClusterHelper::GetClosestDistance(), lar_content::DeltaRayMatchingContainers::GetClusterProximityMap(), lar_content::DeltaRayMatchingContainers::GetClusterToPfoMap(), IsMuonPfo(), m_deltaRayMatchingContainers, and lar_content::LArClusterHelper::SortByNHits().
Referenced by Run().
|
private |
Create a delta ray pfo from any remaining, significant clusters.
hitType | the view to run in |
Definition at line 460 of file OneViewDeltaRayMatchingAlgorithm.cc.
References CreatePfo(), GetInputClusterList(), and m_minClusterHits.
Referenced by Run().
|
private |
Definition at line 478 of file OneViewDeltaRayMatchingAlgorithm.cc.
References m_deltaRayMatchingContainers, m_deltaRayPfoListName, m_inputClusterListNameU, m_inputClusterListNameV, m_inputClusterListNameW, m_minClusterHits, m_muonPfoListName, m_outputPfoListName, m_overlapExtension, and lar_content::DeltaRayMatchingContainers::m_searchRegion1D.
|
private |
Definition at line 31 of file OneViewDeltaRayMatchingAlgorithm.cc.
References lar_content::DeltaRayMatchingContainers::ClearContainers(), lar_content::DeltaRayMatchingContainers::FillContainers(), GetDeltaRayPfoList(), GetInputClusterList(), GetMuonPfoList(), m_deltaRayMatchingContainers, PerformOneViewMatching(), and PerformRecovery().
|
private |
The class of hit, cluster and pfo ownership and proximity maps.
Definition at line 164 of file OneViewDeltaRayMatchingAlgorithm.h.
Referenced by AddIntoExistingDeltaRay(), CreatePfo(), GetBestProjectedCluster(), GetNearbyAvailableClusters(), IsDeltaRayPfo(), IsMuonPfo(), MergeClusterGroup(), PerformOneViewMatching(), ReadSettings(), and Run().
|
private |
The list of reconstructed delta ray pfos.
Definition at line 159 of file OneViewDeltaRayMatchingAlgorithm.h.
Referenced by GetDeltaRayPfoList(), and ReadSettings().
|
private |
The list of reconstructed U clusters.
Definition at line 160 of file OneViewDeltaRayMatchingAlgorithm.h.
Referenced by GetInputClusterList(), MergeClusterGroup(), and ReadSettings().
|
private |
The list of reconstructed V clusters.
Definition at line 161 of file OneViewDeltaRayMatchingAlgorithm.h.
Referenced by GetInputClusterList(), MergeClusterGroup(), and ReadSettings().
|
private |
The list of reconstructed W clusters.
Definition at line 162 of file OneViewDeltaRayMatchingAlgorithm.h.
Referenced by GetInputClusterList(), MergeClusterGroup(), and ReadSettings().
|
private |
The minimum number of hits for a cluster to be significant.
Definition at line 166 of file OneViewDeltaRayMatchingAlgorithm.h.
Referenced by PerformRecovery(), and ReadSettings().
|
private |
The list of reconstructed cosmic ray pfos.
Definition at line 158 of file OneViewDeltaRayMatchingAlgorithm.h.
Referenced by GetMuonPfoList(), and ReadSettings().
|
private |
The list to receive the created delta ray pfos.
Definition at line 163 of file OneViewDeltaRayMatchingAlgorithm.h.
Referenced by CreatePfo(), and ReadSettings().
|
private |
The extension to each side of the x overlap region in which to search for matched clusters.
Definition at line 165 of file OneViewDeltaRayMatchingAlgorithm.h.
Referenced by GetBestProjectedCluster(), and ReadSettings().