Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef QUICKHIJING_H
0004 #define QUICKHIJING_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <string>
0009 #include <vector>
0010 #include <TTree.h>
0011 #include <TFile.h>
0012 
0013 class PHCompositeNode;
0014 class PHG4Particle;
0015 class TTree;
0016 class TFile;
0017 
0018 class quickHIJING : public SubsysReco
0019 {
0020  public:
0021 
0022   quickHIJING(const std::string &name = "quickHIJING");
0023 
0024   ~quickHIJING() 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 Init(PHCompositeNode *topNode) override;
0032 
0033   /** Called for first event when run number is known.
0034       Typically this is where you may want to fetch data from
0035       database, because you know the run number. A place
0036       to book histograms which have to know the run number.
0037    */
0038   int InitRun(PHCompositeNode *topNode) override;
0039 
0040   /** Called for each event.
0041       This is where you do the real work.
0042    */
0043   int process_event(PHCompositeNode *topNode) override;
0044 
0045   /// Clean up internals after each event.
0046   int ResetEvent(PHCompositeNode *topNode) override;
0047 
0048   /// Called at the end of each run.
0049   int EndRun(const int runnumber) override;
0050 
0051   /// Called at the end of all processing.
0052   int End(PHCompositeNode *topNode) override;
0053 
0054   /// Reset
0055   int Reset(PHCompositeNode * /*topNode*/) override;
0056 
0057   void Print(const std::string &what = "ALL") const override;
0058 
0059  private:
0060 
0061   TTree *T;
0062   std::vector<int> m_pid = {0};
0063   std::vector<float> m_pt =  {0};
0064   std::vector<float> m_eta = {0};
0065   std::vector<float> m_phi = {0};
0066   std::vector<float> m_e = {0};
0067   std::vector<float> m_p = {0};
0068   float m_psi2 = 0;
0069   float m_cent = 0;
0070   float m_b = 0;
0071   std::string Outfile;
0072   TFile *out;
0073 
0074   float getpT(PHG4Particle *particle);
0075   float getPhi(PHG4Particle *particle);
0076   float getEta(PHG4Particle *particle);
0077   float getP(PHG4Particle *particle);
0078   
0079 };
0080 
0081 #endif // QUICKHIJING_H