Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:12:18

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef CALOHOTTOWERSIM_H
0004 #define CALOHOTTOWERSIM_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <string>
0009 #include <vector>
0010 
0011 #include <TH2.h>
0012 
0013 class PHCompositeNode;
0014 class CDBTTree;
0015 
0016 class CaloHotTowerSim : public SubsysReco
0017 {
0018  public:
0019 
0020   CaloHotTowerSim(const std::string &name = "CaloHotTowerSim");
0021 
0022   ~CaloHotTowerSim() override;
0023 
0024   /** Called during initialization.
0025       Typically this is where you can book histograms, and e.g.
0026       register them to Fun4AllServer (so they can be output to file
0027       using Fun4AllServer::dumpHistos() method).
0028    */
0029   Int_t Init(PHCompositeNode *topNode) override;
0030 
0031   /** Called for each event.
0032       This is where you do the real work.
0033    */
0034   Int_t process_event(PHCompositeNode *topNode) override;
0035 
0036   /// Called at the end of all processing.
0037   Int_t End(PHCompositeNode *topNode) override;
0038 
0039   void setOutputFile(const std::string &outputFile) {
0040     this->m_outputFile = outputFile;
0041   }
0042 
0043  private:
0044 
0045   UInt_t m_iEvent;
0046   UInt_t m_bins_events;
0047 
0048   UInt_t m_bins_phi;
0049   UInt_t m_bins_eta;
0050 
0051   Float_t m_min_towerE;
0052   Float_t m_energy_min;
0053   Float_t m_energy_max;
0054 
0055   UInt_t m_avgBadTowers;
0056 
0057   std::string m_emcTowerNode;
0058   std::string m_outputFile;
0059 
0060   TH1* hEvents;
0061   TH2* h2TowerEnergy;
0062   TH2* h2TowerControlEnergy;
0063 };
0064 
0065 #endif // CALOHOTTOWERSIM_H