Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DetermineTowerBackground.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file DetermineTowerBackground.h
1 #ifndef JETBACKGROUND_DETERMINETOWERBACKGROUND_H
2 #define JETBACKGROUND_DETERMINETOWERBACKGROUND_H
3 
4 //===========================================================
8 //===========================================================
9 
10 #include <fun4all/SubsysReco.h>
11 
12 // system includes
13 #include <string>
14 #include <vector>
15 #include <jetbase/Jet.h>
16 
17 // forward declarations
18 class PHCompositeNode;
19 
29 {
30  public:
31  DetermineTowerBackground(const std::string &name = "DetermineTowerBackground");
33 
34  int InitRun(PHCompositeNode *topNode) override;
35  int process_event(PHCompositeNode *topNode) override;
36 
38  void SetSeedType(int seed_type) { _seed_type = seed_type; }
39  void SetFlow(int do_flow) { _do_flow = do_flow; };
40 
41  void SetSeedJetD(float D) { _seed_jet_D = D; };
42  void SetSeedJetPt(float pt) { _seed_jet_pt = pt; };
43  void set_towerinfo(bool use_towerinfo)
44  {
45  m_use_towerinfo = use_towerinfo;
46  }
47  private:
48  int CreateNode(PHCompositeNode *topNode);
49  void FillNode(PHCompositeNode *topNode);
50 
51  int _do_flow;
52  float _v2;
53  float _Psi2;
54  std::vector<std::vector<float> > _UE;
55  int _nStrips;
56  int _nTowers;
57 
60 
61  std::vector<std::vector<float> > _EMCAL_E;
62  std::vector<std::vector<float> > _IHCAL_E;
63  std::vector<std::vector<float> > _OHCAL_E;
64 
65  std::vector<std::vector<int> > _EMCAL_T;
66  std::vector<std::vector<int> > _IHCAL_T;
67  std::vector<std::vector<int> > _OHCAL_T;
68 
69  // 1-D energies vs. phi (integrated over eta strips with complete
70  // phi coverage, and all layers)
71  std::vector<float> _FULLCALOFLOW_PHI_E;
72  std::vector<float> _FULLCALOFLOW_PHI_VAL;
73 
75 
77  float _seed_jet_D;
78  float _seed_jet_pt;
79 
80  std::vector<float> _seed_eta;
81  std::vector<float> _seed_phi;
82 
85 
86  bool m_use_towerinfo = false;
87 
88 };
89 
90 #endif