APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
PerfectChargedClusterSeparationAlgorithm.h
Go to the documentation of this file.
1 
10 #ifndef PERFECTCHARGEDCLUSTERSEPARATIONALGORITHM_H
11 #define PERFECTCHARGEDCLUSTERSEPARATIONALGORITHM_H 1
12 
13 #include "Pandora/Algorithm.h"
14 
15 namespace april_content
16 {
17 
21 class PerfectChargedClusterSeparationAlgorithm : 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::CaloHit*, const pandora::Cluster*> CaloHitToClusterMap;
47  typedef std::map<const pandora::MCParticle*, pandora::ClusterList> MCParticleToClusterListMap;
48  typedef std::map<const pandora::MCParticle*, pandora::CaloHitList> MCParticleToCaloHitListMap;
49 
50  //void AddToCaloHitListMap(const pandora::CaloHit* const pCaloHitToAdd,
51  // const pandora::MCParticle *const pMCParticle, MCParticleToCaloHitListMap &mcParticleToCaloHitListMap) const;
52 
53  //void AddToClusterListMap(const pandora::Cluster* const pClusterToAdd,
54  // const pandora::MCParticle *const pMCParticle, MCParticleToClusterListMap &mcParticleToClusterListMap) const;
55 
56  //void ClearCaloHitListMap(MCParticleToCaloHitListMap &mcParticleToCaloHitListMap) const;
57 
58  //void CreateNeutralClusters(MCParticleToCaloHitListMap& mcParticleToCaloHitListMap) const;
59 
60  //void RemoveClusterCaloHitAssociations(CaloHitToClusterMap& caloHitToClusterRemoveMap) const;
61 
62  //void AddClusterCaloHitAssociations(CaloHitToClusterMap& caloHitToClusterAddMap) const;
63 
64  pandora::StatusCode ClusterSeparation(pandora::ClusterList& localClusterList, MCParticleToCaloHitListMap& mcParticleToCaloHitListMap);
65 
66  void AddToClusterMap(const pandora::CaloHit* pCaloHit, const pandora::MCParticle* pMCParticle,
67  MCParticleToCaloHitListMap& mcParticleToCaloHitListMap);
68 
69  pandora::StatusCode CreateClusters(pandora::ClusterList& clusterList, MCParticleToCaloHitListMap& mcParticleToCaloHitListMap) const;
70 
71 };
72 
73 //------------------------------------------------------------------------------------------------------------------------------------------
74 
75 inline pandora::Algorithm *PerfectChargedClusterSeparationAlgorithm::Factory::CreateAlgorithm() const
76 {
78 }
79 
80 }
81 
82 #endif // PERFECTCHARGEDCLUSTERSEPARATIONALGORITHM_H
pandora::StatusCode CreateClusters(pandora::ClusterList &clusterList, MCParticleToCaloHitListMap &mcParticleToCaloHitListMap) const
Definition: PerfectChargedClusterSeparationAlgorithm.cc:142
PerfectChargedClusterSeparationAlgorithm()
Default constructor.
Definition: PerfectChargedClusterSeparationAlgorithm.cc:20
Factory class for instantiating algorithm.
Definition: PerfectChargedClusterSeparationAlgorithm.h:27
PerfectChargedClusterSeparationAlgorithm class.
Definition: PerfectChargedClusterSeparationAlgorithm.h:21