8 #ifndef APRIL_CHEATING_HIT_RECOVERY_ALGORITHM_H
9 #define APRIL_CHEATING_HIT_RECOVERY_ALGORITHM_H 1
11 #include "Pandora/Algorithm.h"
13 namespace april_content
15 typedef std::map<const pandora::MCParticle* const, pandora::CaloHitList> MCPCaloHitListMap;
16 typedef std::map<const pandora::MCParticle* const, pandora::ClusterList> MCPClusterListMap;
17 typedef std::map<const pandora::Cluster* const, pandora::CaloHitList> ClusterCaloHitListMap;
28 class Factory :
public pandora::AlgorithmFactory
31 pandora::Algorithm *CreateAlgorithm()
const;
35 pandora::StatusCode Run();
37 pandora::StatusCode MakeMCPClustersAssociation(MCPClusterListMap& mcpClusterListMap);
38 pandora::StatusCode MakeMCPHitsAssociation(MCPCaloHitListMap& mcpCaloHitListMap);
39 pandora::StatusCode AddHitToClusterByMCP(MCPClusterListMap& mcpClusterListMap, MCPCaloHitListMap& mcpCaloHitListMap);
40 pandora::StatusCode AddHitsToNewClusters(MCPCaloHitListMap& mcpCaloHitListMap);
42 pandora::StatusCode MakeClusterHitsAssociation(ClusterCaloHitListMap& clusterCaloHitListMap);
43 pandora::StatusCode AddHitToCluster(ClusterCaloHitListMap& clusterCaloHitListMap);
45 pandora::StatusCode MergeClusters();
47 pandora::StatusCode ReadSettings(
const pandora::TiXmlHandle xmlHandle);
49 bool m_shouldUseMCRecovery;
50 bool m_shouldUseMCMerge;
51 bool m_shouldUseRecovery;
53 unsigned int m_nNeighborHits;
55 float m_maxHitsDistance;
57 std::string m_mergedClusterListName;
60 inline pandora::Algorithm *CheatingHitRecoveryAlgorithm::Factory::CreateAlgorithm()
const
CheatingHitRecoveryAlgorithm class.
Definition: CheatingHitRecoveryAlgorithm.h:22
Factory class for instantiating algorithm.
Definition: CheatingHitRecoveryAlgorithm.h:28