EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TpcClusterizer.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TpcClusterizer.h
1 #ifndef TPC_TPCCLUSTERIZER_H
2 #define TPC_TPCCLUSTERIZER_H
3 
4 #include <fun4all/SubsysReco.h>
8 
9 #include <map>
10 #include <vector>
11 #include <string>
12 
13 class PHCompositeNode;
14 class TrkrHitSet;
20 
21 //typedef std::pair<int, int> iphiz;
22 //typedef std::pair<double, iphiz> ihit;
23 typedef std::pair<unsigned short, unsigned short> iphiz;
24 typedef std::pair<unsigned short, iphiz> ihit;
25 
26 class TpcClusterizer : public SubsysReco
27 {
28  public:
29  TpcClusterizer(const std::string &name = "TpcClusterizer");
30  ~TpcClusterizer() override = default;
31 
32  int InitRun(PHCompositeNode *topNode) override;
33  int process_event(PHCompositeNode *topNode) override;
34  int End(PHCompositeNode *topNode) override;
35 
36  void set_sector_fiducial_cut(const double cut){SectorFiducialCut = cut; }
37  void set_do_hit_association(bool do_assoc){do_hit_assoc = do_assoc;}
38  void set_max_cluster_half_size_phi(unsigned short size) { MaxClusterHalfSizePhi = size ;}
39  void set_max_cluster_half_size_z(unsigned short size) { MaxClusterHalfSizeZ = size ;}
40 
42 
43  private:
44  bool is_in_sector_boundary(int phibin, int sector, PHG4CylinderCellGeom *layergeom) const;
45 
51 
52  bool do_hit_assoc = true;
53  double pedestal = 74.4;
54  double SectorFiducialCut = 0.5;
55  unsigned short MaxClusterHalfSizePhi = 3;
56  unsigned short MaxClusterHalfSizeZ = 5;
57 
59 
63  double m_drift_velocity_scale = 1.0;
64 
65  // TPC shaping offset correction parameters
66  // From Tony Frawley May 13, 2021
67  double par0_neg = 0.0503;
68  double par0_pos = -0.0503;
69 
70 };
71 
72 #endif