ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MvtxClusterizer.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file MvtxClusterizer.h
1 
7 #ifndef MVTX_MVTXCLUSTERIZER_H
8 #define MVTX_MVTXCLUSTERIZER_H
9 
10 #include <fun4all/SubsysReco.h>
11 #include <trackbase/TrkrDefs.h>
12 #include <trackbase/TrkrCluster.h>
13 
14 #include <string> // for string
15 #include <utility>
16 class PHCompositeNode;
17 class TrkrHit;
21 
26 {
27  public:
28  typedef std::pair<unsigned int, unsigned int> pixel;
29 
30  MvtxClusterizer(const std::string &name = "MvtxClusterizer");
31  ~MvtxClusterizer() override {}
32 
34  int Init(PHCompositeNode */*topNode*/) override { return 0; }
35 
37  int InitRun(PHCompositeNode *topNode) override;
38 
40  int process_event(PHCompositeNode *topNode) override;
41 
43  int End(PHCompositeNode */*topNode*/) override { return 0; }
44 
46  void SetZClustering(const bool make_z_clustering)
47  {
48  m_makeZClustering = make_z_clustering;
49  }
50  bool GetZClustering() const
51  {
52  return m_makeZClustering;
53  }
54 
55  private:
56  //bool are_adjacent(const pixel lhs, const pixel rhs);
57  bool are_adjacent(const std::pair<TrkrDefs::hitkey, TrkrHit*> &lhs, const std::pair<TrkrDefs::hitkey, TrkrHit*> &rhs);
58 
59  void ClusterMvtx(PHCompositeNode *topNode);
60  void PrintClusters(PHCompositeNode *topNode);
61 
62  // node tree storage pointers
65 
67 
68 
69 
70  // settings
71  bool m_makeZClustering; // z_clustering_option
72 };
73 
74 #endif // MVTX_MVTXCLUSTERIZER_H