EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CaloTriggerSim.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CaloTriggerSim.h
1 #ifndef TRIGGER_CALOTRIGGERSIM_H
2 #define TRIGGER_CALOTRIGGERSIM_H
3 
4 //===========================================================
8 //===========================================================
9 
10 // sPHENIX includes
11 #include <fun4all/SubsysReco.h>
12 
13 // standard includes
14 #include <string>
15 #include <vector>
16 
17 // forward declarations
18 class PHCompositeNode;
19 
26 class CaloTriggerSim : public SubsysReco
27 {
28  public:
29  CaloTriggerSim(const std::string &name = "CaloTriggerSim");
30  ~CaloTriggerSim() override {}
31 
32  int InitRun(PHCompositeNode *topNode) override;
33  int process_event(PHCompositeNode *topNode) override;
34 
35  void set_truncation(const int emulate_truncation) { m_EmulateTruncationFlag = emulate_truncation; }
36  double truncate_8bit(const double raw_E) const;
37 
38  private:
39  int CreateNode(PHCompositeNode *topNode);
40  void FillNode(PHCompositeNode *topNode);
41 
43 
46 
49 
52 
56 
60 
64 
65  // needed since phi ranges are potentially different in EMCal vs. HCal
68 
69  // full calo (based on 0.1x0.1 HCal towers) limits and maps
72 
75 
78 
81 
84 
87 
88  // highest full calo window energies
92 
96 
100 
104 
108 
109  std::vector<std::vector<double> > m_EMCAL_1x1_MAP;
110  std::vector<std::vector<double> > m_EMCAL_2x2_MAP;
111  std::vector<std::vector<double> > m_EMCAL_4x4_MAP;
112  std::vector<std::vector<double> > m_FULLCALO_0p1x0p1_MAP;
113  std::vector<std::vector<double> > m_FULLCALO_0p2x0p2_MAP;
114  std::vector<std::vector<double> > m_FULLCALO_0p4x0p4_MAP;
115  std::vector<std::vector<double> > m_FULLCALO_0p6x0p6_MAP;
116  std::vector<std::vector<double> > m_FULLCALO_0p8x0p8_MAP;
117  std::vector<std::vector<double> > m_FULLCALO_1p0x1p0_MAP;
118 };
119 
120 #endif // TRIGGER_CALOTRIGGERSIM_H