Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHMicromegasTpcTrackMatching.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHMicromegasTpcTrackMatching.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef PHMICROMEGASTPCTRACKMATCHING_H
4 #define PHMICROMEGASTPCTRACKMATCHING_H
5 
6 #include <fun4all/SubsysReco.h>
9 
10 #include <trackbase/TrkrDefs.h>
11 
12 #include <array>
13 #include <string>
14 #include <vector>
15 
16 class ActsGeometry;
19 class TrackSeedContainer;
20 class PHCompositeNode;
22 class TrackSeed;
23 class TrkrCluster;
24 class TF1;
25 class TH1;
26 
28 {
29 
30  public:
31  PHMicromegasTpcTrackMatching(const std::string &name = "PHMicromegasTpcTrackMatching");
32  ~PHMicromegasTpcTrackMatching() override = default;
33 
34  void set_rphi_search_window_lyr1(const double win){_rphi_search_win[0] = win;}
35  void set_z_search_window_lyr1(const double win){_z_search_win[0] = win;}
36  void set_rphi_search_window_lyr2(const double win){_rphi_search_win[1] = win;}
37  void set_z_search_window_lyr2(const double win){_z_search_win[1] = win;}
38  void set_min_tpc_layer(const unsigned int layer){_min_tpc_layer = layer;}
40  void SetIteration(int iter){_n_iteration = iter;}
41 
42  int InitRun(PHCompositeNode* topNode) override;
43  int process_event(PHCompositeNode*) override;
44  int End(PHCompositeNode*) override;
45 
46  // deprecated calls
47  inline void set_sc_calib_mode(const bool) {}
48  inline void set_collision_rate(const double) {}
49 
50  private:
51 
53  int GetNodes(PHCompositeNode* topNode);
54 
56  Acts::Vector3 getGlobalPosition( TrkrDefs::cluskey key, TrkrCluster* cluster, short int crossing, unsigned int side);
57 
59  static constexpr unsigned int _n_mm_layers = 2;
60 
61  bool _use_truth_clusters = false;
64 
68 
70  std::array<double,_n_mm_layers> _rphi_search_win = {0.25, 13.0};
71 
73  std::array<double,_n_mm_layers> _z_search_win = {26.0, 0.25};
74 
75  // range of TPC layers to use in projection to micromegas
76  unsigned int _min_tpc_layer = 38;
77 
79 
80  unsigned int _min_mm_layer = 55;
81 
83  int _event = -1;
84 
88  int _n_iteration = 0;
89  // std::string _track_map_name = "TpcTrackSeedContainer";
90 
92 
93  // crossing z correction
95 
96  // distortion corrections
100 
103 
105  bool _test_windows = false;
106 
107 };
108 
109 #endif // PHMICROMEGASTPCTRACKMATCHING_H