8#ifndef LAR_ONE_VIEW_DELTA_RAY_MATCHING_ALGORITHM_H
9#define LAR_ONE_VIEW_DELTA_RAY_MATCHING_ALGORITHM_H 1
Header file for the algorithm class.
Header file for the delta ray matching containers class.
Header file for the kd tree linker algo template class.
DeltaRayMatchingContainers class.
OneViewDeltaRayMatchingAlgorithm class.
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 co...
DeltaRayMatchingContainers m_deltaRayMatchingContainers
The class of hit, cluster and pfo ownership and proximity maps.
const pandora::ClusterList GetInputClusterList(const pandora::HitType hitType)
Get the input cluster list of a given hit type.
std::string m_outputPfoListName
The list to receive the created delta ray pfos.
void PerformRecovery(const pandora::HitType hitType)
Create a delta ray pfo from any remaining, significant clusters.
pandora::StatusCode Run()
Run the algorithm.
std::string m_inputClusterListNameW
The list of reconstructed W clusters.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
const pandora::PfoList GetDeltaRayPfoList()
Get the input delta ray pfo list.
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.
float m_overlapExtension
The extension to each side of the x overlap region in which to search for matched clusters.
const pandora::Cluster * MergeClusterGroup(const pandora::ClusterList &clusterGroup)
Merge a collection of available clusters together updating hit containers accordingly.
unsigned int m_minClusterHits
The minimum number of hits for a cluster to be significant.
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.
bool IsMuonPfo(const pandora::Cluster *const pCluster)
Determine whether an input cluster belongs to a cosmic ray pfo.
OneViewDeltaRayMatchingAlgorithm()
Default constructor.
std::string m_deltaRayPfoListName
The list of reconstructed delta ray pfos.
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 int...
const pandora::PfoList GetMuonPfoList()
Get the input cosmic ray pfo list.
std::string m_muonPfoListName
The list of reconstructed cosmic ray pfos.
void PerformOneViewMatching(const pandora::HitType hitType)
Use nearby muon pfos to project into other views and attempt to match the remaining delta ray cluster...
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 t...
std::string m_inputClusterListNameV
The list of reconstructed V clusters.
void GetClusterSpanX(const pandora::ClusterList &clusterList, float &spanMinX, float &spanMaxX)
Determine cluster span (in x) of a group of clusters.
std::string m_inputClusterListNameU
The list of reconstructed U clusters.
bool IsDeltaRayPfo(const pandora::Cluster *const pCluster)
Determine whether an input cluster belongs to a delta ray pfo.
Algorithm class. Algorithm addresses are held only by the algorithm manager. They have a fully define...
ParticleFlowObject class.
HitType
Calorimeter hit type enum.
MANAGED_CONTAINER< const Cluster * > ClusterList
std::vector< const ParticleFlowObject * > PfoVector
std::unordered_set< const Cluster * > ClusterSet
StatusCode
The StatusCode enum.
MANAGED_CONTAINER< const ParticleFlowObject * > PfoList