File indexing completed on 2026-09-27 09:15:00
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef LC_TRACK_CLUSTER_ASSOCIATION_ALGORITHM_H
0009 #define LC_TRACK_CLUSTER_ASSOCIATION_ALGORITHM_H 1
0010
0011 #include "Pandora/Algorithm.h"
0012
0013 #include <unordered_map>
0014
0015 namespace lc_content {
0016
0017 template <typename, unsigned int>
0018 class KDTreeLinkerAlgo;
0019 template <typename, unsigned int>
0020 class KDTreeNodeInfoT;
0021
0022
0023
0024
0025
0026
0027 class TrackClusterAssociationAlgorithm : public pandora::Algorithm {
0028 public:
0029
0030
0031
0032 TrackClusterAssociationAlgorithm();
0033
0034 private:
0035 pandora::StatusCode Run();
0036
0037 typedef KDTreeLinkerAlgo<const pandora::CaloHit*, 4> HitKDTree;
0038 typedef KDTreeNodeInfoT<const pandora::CaloHit*, 4> HitKDNode;
0039 typedef std::unordered_multimap<std::pair<const pandora::Track*, unsigned int>, const pandora::CaloHit*>
0040 TracksToHitsInPseudoLayerMap;
0041 typedef std::unordered_map<const pandora::CaloHit*, const pandora::Cluster*> HitsToClustersMap;
0042
0043 pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
0044
0045 float m_lowEnergyCut;
0046 float m_maxTrackClusterDistance;
0047
0048 unsigned int m_maxSearchLayer;
0049 float m_parallelDistanceCut;
0050 float m_minTrackClusterCosAngle;
0051 };
0052
0053 }
0054
0055 #endif