File indexing completed on 2025-08-05 08:21:36
0001
0002
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 * ) 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