APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
PerfectNeutralHitRecoveryAlgorithm.h
Go to the documentation of this file.
1 
10 #ifndef PERFECTNEUTRALHITRECOVERYALGORITHM_H
11 #define PERFECTNEUTRALHITRECOVERYALGORITHM_H 1
12 
13 #include "Pandora/Algorithm.h"
14 
15 namespace april_content
16 {
17 
21 class PerfectNeutralHitRecoveryAlgorithm : public pandora::Algorithm
22 {
23 public:
27  class Factory : public pandora::AlgorithmFactory
28  {
29  public:
30  pandora::Algorithm *CreateAlgorithm() const;
31  };
32 
37 
38 protected:
39 
40 private:
41  pandora::StatusCode Run();
42  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
43 
44  typedef std::map<const pandora::MCParticle*, pandora::CaloHitList*> MCParticleToCaloHitListMap;
45  //typedef std::map<const pandora::MCParticle*, const pandora::Cluster*> MCParticleToClusterMap;
46  typedef std::map<const pandora::MCParticle*, pandora::ClusterList*> MCParticleToClusterListMap;
47  typedef std::map<const pandora::CaloHit*, const pandora::Cluster*> CaloHitToClusterMap;
48 
55  void SimpleMCParticleCaloHitListCollection(const pandora::CaloHit* const pCaloHit,
56  MCParticleToCaloHitListMap &mcParticleToCaloHitListMap) const;
57 
58  //void SimpleMCParticleClusterCollection(const pandora::Cluster* const pCluster, MCParticleToClusterMap &mcParticleToClusterMap) const;
59 
60  void SimpleMCParticleClusterListCollection(const pandora::Cluster *const pCluster,
61  MCParticleToClusterListMap &mcParticleToClusterListMap) const;
62 
69  //void FullMCParticleCollection(const pandora::CaloHit *const pCaloHit, MCParticleToHitListMap &mcParticleToHitListMap) const;
70 
79  void AddToCaloHitListMap(const pandora::CaloHit* const pCaloHitToAdd,
80  const pandora::MCParticle *const pMCParticle, MCParticleToCaloHitListMap &mcParticleToCaloHitListMap) const;
81 
82  void AddToClusterListMap(const pandora::Cluster* const pClusterToAdd,
83  const pandora::MCParticle *const pMCParticle, MCParticleToClusterListMap &mcParticleToClusterListMap) const;
84 
85  void ClearCaloHitListMap(MCParticleToCaloHitListMap &mcParticleToCaloHitListMap) const;
86 
87  void CreateNeutralClusters(MCParticleToCaloHitListMap& mcParticleToCaloHitListMap) const;
88 
89  void RemoveClusterCaloHitAssociations(CaloHitToClusterMap& caloHitToClusterRemoveMap) const;
90 
91  void AddClusterCaloHitAssociations(CaloHitToClusterMap& caloHitToClusterAddMap) const;
92 
99  //pandora::StatusCode MergeCaloHits(const MCParticleToCaloHitListMap &mcParticleToCaloHitListMap,
100  // const MCParticleToClusterMap &mcParticleToClusterMap) const;
101 
102 };
103 
104 //------------------------------------------------------------------------------------------------------------------------------------------
105 
106 inline pandora::Algorithm *PerfectNeutralHitRecoveryAlgorithm::Factory::CreateAlgorithm() const
107 {
109 }
110 
111 }
112 
113 #endif // PERFECTNEUTRALHITRECOVERYALGORITHM_H
PerfectNeutralHitRecoveryAlgorithm class.
Definition: PerfectNeutralHitRecoveryAlgorithm.h:21
void SimpleMCParticleCaloHitListCollection(const pandora::CaloHit *const pCaloHit, MCParticleToCaloHitListMap &mcParticleToCaloHitListMap) const
Simple mc particle collection, using main mc particle associated with each calo hit.
PerfectNeutralHitRecoveryAlgorithm()
Default constructor.
Definition: PerfectNeutralHitRecoveryAlgorithm.cc:20
void AddToCaloHitListMap(const pandora::CaloHit *const pCaloHitToAdd, const pandora::MCParticle *const pMCParticle, MCParticleToCaloHitListMap &mcParticleToCaloHitListMap) const
Full mc particle collection, using map of mc particles to hit weights; fragment calo hits where neces...
Definition: PerfectNeutralHitRecoveryAlgorithm.cc:279
Factory class for instantiating algorithm.
Definition: PerfectNeutralHitRecoveryAlgorithm.h:27