All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SimpleClusterMergingAlgorithm.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArTwoDReco/LArClusterAssociation/SimpleClusterMergingAlgorithm.h
3  *
4  * @brief Header file for the simple cluster merging algorithm class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_SIMPLE_CLUSTER_MERGING_ALGORITHM_H
9 #define LAR_SIMPLE_CLUSTER_MERGING_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
14 
15 namespace lar_content
16 {
17 
18 /**
19  * @brief SimpleClusterMergingAlgorithm class
20  */
22 {
23 public:
24  /**
25  * @brief Default constructor
26  */
28 
29 private:
30  void GetListOfCleanClusters(const pandora::ClusterList *const pClusterList, pandora::ClusterVector &clusterVector) const;
31  void PopulateClusterMergeMap(const pandora::ClusterVector &clusterVector, ClusterMergeMap &clusterMergeMap) const;
32 
33  /**
34  * @brief Decide whether two clusters are associated
35  *
36  * @param pClusterI the address of the first cluster
37  * @param pClusterJ the address of the second cluster
38  *
39  * @return boolean
40  */
41  bool IsAssociated(const pandora::Cluster *const pClusterI, const pandora::Cluster *const pClusterJ) const;
42 
43  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
44 
45  unsigned int m_minCaloHitsPerCluster; ///< The min number of calo hits per candidate cluster
46  float m_maxClusterSeparation; ///< Maximum distance at which clusters can be joined
47 };
48 
49 } // namespace lar_content
50 
51 #endif // #ifndef LAR_SIMPLE_CLUSTER_MERGING_ALGORITHM_H
unsigned int m_minCaloHitsPerCluster
The min number of calo hits per candidate cluster.
float m_maxClusterSeparation
Maximum distance at which clusters can be joined.
void GetListOfCleanClusters(const pandora::ClusterList *const pClusterList, pandora::ClusterVector &clusterVector) const
Populate cluster vector with subset of cluster list, containing clusters judged to be clean...
bool IsAssociated(const pandora::Cluster *const pClusterI, const pandora::Cluster *const pClusterJ) const
Decide whether two clusters are associated.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
std::unordered_map< const pandora::Cluster *, pandora::ClusterList > ClusterMergeMap
std::vector< art::Ptr< recob::Cluster > > ClusterVector
void PopulateClusterMergeMap(const pandora::ClusterVector &clusterVector, ClusterMergeMap &clusterMergeMap) const
Form associations between pointing clusters.
ClusterMergingAlgorithm class.
Header file for the cluster merging algorithm class.