Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:13:23

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef TOWERRHOANA_H
0004 #define TOWERRHOANA_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <string>
0009 #include <utility>  // std::pair, std::make_pair
0010 #include <vector>
0011 
0012 class PHCompositeNode;
0013 
0014 class TH1;
0015 
0016 
0017 /// \class TowerRhoAna
0018 /// \brief SubsysReco module that plots tower rho information
0019 /// \author: Tanner Mengel
0020 
0021 class TowerRhoAna : public SubsysReco
0022 {
0023 
0024     public:
0025 
0026         TowerRhoAna(const std::string &outputfilename = "TowerRhoAna.root");
0027         ~TowerRhoAna() override {};
0028 
0029         void add_mult_rho_node(const std::string &name)
0030         {
0031             m_do_mult_rho = true;
0032             m_mult_rho_node = name;
0033         }
0034         void add_area_rho_node(const std::string &name)
0035         {
0036             m_do_area_rho = true;
0037             m_area_rho_node = name;
0038         }
0039 
0040         // standard Fun4All functions
0041         int Init(PHCompositeNode *topNode) override;
0042         int process_event(PHCompositeNode *topNode) override;
0043         int End(PHCompositeNode *topNode) override;
0044 
0045 
0046     private:
0047 
0048         //! Input Node strings
0049         std::string m_outputFileName{ "TowerRhoAna.root"};
0050 
0051         bool m_do_mult_rho{false};
0052         bool m_do_area_rho{false};
0053         std::string m_mult_rho_node{};
0054         std::string m_area_rho_node{};
0055 
0056 
0057         //histos
0058         TH1 * h1_mult_rho{nullptr};
0059         TH1 * h1_mult_rho_sigma{nullptr};
0060         TH1 * h1_area_rho{nullptr};
0061         TH1 * h1_area_rho_sigma{nullptr};
0062 
0063 
0064 
0065 };
0066 
0067 #endif // TOWERRHOANA_H