Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:12:30

0001 #ifndef __Leptoquarks_H__
0002 #define __Leptoquarks_H__
0003 
0004 #include <fun4all/SubsysReco.h>
0005 #include <math.h>
0006 
0007 class TNtuple;
0008 class TFile;
0009 class TH1D;
0010 
0011 class PHCompositeNode;
0012 namespace HepMC
0013 {
0014   class GenEvent;
0015   class GenParticle;
0016 }
0017 
0018 class Leptoquarks : public SubsysReco
0019 {
0020 
0021 public:
0022 
0023   Leptoquarks(std::string filename);
0024 
0025   int
0026   Init(PHCompositeNode*);
0027   int
0028   process_event(PHCompositeNode*);
0029   int
0030   End(PHCompositeNode*);
0031 
0032   void
0033   set_beam_energies( float beam_electron , float beam_proton )
0034   {
0035     _ebeam_E = fabs( beam_electron );
0036     _pbeam_E = fabs( beam_proton );
0037   }
0038 
0039   //! The embedding ID for the HepMC subevent to be analyzed.
0040   //! embedding ID for the event
0041   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0042   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0043   //! Usually, ID = 0 means the primary Au+Au collision background
0044   int get_embedding_id() const { return _embedding_id; }
0045   //
0046   //! The embedding ID for the HepMC subevent to be analyzed.
0047   //! embedding ID for the event
0048   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0049   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0050   //! Usually, ID = 0 means the primary Au+Au collision background
0051   void set_embedding_id(int id) { _embedding_id = id; }
0052 private:
0053 
0054   bool _verbose;
0055 
0056   int _ievent;
0057   int _total_pass;
0058 
0059   std::string _foutname;
0060   TFile *_fout_root;
0061 
0062   /* output tree and variables */
0063   TNtuple* _tree_event;
0064 
0065   /* beam energies electron and proton */
0066   float _ebeam_E;
0067   float _pbeam_E;
0068   //! The embedding ID for the HepMC subevent to be analyzed.
0069   //! positive ID is the embedded event of interest, e.g. jetty event from pythia
0070   //! negative IDs are backgrounds, .e.g out of time pile up collisions
0071   //! Usually, ID = 0 means the primary Au+Au collision background
0072   int _embedding_id;
0073 
0074   /** Check if this is the final state particle or not- update pointer if needed */
0075   void UpdateFinalStateParticle( HepMC::GenParticle *& );
0076 
0077 };
0078 
0079 #endif // __Leptoquarks_H__