ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4TpcPadBaselineShift.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4TpcPadBaselineShift.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4TPC_PHG4TpcPadBaselineShift_H
4 #define G4TPC_PHG4TpcPadBaselineShift_H
5 
6 #include <fun4all/SubsysReco.h>
7 
8 #include <climits>
9 #include <cmath>
10 #include <string>
11 #include <utility> // for pair
12 
13 class PHCompositeNode;
14 
15 class TTree;
16 class TFile;
17 
22 
23 struct ActsSurfaceMaps;
25 
27 {
28  public:
29  PHG4TpcPadBaselineShift(const std::string &name = "PHG4TpcPadBaselineShift");
30 
31  virtual ~PHG4TpcPadBaselineShift();
32  int Init(PHCompositeNode *topNode) override;
33  int InitRun(PHCompositeNode *topNode) override;
34  int process_event(PHCompositeNode *topNode) override;
35  //int ResetEvent(PHCompositeNode *topNode) override;
36 
37  //int EndRun(const int runnumber) override;
38 
39  int End(PHCompositeNode *topNode) override;
40 
41  //int Reset(PHCompositeNode * /*topNode*/) override;
42 
43  //void Print(const std::string &what = "ALL") const override;
44 
45  void setScale(float CScale);
46  void setFileName(const std::string &filename);
47  void writeTree(int f_writeTree);
48 
49  private:
50  bool is_in_sector_boundary(int phibin, int sector, PHG4CylinderCellGeom *layergeom);
51  float _hit_z = NAN;
52  float _hit_r = NAN;
53  float _hit_phi = NAN;
54  float _hit_e = NAN;
59 
65 
66  // bool do_hit_assoc = true;
67  // double pedestal = 74.4;
68  int _writeTree = 0;
69  double SectorFiducialCut = 0.5;
70 
71  // int NSearch = 2;
72  int NZBinsMax = 0;
73  float _CScale = 1.;
74 
75  TFile *outfile = nullptr;
76  std::string _filename = "./hitsBLS.root";
77 
78  TTree *_rawHits = nullptr;
79 };
80 
81 #endif // PHG4TpcPadBaselineShift_H