ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RawClusterBuilderTemplate.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file RawClusterBuilderTemplate.h
1 #ifndef CALORECO_RAWCLUSTERBUILDERTEMPLATE_H
2 #define CALORECO_RAWCLUSTERBUILDERTEMPLATE_H
3 
4 #include <fun4all/SubsysReco.h>
5 
6 #include <string>
7 
8 class PHCompositeNode;
11 class BEmcRec;
12 
14 {
15  public:
16  RawClusterBuilderTemplate(const std::string& name = "RawClusterBuilderTemplate");
17  ~RawClusterBuilderTemplate() override;
18 
19  int InitRun(PHCompositeNode* topNode) override;
20  int process_event(PHCompositeNode* topNode) override;
21  void Detector(const std::string& d);
22 
24  void SetPlanarGeometry();
25  void PrintGeometry() { bPrintGeom = true; } // Prints it at InitRun time
26  void PrintCylGeom(RawTowerGeomContainer* towergeom, const std::string& fname);
27  void SetProfileProb(bool pprob) { bProfProb = pprob; }
28  void SetProbNoiseParam(float rn) { fProbNoiseParam = rn; }
29 
30  void set_threshold_energy(const float e) { _min_tower_e = e; }
31  void setEnergyNorm(float norm) { fEnergyNorm = norm; }
32  void checkenergy(const int i = 1) { chkenergyconservation = i; }
33  void LoadProfile(const std::string& fname);
34 
35  private:
36  void CreateNodes(PHCompositeNode* topNode);
37  bool Cell2Abs(RawTowerGeomContainer* towergeom, float phiC, float etaC, float& phi, float& eta);
38 
40  // BEmcProfile *_emcprof;
41 
43  float fEnergyNorm;
44 
45  float _min_tower_e;
47 
48  std::string detector;
49  std::string ClusterNodeName;
50 
51  int BINX0;
52  int NBINX;
53  int BINY0;
54  int NBINY;
55 
56  bool bPrintGeom;
57  bool bProfProb;
59 };
60 
61 #endif /* RawClusterBuilderTemplate_H__ */