Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:14:51

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef JETHISTOGRAMMER_H
0004 #define JETHISTOGRAMMER_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <string>
0009 #include <TH1F.h>
0010 
0011 class PHCompositeNode;
0012 class TH1F;
0013 const int nEtaBins = 4;
0014 
0015 class jetHistogrammer : public SubsysReco
0016 {
0017  public:
0018 
0019   jetHistogrammer(const std::string &name = "jetHistogrammer", const std::string &fileout = "jetHistogrammer.root");
0020 
0021   ~jetHistogrammer() override;
0022 
0023   /** Called during initialization.
0024       Typically this is where you can book histograms, and e.g.
0025       register them to Fun4AllServer (so they can be output to file
0026       using Fun4AllServer::dumpHistos() method).
0027    */
0028   int Init(PHCompositeNode *topNode) override;
0029 
0030   /** Called for first event when run number is known.
0031       Typically this is where you may want to fetch data from
0032       database, because you know the run number. A place
0033       to book histograms which have to know the run number.
0034    */
0035   int InitRun(PHCompositeNode *topNode) override;
0036 
0037   /** Called for each event.
0038       This is where you do the real work.
0039    */
0040   int process_event(PHCompositeNode *topNode) override;
0041 
0042   /// Clean up internals after each event.
0043   int ResetEvent(PHCompositeNode *topNode) override;
0044 
0045   /// Called at the end of each run.
0046   int EndRun(const int runnumber) override;
0047 
0048   /// Called at the end of all processing.
0049   int End(PHCompositeNode *topNode) override;
0050 
0051   /// Reset
0052   int Reset(PHCompositeNode * /*topNode*/) override;
0053 
0054   void Print(const std::string &what = "ALL") const override;
0055 
0056  private:
0057 
0058   TH1F *ptGJet[nEtaBins];
0059   TH1F *ptPJet;
0060   std::string  m_outputFilename;
0061   
0062   float etaBins[nEtaBins] = {0,0.7,1.1,1.5};
0063   
0064   int getEtaBin(float eta);
0065 };
0066 
0067 #endif // JETHISTOGRAMMER_H