Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:21:36

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 
0004 #ifndef DETINFO_H
0005 #define DETINFO_H
0006 
0007 #include <fun4all/SubsysReco.h>
0008 
0009 #include <string>
0010 #include <vector>
0011 #include <TMath.h>
0012 
0013 #include <cdbobjects/CDBTTree.h>
0014 
0015 
0016 
0017 class TFile;
0018 class TTree;
0019 class TNtuple;
0020 class TH1;
0021 class TProfile;
0022 
0023 class PHCompositeNode;
0024 
0025 class Detinfo : public SubsysReco
0026 {
0027  public:
0028 
0029   Detinfo(const std::string &name = "Detinfo");
0030 
0031   ~Detinfo() override;
0032 
0033   int Init(PHCompositeNode *topNode) override;
0034   int InitRun(PHCompositeNode *topNode) override;
0035   int process_event(PHCompositeNode *topNode) override;
0036   int ResetEvent(PHCompositeNode *topNode) override;
0037   int EndRun(const int runnumber) override;
0038   int End(PHCompositeNode *topNode) override;
0039   int Reset(PHCompositeNode * /*topNode*/) override;
0040   
0041   void set_filename(const char* file)
0042   { if(file) _outfile_name = file; }
0043     
0044  private:
0045  std::string _outfile_name;
0046  std::string m_sEPDMapName;
0047  std::string m_sEPDfieldname;
0048  bool m_overrideSEPDMapName{false};
0049  bool m_overrideSEPDFieldName{false};
0050  CDBTTree *cdbttree{nullptr};
0051  unsigned int key = 999;
0052  std::vector<unsigned int> v;
0053  
0054  uint64_t GL1Packet_BCO_ = 0;
0055  uint64_t intt_bco = 0;
0056    
0057 
0058   TTree* _event_tree;
0059   std::vector<int> _c;
0060   std::vector<float> _t;
0061   std::vector<float> _tt;
0062   std::vector<int> _a;
0063   std::vector<float> _p;
0064   std::vector<float> _pt;
0065   std::vector<float> _z;
0066   std::vector<float> _zt;
0067  
0068  TH1 *h_triggerVec{nullptr};
0069  float thisvertex{-999};
0070  float centrality_mbd_{std::numeric_limits<float>::quiet_NaN()};
0071  bool is_min_bias;
0072     
0073  float Qx_south{std::numeric_limits<float>::quiet_NaN()};
0074  float Qy_south{std::numeric_limits<float>::quiet_NaN()};
0075  float Qx_north{std::numeric_limits<float>::quiet_NaN()};
0076  float Qy_north{std::numeric_limits<float>::quiet_NaN()};
0077     
0078  float mbd_q_south{0.};
0079  float mbd_q_north{0.};
0080  float sepd_q_south{0.};
0081  float sepd_q_north{0.};
0082  float zdc_e_south{0.};
0083  float zdc_e_north{0.};
0084 
0085  float psi2_south{std::numeric_limits<float>::quiet_NaN()};
0086  float psi2_north{std::numeric_limits<float>::quiet_NaN()};
0087  int _event;
0088     
0089 };
0090 
0091 #endif // DETINFO_H