EIC 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 
16 // forward declarations
17 class PHCompositeNode;
18 
28 {
29  public:
30  DetermineTowerBackground(const std::string &name = "DetermineTowerBackground");
32 
33  int InitRun(PHCompositeNode *topNode) override;
34  int process_event(PHCompositeNode *topNode) override;
35 
36  void SetBackgroundOutputName(const std::string &name) { _backgroundName = name; }
37  void SetSeedType(int seed_type) { _seed_type = seed_type; }
38  void SetFlow(int do_flow) { _do_flow = do_flow; };
39 
40  void SetSeedJetD(float D) { _seed_jet_D = D; };
41  void SetSeedJetPt(float pt) { _seed_jet_pt = pt; };
42 
43  private:
44  int CreateNode(PHCompositeNode *topNode);
45  void FillNode(PHCompositeNode *topNode);
46 
47  int _do_flow;
48  float _v2;
49  float _Psi2;
50  std::vector<std::vector<float> > _UE;
51  int _nStrips;
52  int _nTowers;
53 
56 
57  std::vector<std::vector<float> > _EMCAL_E;
58  std::vector<std::vector<float> > _IHCAL_E;
59  std::vector<std::vector<float> > _OHCAL_E;
60 
61  // 1-D energies vs. phi (integrated over eta strips with complete
62  // phi coverage, and all layers)
63  std::vector<float> _FULLCALOFLOW_PHI_E;
64  std::vector<float> _FULLCALOFLOW_PHI_VAL;
65 
66  std::string _backgroundName;
67 
69  float _seed_jet_D;
70  float _seed_jet_pt;
71 
72  std::vector<float> _seed_eta;
73  std::vector<float> _seed_phi;
74 };
75 
76 #endif