Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef PHPy6ForwardElectronTrig_h
0002 #define PHPy6ForwardElectronTrig_h
0003 
0004 #include "PHPy6GenTrigger.h"
0005 #include <HepMC/GenEvent.h>
0006 
0007 namespace HepMC
0008 {
0009   class GenEvent;
0010 };
0011 
0012 class PHPy6ForwardElectronTrig: public PHPy6GenTrigger
0013 {
0014   public:
0015   
0016   //! constructor
0017   PHPy6ForwardElectronTrig(const std::string &name = "PHPy6ForwardElectronTrigger");
0018   
0019   //! destructor 
0020   ~PHPy6ForwardElectronTrig( void ){}
0021  
0022   #ifndef __CINT__ 
0023   bool Apply(const HepMC::GenEvent* evt);
0024   #endif
0025  
0026   void set_electrons_required(int n){n_ep_required = n;}
0027   void set_positrons_required(int n){n_em_required = n;}
0028   void set_combined_required(int n){n_comb_required = n;}
0029   void set_pt_required(float set_pt){pt_required = set_pt;}
0030   void set_eta_range(float set_eta_low, float set_eta_high){eta_low = set_eta_low; eta_high = set_eta_high;}
0031 
0032   void PrintConfig(); 
0033 
0034   void SetRequireElectron(){RequireElectron = true; RequirePositron = false; RequireOR = false; RequireAND= false; 
0035     RequireCOMBO = false; }
0036   void SetRequirePositron(){RequireElectron = false; RequirePositron = true; RequireOR = false; RequireAND = false;
0037     RequireCOMBO = false;}
0038   void SetRequireOR(){RequireElectron = false; RequirePositron = false; RequireOR = true; RequireAND = false;
0039     RequireCOMBO = false;}
0040   void SetRequireAND(){RequireElectron = false; RequirePositron = false; RequireOR = false; RequireAND = true;
0041     RequireCOMBO = false;}
0042   void SetRequireCOMBINED(){RequireElectron = false; RequirePositron = false; RequireOR = false; RequireAND = false;
0043     RequireCOMBO = true;}
0044 
0045   protected:
0046     
0047   int ntriggered_forward_electron;
0048   int nconsidered_forward_electron;
0049   
0050   // trigger variables
0051   unsigned int n_ep_required; 
0052   unsigned int n_em_required; 
0053   unsigned int n_comb_required; 
0054   float pt_required; 
0055   float eta_low; 
0056   float eta_high; 
0057   
0058   bool RequireElectron;
0059   bool RequirePositron; 
0060   bool RequireOR; 
0061   bool RequireAND; 
0062   bool RequireCOMBO; 
0063 
0064 };
0065 
0066 #endif