LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
SimpleClusterCreationAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_SIMPLE_CLUSTER_CREATION_ALGORITHM_H
9 #define LAR_SIMPLE_CLUSTER_CREATION_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
13 #include <unordered_map>
14 
15 namespace lar_content
16 {
17 
21 class SimpleClusterCreationAlgorithm : public pandora::Algorithm
22 {
23 public:
28 
29 private:
30  pandora::StatusCode Run();
31 
32  typedef std::unordered_map<const pandora::CaloHit *, pandora::CaloHitList> HitAssociationMap;
33 
40  void SelectCaloHits(const pandora::CaloHitList *const pInputList, pandora::CaloHitList &outputList) const;
41 
48  void BuildAssociationMap(const pandora::CaloHitList &caloHitList, HitAssociationMap &hitAssociationMap) const;
49 
56  void CreateClusters(const pandora::CaloHitList &caloHitList, const HitAssociationMap &hitAssociationMap) const;
57 
67  void CollectAssociatedHits(const pandora::CaloHit *const pSeedCaloHit, const pandora::CaloHit *const pCurrentCaloHit,
68  const HitAssociationMap &hitAssociationMap, const pandora::CaloHitSet &vetoList, pandora::CaloHitList &mergeList) const;
69 
70  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
71 
73 };
74 
75 } // namespace lar_content
76 
77 #endif // #ifndef LAR_SIMPLE_CLUSTER_CREATION_ALGORITHM_H
void BuildAssociationMap(const pandora::CaloHitList &caloHitList, HitAssociationMap &hitAssociationMap) const
Create map of associations between calo hits.
void SelectCaloHits(const pandora::CaloHitList *const pInputList, pandora::CaloHitList &outputList) const
Select calo hits for clustering.
void CreateClusters(const pandora::CaloHitList &caloHitList, const HitAssociationMap &hitAssociationMap) const
Create clusters from selected calo hits and their associations.
std::unordered_map< const pandora::CaloHit *, pandora::CaloHitList > HitAssociationMap
float m_clusteringWindowSquared
Maximum distance (squared) for two hits to be joined.
void CollectAssociatedHits(const pandora::CaloHit *const pSeedCaloHit, const pandora::CaloHit *const pCurrentCaloHit, const HitAssociationMap &hitAssociationMap, const pandora::CaloHitSet &vetoList, pandora::CaloHitList &mergeList) const
For a given seed calo hits, collect up all the associated calo hits.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)