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
0017 PHPy6ForwardElectronTrig(const std::string &name = "PHPy6ForwardElectronTrigger");
0018
0019
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
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