File indexing completed on 2025-08-05 08:12:44
0001 #ifndef __HFMLTriggerInterface_H__
0002 #define __HFMLTriggerInterface_H__
0003
0004
0005 #include <fun4all/SubsysReco.h>
0006 #include <limits.h>
0007 #include <cmath>
0008 #include <fstream> // std::fstream
0009 #include <string>
0010 #include <vector>
0011 #include <map>
0012
0013 class TTree;
0014 class TFile;
0015 class TH2F;
0016 class TH3F;
0017
0018 class PdbParameterMap;
0019 class PHCompositeNode;
0020 class PHG4CylinderGeomContainer;
0021 class PHG4HitContainer;
0022 class PHHepMCGenEventMap;
0023 class PHG4TruthInfoContainer;
0024 class PHG4Hit;
0025
0026
0027 class TrkrHitSetContainer;
0028
0029
0030 namespace HepMC
0031 {
0032 class GenEvent;
0033 }
0034
0035 class HFMLTriggerInterface : public SubsysReco
0036 {
0037 public:
0038 HFMLTriggerInterface(std::string filename);
0039
0040 int Init(PHCompositeNode *);
0041 int InitRun(PHCompositeNode *);
0042 int process_event(PHCompositeNode *);
0043 int End(PHCompositeNode *);
0044
0045 double
0046 get_eta_max() const
0047 {
0048 return _eta_max;
0049 }
0050
0051 void
0052 set_eta_max(double etaMax)
0053 {
0054 _eta_max = etaMax;
0055 }
0056
0057 double
0058 get_eta_min() const
0059 {
0060 return _eta_min;
0061 }
0062
0063 void
0064 set_eta_min(double etaMin)
0065 {
0066 _eta_min = etaMin;
0067 }
0068
0069
0070
0071
0072
0073
0074 int get_embedding_id() const { return _embedding_id; }
0075
0076
0077
0078
0079
0080
0081 void set_embedding_id(int id) { _embedding_id = id; }
0082
0083 int load_nodes(PHCompositeNode* topNode);
0084
0085 private:
0086 int _ievent;
0087
0088 TFile *_f;
0089 std::fstream m_jsonOut;
0090
0091 std::string _foutname;
0092
0093 double _eta_min;
0094 double _eta_max;
0095
0096
0097
0098
0099
0100 int _embedding_id;
0101
0102 unsigned int _nlayers_maps;
0103
0104
0105
0106
0107 TrkrHitSetContainer *m_hitsets;
0108
0109 PHHepMCGenEventMap *m_GenEventMap;
0110 PHG4TruthInfoContainer *m_truthInfo;
0111 PHG4HitContainer *m_g4hits_mvtx;
0112
0113
0114
0115
0116 PdbParameterMap *m_Flags;
0117
0118 PHG4CylinderGeomContainer *m_Geoms;
0119
0120 TH2F *m_hitStaveLayer;
0121 TH2F *m_hitModuleHalfStave;
0122 TH2F *m_hitChipModule;
0123
0124 TH3F *m_hitLayerMap;
0125 TH3F *m_hitPixelPhiMap;
0126 TH3F *m_hitPixelPhiMapHL;
0127 TH3F *m_hitPixelZMap;
0128
0129 };
0130
0131 #endif