Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
IsolatedClusterMopUpAlgorithm.h
Go to the documentation of this file.
1
8#ifndef LAR_ISOLATED_CLUSTER_MOP_UP_ALGORITHM_H
9#define LAR_ISOLATED_CLUSTER_MOP_UP_ALGORITHM_H 1
10
11#include "Pandora/Algorithm.h"
12
14
15#include <unordered_map>
16
17namespace lar_content
18{
19
20template <typename, unsigned int>
21class KDTreeLinkerAlgo;
22template <typename, unsigned int>
23class KDTreeNodeInfoT;
24
25//------------------------------------------------------------------------------------------------------------------------------------------
26
31{
32public:
37
38private:
39 void ClusterMopUp(const pandora::ClusterList &pfoClusters, const pandora::ClusterList &remnantClusters) const;
40
47 void DissolveClustersToHits(const pandora::ClusterList &clusterList, pandora::CaloHitList &caloHitList) const;
48
49 typedef std::unordered_map<const pandora::CaloHit *, const pandora::Cluster *> CaloHitToClusterMap;
50
59 const pandora::CaloHitList &caloHitList, const pandora::ClusterList &clusterList, CaloHitToClusterMap &caloHitToClusterMap) const;
60
62
65 typedef std::vector<HitKDNode2D> HitKDNode2DList;
66
70};
71
72} // namespace lar_content
73
74#endif // #ifndef LAR_ISOLATED_CLUSTER_MOP_UP_ALGORITHM_H
Header file for the algorithm class.
Header file for the cluster mop up algorithm base class.
void GetCaloHitToClusterMap(const pandora::CaloHitList &caloHitList, const pandora::ClusterList &clusterList, CaloHitToClusterMap &caloHitToClusterMap) const
Look for isolated hit additions, considering a list of candidate hits and a list of host clusters.
float m_maxHitClusterDistance
The maximum hit to cluster distance for isolated hit merging.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
KDTreeLinkerAlgo< const pandora::CaloHit *, 2 > HitKDTree2D
bool m_addHitsAsIsolated
Whether to add hits to clusters as "isolated" (don't contribute to spatial properties)
std::unordered_map< const pandora::CaloHit *, const pandora::Cluster * > CaloHitToClusterMap
KDTreeNodeInfoT< const pandora::CaloHit *, 2 > HitKDNode2D
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 cluste...
void DissolveClustersToHits(const pandora::ClusterList &clusterList, pandora::CaloHitList &caloHitList) const
Examine a list of clusters, identify and delete remnants; receive the list of newly available hits.
unsigned int m_maxCaloHitsInCluster
The maximum number of hits in a cluster to be dissolved.
Class that implements the KDTree partition of 2D space and a closest point search algorithm.
Data stored in each KDTree node. The dim1/dim2 fields are usually the duplication of some PFRecHit va...
MANAGED_CONTAINER< const Cluster * > ClusterList
MANAGED_CONTAINER< const CaloHit * > CaloHitList
StatusCode
The StatusCode enum.