File indexing completed on 2025-08-05 08:12:44
0001 #ifndef __HFMLTriggerOccupancy_H__
0002 #define __HFMLTriggerOccupancy_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
0012 class TTree;
0013 class TFile;
0014 class TH1F;
0015 class TH2F;
0016 class TH3F;
0017
0018 class PHCompositeNode;
0019 class PHG4CylinderGeomContainer;
0020 class PHG4TruthInfoContainer;
0021 class TrkrHitSetContainer;
0022 class SvtxEvalStack;
0023 class PdbParameterMap;
0024
0025 namespace HepMC
0026 {
0027 class GenEvent;
0028 }
0029
0030 class HFMLTriggerOccupancy : public SubsysReco
0031 {
0032 public:
0033 HFMLTriggerOccupancy(std::string filename);
0034
0035 int Init(PHCompositeNode *);
0036 int InitRun(PHCompositeNode *);
0037 int process_event(PHCompositeNode *);
0038 int End(PHCompositeNode *);
0039
0040 double
0041 get_eta_max() const
0042 {
0043 return _eta_max;
0044 }
0045
0046 void
0047 set_eta_max(double etaMax)
0048 {
0049 _eta_max = etaMax;
0050 }
0051
0052 double
0053 get_eta_min() const
0054 {
0055 return _eta_min;
0056 }
0057
0058 void
0059 set_eta_min(double etaMin)
0060 {
0061 _eta_min = etaMin;
0062 }
0063
0064
0065
0066
0067
0068
0069 int get_embedding_id() const { return _embedding_id; }
0070
0071
0072
0073
0074
0075
0076 void set_embedding_id(int id) { _embedding_id = id; }
0077
0078 private:
0079 int _ievent;
0080
0081 TFile *_f;
0082 std::fstream m_jsonOut;
0083
0084 std::string _foutname;
0085
0086 double _eta_min;
0087 double _eta_max;
0088
0089
0090
0091
0092
0093 int _embedding_id;
0094
0095 unsigned int _nlayers_maps;
0096 enum {kNCHip = 9};
0097
0098
0099 SvtxEvalStack *_svtxevalstack;
0100 TrkrHitSetContainer *m_hitsetcont;
0101 PHG4CylinderGeomContainer *m_Geoms;
0102 PHG4TruthInfoContainer *m_truthInfo;
0103 PdbParameterMap *m_Flags;
0104
0105 TH1F *m_hNorm;
0106 TH1F *m_hNChEta;
0107 TH1F *m_hVertexZ;
0108
0109 TH2F *m_hitStaveLayer;
0110 TH2F *m_hitModuleHalfStave;
0111 TH2F *m_hitChipModule;
0112
0113 TH3F *m_hitLayerMap;
0114 TH3F *m_hitPixelPhiMap;
0115 TH3F *m_hitPixelPhiMapHL;
0116 TH3F *m_hitPixelZMap;
0117
0118 TH1F *m_Multiplicity;
0119 TH2F *m_LayerMultiplicity;
0120 TH3F *m_LayerChipMultiplicity;
0121
0122 };
0123
0124 #endif