APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
FragmentsFromIsoHitsMergingAlgorithm.h
Go to the documentation of this file.
1 
6 #ifndef FRAGMENTSFROMISOHITSMERGINGALGORITHM_H
7 #define FRAGMENTSFROMISOHITSMERGINGALGORITHM_H 1
8 
9 #include "Pandora/Algorithm.h"
11 
12 #include "TVector3.h"
13 
16 typedef map<const pandora::CaloHit*, const pandora::Cluster*> HitsToClustersMap;
17 
18 namespace april_content
19 {
20 
25 class FragmentsFromIsoHitsMergingAlgorithm : public pandora::Algorithm
26 {
27 public:
31  class Factory : public pandora::AlgorithmFactory
32  {
33  public:
34  pandora::Algorithm *CreateAlgorithm() const;
35  };
36 
41 
42 
43 private:
44  pandora::StatusCode Run();
45  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
46 
47  typedef std::map<const pandora::MCParticle*, pandora::CaloHitList*> MCParticleToCaloHitListMap;
48  typedef std::map<const pandora::MCParticle*, const pandora::Cluster*> MCParticleToClusterMap;
49 
50  void CreateCluster(const pandora::CaloHitList *const caloHitList) const;
51 
52  pandora::StatusCode GetClusters(pandora::ClusterList& clusterList, const std::string& listName);
53 
54  pandora::StatusCode BuildKDTree(HitKDTree& hits_kdtree);
55 
56  TVector3 GetClustersAxis(const pandora::Cluster* pCluster);
57 
58  pandora::StatusCode SearchNearbyCaloHits(const pandora::CaloHit* pCaloHit,
59  std::vector<const pandora::CaloHit*>& nearbyHits, float wideX, float wideY, float wideZ, int layers);
60 
61  pandora::StatusCode MergeFragments(pandora::ClusterList& mainClusterList, pandora::ClusterList& clustersFromIsoHits);
62 
63 private:
64  float m_kernelBandwidth;
65  float m_clusterEpsilon;
66 };
67 
68 //------------------------------------------------------------------------------------------------------------------------------------------
69 
70 inline pandora::Algorithm *FragmentsFromIsoHitsMergingAlgorithm::Factory::CreateAlgorithm() const
71 {
73 }
74 
75 }
76 
77 #endif // FRAGMENTSFROMISOHITSMERGINGALGORITHM_H
Header file for the kd tree linker algo template class.
Class that implements the KDTree partition of 2D space and a closest point search algorithm...
Definition: TrackClusterAssociationAlgorithm.h:18
Data stored in each KDTree node. The dim1/dim2 fields are usually the duplication of some PFRecHit va...
Definition: TrackClusterAssociationAlgorithm.h:19
Factory class for instantiating algorithm.
Definition: FragmentsFromIsoHitsMergingAlgorithm.h:31
FragmentsFromIsoHitsMergingAlgorithm()
Default constructor.
Definition: FragmentsFromIsoHitsMergingAlgorithm.cc:23
FragmentsFromIsoHitsMergingAlgorithm class.
Definition: FragmentsFromIsoHitsMergingAlgorithm.h:25