Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHPy6ForwardElectronTrig.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHPy6ForwardElectronTrig.h
1 #ifndef PHPy6ForwardElectronTrig_h
2 #define PHPy6ForwardElectronTrig_h
3 
4 #include "PHPy6GenTrigger.h"
5 #include <HepMC/GenEvent.h>
6 
7 namespace HepMC
8 {
9  class GenEvent;
10 };
11 
13 {
14  public:
15 
17  PHPy6ForwardElectronTrig(const std::string &name = "PHPy6ForwardElectronTrigger");
18 
21 
22  #ifndef __CINT__
23  bool Apply(const HepMC::GenEvent* evt);
24  #endif
25 
29  void set_pt_required(float set_pt){pt_required = set_pt;}
30  void set_eta_range(float set_eta_low, float set_eta_high){eta_low = set_eta_low; eta_high = set_eta_high;}
31 
32  void PrintConfig();
33 
34  void SetRequireElectron(){RequireElectron = true; RequirePositron = false; RequireOR = false; RequireAND= false;
35  RequireCOMBO = false; }
36  void SetRequirePositron(){RequireElectron = false; RequirePositron = true; RequireOR = false; RequireAND = false;
37  RequireCOMBO = false;}
38  void SetRequireOR(){RequireElectron = false; RequirePositron = false; RequireOR = true; RequireAND = false;
39  RequireCOMBO = false;}
40  void SetRequireAND(){RequireElectron = false; RequirePositron = false; RequireOR = false; RequireAND = true;
41  RequireCOMBO = false;}
42  void SetRequireCOMBINED(){RequireElectron = false; RequirePositron = false; RequireOR = false; RequireAND = false;
43  RequireCOMBO = true;}
44 
45  protected:
46 
49 
50  // trigger variables
51  unsigned int n_ep_required;
52  unsigned int n_em_required;
53  unsigned int n_comb_required;
54  float pt_required;
55  float eta_low;
56  float eta_high;
57 
60  bool RequireOR;
61  bool RequireAND;
62  bool RequireCOMBO;
63 
64 };
65 
66 #endif