ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHRaveVertexing.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHRaveVertexing.h
1 
8 #ifndef TRACKRECO_PHRAVEVERTEXING_H
9 #define TRACKRECO_PHRAVEVERTEXING_H
10 
11 #include <fun4all/SubsysReco.h>
12 
13 #include <map> // for map, map<>::value_compare
14 #include <string>
15 #include <vector>
16 
17 namespace genfit
18 {
19 class GFRaveVertex;
20 class GFRaveVertexFactory;
21 class Track;
22 } /* namespace genfit */
23 
24 namespace PHGenFit
25 {
26 class Fitter;
27 } /* namespace PHGenFit */
28 
29 class PHTimer;
30 class SvtxTrack;
31 class SvtxTrackMap;
32 class SvtxVertexMap;
33 class PHCompositeNode;
35 
38 {
39  public:
40  typedef std::map<const genfit::Track*, unsigned int> GenFitTrackMap;
41 
43  PHRaveVertexing(const std::string& name = "PHRaveVertexing");
44 
46  ~PHRaveVertexing() override;
47 
49  int Init(PHCompositeNode*) override;
50 
52  int InitRun(PHCompositeNode*) override;
53 
55  int process_event(PHCompositeNode*) override;
56 
58  int End(PHCompositeNode*) override;
59 
60  const std::string& get_vertexing_method() const
61  {
62  return _vertexing_method;
63  }
64 
65  void set_vertexing_method(const std::string& vertexingMethod)
66  {
67  _vertexing_method = vertexingMethod;
68  }
69 
71  {
72  return _primary_pid_guess;
73  }
74 
75  void set_primary_pid_guess(int primaryPidGuess)
76  {
77  _primary_pid_guess = primaryPidGuess;
78  }
79 
81  {
83  }
84 
85  void set_over_write_svtxvertexmap(bool overWriteSvtxvertexmap)
86  {
87  _over_write_svtxvertexmap = overWriteSvtxvertexmap;
88  }
89 
91 
92  double get_vertex_min_ndf() const
93  {
94  return _vertex_min_ndf;
95  }
96 
97  void set_vertex_min_ndf(double vertexMinPT)
98  {
99  _vertex_min_ndf = vertexMinPT;
100  }
101 
102  void set_nmvtx_clusters_required(unsigned int n)
103  {
104  _nmvtx_required = n;
105  }
106 
107  private:
109  int _event;
110 
113 
116 
117  genfit::Track* TranslateSvtxToGenFitTrack(SvtxTrack* svtx);
118 
120  bool FillSvtxVertexMap(
121  const std::vector<genfit::GFRaveVertex*>& rave_vertices,
122  const GenFitTrackMap& gf_track_map);
123 
126 
128 
131 
132  unsigned int _nmvtx_required = 3; // require 3 or more mvtx clusters for track to be used in vertexing
133 
134  genfit::GFRaveVertexFactory* _vertex_finder;
135 
137  std::string _vertexing_method;
138 
142 
145 
148 };
149 
150 #endif