Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:12:44

0001 #ifndef __HFMLTriggerInterface_H__
0002 #define __HFMLTriggerInterface_H__
0003 
0004 // --- need to check all these includes...
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 //class SvtxEvalStack;
0026 //class TrkrClusterHitAssoc;
0027 class TrkrHitSetContainer;
0028 //class TrkrHitTruthAssoc;
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   //! The embedding ID for the HepMC subevent to be analyzed.
0070   //! embedding ID for the event
0071   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0072   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0073   //! Usually, ID = 0 means the primary Au+Au collision background
0074   int get_embedding_id() const { return _embedding_id; }
0075   //
0076   //! The embedding ID for the HepMC subevent to be analyzed.
0077   //! embedding ID for the event
0078   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0079   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0080   //! Usually, ID = 0 means the primary Au+Au collision background
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   //! The embedding ID for the HepMC subevent to be analyzed.
0097   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0098   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0099   //! Usually, ID = 0 means the primary Au+Au collision background
0100   int _embedding_id;
0101 
0102   unsigned int _nlayers_maps;
0103 
0104   // eval stack
0105   //SvtxEvalStack *_svtxevalstack;
0106 
0107   TrkrHitSetContainer *m_hitsets;
0108 
0109   PHHepMCGenEventMap *m_GenEventMap;
0110   PHG4TruthInfoContainer *m_truthInfo;
0111   PHG4HitContainer *m_g4hits_mvtx;
0112 
0113   //TrkrHitTruthAssoc   *m_hit_truth_map;
0114   //TrkrClusterHitAssoc *m_cluster_hit_map;
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  // __HFMLTriggerInterface_H__