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 
0012 class TTree;
0013 class TFile;
0014 class TH2F;
0015 class TH2F;
0016 class TH3F;
0017 
0018 class PHCompositeNode;
0019 class PHG4CylinderGeomContainer;
0020 class PHG4TruthInfoContainer;
0021 class SvtxHitMap;
0022 class SvtxEvalStack;
0023 class PdbParameterMap;
0024 
0025 namespace HepMC
0026 {
0027 class GenEvent;
0028 }
0029 
0030 class HFMLTriggerInterface : public SubsysReco
0031 {
0032  public:
0033   HFMLTriggerInterface(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   //! The embedding ID for the HepMC subevent to be analyzed.
0065   //! embedding ID for the event
0066   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0067   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0068   //! Usually, ID = 0 means the primary Au+Au collision background
0069   int get_embedding_id() const { return _embedding_id; }
0070   //
0071   //! The embedding ID for the HepMC subevent to be analyzed.
0072   //! embedding ID for the event
0073   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0074   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0075   //! Usually, ID = 0 means the primary Au+Au collision background
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   //! The embedding ID for the HepMC subevent to be analyzed.
0090   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0091   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0092   //! Usually, ID = 0 means the primary Au+Au collision background
0093   int _embedding_id;
0094 
0095   unsigned int _nlayers_maps;
0096 
0097   // eval stack
0098   SvtxEvalStack *_svtxevalstack;
0099   SvtxHitMap *m_hitMap;
0100   PHG4CylinderGeomContainer *m_Geoms;
0101   PHG4TruthInfoContainer *m_truthInfo;
0102   PdbParameterMap *m_Flags;
0103 
0104   TH2F *m_hitStaveLayer;
0105   TH2F *m_hitModuleHalfStave;
0106   TH2F *m_hitChipModule;
0107 
0108   TH3F *m_hitLayerMap;
0109   TH3F *m_hitPixelPhiMap;
0110   TH3F *m_hitPixelPhiMapHL;
0111   TH3F *m_hitPixelZMap;
0112 
0113 };
0114 
0115 #endif  // __HFMLTriggerInterface_H__