Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef __HFMLTriggerHepMCTrigger_H__
0002 #define __HFMLTriggerHepMCTrigger_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 TH1D;
0015 class TH2F;
0016 class TH3F;
0017 
0018 class PHCompositeNode;
0019 class PHHepMCGenEventMap;
0020 class PdbParameterMap;
0021 
0022 namespace HepMC
0023 {
0024 class GenEvent;
0025 }
0026 
0027 class HFMLTriggerHepMCTrigger : public SubsysReco
0028 {
0029  public:
0030   HFMLTriggerHepMCTrigger(const std::string &moduleName, const std::string &filename);
0031 
0032   int Init(PHCompositeNode *);
0033   int InitRun(PHCompositeNode *);
0034   int process_event(PHCompositeNode *);
0035   int End(PHCompositeNode *);
0036 
0037   double
0038   get_eta_max() const
0039   {
0040     return _eta_max;
0041   }
0042 
0043   void
0044   set_eta_max(double etaMax)
0045   {
0046     _eta_max = etaMax;
0047   }
0048 
0049   double
0050   get_eta_min() const
0051   {
0052     return _eta_min;
0053   }
0054 
0055   void
0056   set_eta_min(double etaMin)
0057   {
0058     _eta_min = etaMin;
0059   }
0060 
0061   void set_RejectReturnCode(int r) { m_RejectReturnCode = r; }
0062 
0063   //! The embedding ID for the HepMC subevent to be analyzed.
0064   //! embedding ID for the event
0065   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0066   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0067   //! Usually, ID = 0 means the primary Au+Au collision background
0068   int get_embedding_id() const { return _embedding_id; }
0069   //
0070   //! The embedding ID for the HepMC subevent to be analyzed.
0071   //! embedding ID for the event
0072   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0073   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0074   //! Usually, ID = 0 means the primary Au+Au collision background
0075   void set_embedding_id(int id) { _embedding_id = id; }
0076 
0077  private:
0078   int _ievent;
0079 
0080   int m_RejectReturnCode;
0081 
0082   TFile *_f;
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   PHHepMCGenEventMap *m_Geneventmap;
0096   PdbParameterMap *m_Flags;
0097 
0098   TH1D *m_hNorm;
0099   TH2F *m_DRapidity;
0100 };
0101 
0102 #endif  // __HFMLTriggerHepMCTrigger_H__