APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
CheatingHitRecoveryAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef APRIL_CHEATING_HIT_RECOVERY_ALGORITHM_H
9 #define APRIL_CHEATING_HIT_RECOVERY_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
13 namespace april_content
14 {
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;
18 
22 class CheatingHitRecoveryAlgorithm : public pandora::Algorithm
23 {
24 public:
28  class Factory : public pandora::AlgorithmFactory
29  {
30  public:
31  pandora::Algorithm *CreateAlgorithm() const;
32  };
33 
34 private:
35  pandora::StatusCode Run();
36 
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);
41 
42  pandora::StatusCode MakeClusterHitsAssociation(ClusterCaloHitListMap& clusterCaloHitListMap);
43  pandora::StatusCode AddHitToCluster(ClusterCaloHitListMap& clusterCaloHitListMap);
44 
45  pandora::StatusCode MergeClusters();
46 
47  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
48 
49  bool m_shouldUseMCRecovery;
50  bool m_shouldUseMCMerge;
51  bool m_shouldUseRecovery;
52 
53  unsigned int m_nNeighborHits;
54 
55  float m_maxHitsDistance;
56 
57  std::string m_mergedClusterListName;
58 };
59 
60 inline pandora::Algorithm *CheatingHitRecoveryAlgorithm::Factory::CreateAlgorithm() const
61 {
62  return new CheatingHitRecoveryAlgorithm();
63 }
64 
65 } // namespace APRIL_content
66 
67 #endif
CheatingHitRecoveryAlgorithm class.
Definition: CheatingHitRecoveryAlgorithm.h:22
Factory class for instantiating algorithm.
Definition: CheatingHitRecoveryAlgorithm.h:28