Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:36

0001 #ifndef JETBACKGROUND_SUBTRACTTOWERS_H
0002 #define JETBACKGROUND_SUBTRACTTOWERS_H
0003 
0004 //===========================================================
0005 /// \file SubtractTowers.h
0006 /// \brief creates new UE-subtracted towers
0007 /// \author Dennis V. Perepelitsa
0008 //===========================================================
0009 
0010 #include <fun4all/SubsysReco.h>
0011 
0012 #include <string>
0013 
0014 // forward declarations
0015 class PHCompositeNode;
0016 
0017 /// \class SubtractTowers
0018 ///
0019 /// \brief creates new UE-subtracted towers
0020 ///
0021 /// Using a previously determined background UE density, this module
0022 /// constructs a new set of towers by subtracting the background from
0023 /// existing raw towers
0024 ///
0025 class SubtractTowers : public SubsysReco
0026 {
0027  public:
0028   SubtractTowers(const std::string &name = "SubtractTowers");
0029   ~SubtractTowers() override {}
0030 
0031   int InitRun(PHCompositeNode *topNode) override;
0032   int process_event(PHCompositeNode *topNode) override;
0033 
0034   void SetFlowModulation(bool use_flow_modulation) { _use_flow_modulation = use_flow_modulation; }
0035   void set_towerinfo(bool use_towerinfo)
0036   {
0037     m_use_towerinfo = use_towerinfo;
0038   }
0039   void set_towerNodePrefix(const std::string &prefix)
0040   {
0041     m_towerNodePrefix = prefix;
0042     return;
0043   }
0044 
0045  private:
0046   int CreateNode(PHCompositeNode *topNode);
0047 
0048   bool m_use_towerinfo{false};
0049   bool _use_flow_modulation{false};
0050   std::string m_towerNodePrefix{"TOWERINFO_CALIB"};
0051   std::string EMTowerName;
0052   std::string IHTowerName;
0053   std::string OHTowerName;
0054 };
0055 
0056 #endif