Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef __HFMLTriggerOccupancy_H__
0002 #define __HFMLTriggerOccupancy_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 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   //! 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   enum {kNCHip = 9};
0097 
0098   // eval stack
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  // __HFMLTriggerOccupancy_H__