Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-07-16 08:12:43

0001 #ifndef SEPDTOWERANALYSIS_H
0002 #define SEPDTOWERANALYSIS_H
0003 
0004 #include <fun4all/SubsysReco.h>
0005 
0006 #include <string>
0007 
0008 class PHCompositeNode;
0009 class TFile;
0010 class TH1F;
0011 class TH2F;
0012 class TTree;
0013 class TProfile;
0014 
0015 class sEPDTowerAnalysis : public SubsysReco
0016 {
0017  public:
0018   sEPDTowerAnalysis(const std::string &name = "sEPDTowerAnalysis");
0019   ~sEPDTowerAnalysis() override;
0020 
0021   int Init(PHCompositeNode *topNode) override;
0022   int InitRun(PHCompositeNode *topNode) override;
0023   int process_event(PHCompositeNode *topNode) override;
0024   int End(PHCompositeNode *topNode) override;
0025 
0026   void SetOutputFile(const std::string &filename) { m_outputFile = filename; }
0027 
0028  private:
0029   std::string m_outputFile;
0030   TFile *m_file;
0031 
0032   TH1F *h_energy_all;
0033   TH1F *h_energy_all_with_negative;
0034   TH1F *h_energy_tile;
0035   TH1F *h_energy_valid_time;
0036   TH1F *h_energy_nan_time;
0037   TH1F *h_time_all;
0038   TH1F *h_chi2_all;
0039   TH1F *h_pedestal_all;
0040   TH2F *h_energy_vs_time;
0041   TH2F *h_energy_vs_chi2;
0042   TProfile *h_energy_vs_chi2_profile;
0043   TH2F *h_chi2_vs_energy;
0044   TProfile *h_chi2_vs_energy_profile;
0045 
0046   TH1F *h_energy_fast;
0047   TH1F *h_time_fast;
0048   TH1F *h_chi2_fast;
0049   TH1F *h_pedestal_fast;
0050   TH2F *h_energy_vs_chi2_fast;
0051 
0052   TH2F *h_energy_template_vs_fast;
0053   TH2F *h_energy_template_vs_fast_time_cut1;
0054   TH2F *h_energy_template_vs_fast_time_cut2;
0055   TH2F *h_energy_template_vs_fast_fast_time_cut1;
0056   TH2F *h_energy_template_vs_fast_fast_time_cut2;
0057   TH1F *h_time_template;
0058   TH1F *h_time_fast_separate;
0059   TH2F *h_pedestal_template_vs_fast;
0060   TH2F *h_time_template_vs_fast;
0061 
0062   TH1F *h_event_summary;
0063   TH1F *h_energy_categories;
0064 
0065   TTree *m_tree;
0066   int m_event;
0067   int m_channel;
0068   int m_idx;
0069 
0070   float m_energy;
0071   float m_time;
0072   float m_chi2;
0073   float m_pedestal;
0074   bool m_valid_time;
0075 
0076   float m_energy_fast;
0077   float m_time_fast;
0078   float m_chi2_fast;
0079   float m_pedestal_fast;
0080   bool m_valid_time_fast;
0081 
0082   int m_total_channels;
0083   int m_channels_with_signal;
0084   int m_channels_valid_time;
0085   int m_channels_nan_time;
0086   int m_channels_zero_suppressed;
0087 };
0088 
0089 #endif