Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef EVENTVALIDATION_H
0004 #define EVENTVALIDATION_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <string>
0009 #include <vector>
0010 
0011 using std::string;
0012 using std::vector;
0013 
0014 #include <TH2.h>
0015 
0016 class PHCompositeNode;
0017 class TFile;
0018 
0019 class EventValidation : public SubsysReco
0020 {
0021  public:
0022   EventValidation();
0023 
0024   ~EventValidation() override;
0025 
0026   /** Called during initialization.
0027       Typically this is where you can book histograms, and e.g.
0028       register them to Fun4AllServer (so they can be output to file
0029       using Fun4AllServer::dumpHistos() method).
0030    */
0031   Int_t Init(PHCompositeNode *topNode) override;
0032 
0033   /** Called for each event.
0034       This is where you do the real work.
0035    */
0036   Int_t process_event(PHCompositeNode *topNode) override;
0037 
0038   /// Clean up internals after each event.
0039   Int_t ResetEvent(PHCompositeNode *topNode) override;
0040 
0041   /// Called at the end of all processing.
0042   Int_t End(PHCompositeNode *topNode) override;
0043 
0044   void set_outputFile(const std::string &m_outputFile) {
0045     this->m_outputFile = m_outputFile;
0046   }
0047 
0048  private:
0049 
0050   string m_emcTowerNode;
0051   string m_ihcTowerNode;
0052   string m_ohcTowerNode;
0053   string m_emcGeomNode;
0054   string m_ihcGeomNode;
0055   string m_ohcGeomNode;
0056   string m_recoJetName_r04;
0057 
0058   string m_outputFile;
0059 
0060   UInt_t  m_bins_phi;
0061   Float_t m_phi_low;
0062   Float_t m_phi_high;
0063 
0064   UInt_t  m_bins_eta;
0065   Float_t m_eta_low;
0066   Float_t m_eta_high;
0067 
0068   Float_t m_R;
0069 
0070   vector<TH2*> h2TowerPx;
0071   vector<TH2*> h2TowerPy;
0072   vector<TH2*> h2TowerEnergy;
0073 };
0074 
0075 #endif  // EVENTVALIDATION_H