ECCE @ EIC 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 PHPYTHIA6_PHPY6FORWARDELECTRONTRIG_H
2 #define PHPYTHIA6_PHPY6FORWARDELECTRONTRIG_H
3 
4 #include "PHPy6GenTrigger.h"
5 
6 #include <string> // for string
7 
8 namespace HepMC
9 {
10  class GenEvent;
11 }
12 
14 {
15  public:
17  PHPy6ForwardElectronTrig(const std::string& name = "PHPy6ForwardElectronTrigger");
18 
20  ~PHPy6ForwardElectronTrig(void) override {}
21 
22  bool Apply(const HepMC::GenEvent* evt) override;
23 
25  {
26  n_ep_required = n;
27  }
30  void set_pt_required(float set_pt) { pt_required = set_pt; }
31  void set_eta_range(float set_eta_low, float set_eta_high)
32  {
33  eta_low = set_eta_low;
34  eta_high = set_eta_high;
35  }
36 
37  void PrintConfig();
38 
40  {
41  RequireElectron = true;
42  RequirePositron = false;
43  RequireOR = false;
44  RequireAND = false;
45  RequireCOMBO = false;
46  }
48  {
49  RequireElectron = false;
50  RequirePositron = true;
51  RequireOR = false;
52  RequireAND = false;
53  RequireCOMBO = false;
54  }
55  void SetRequireOR()
56  {
57  RequireElectron = false;
58  RequirePositron = false;
59  RequireOR = true;
60  RequireAND = false;
61  RequireCOMBO = false;
62  }
64  {
65  RequireElectron = false;
66  RequirePositron = false;
67  RequireOR = false;
68  RequireAND = true;
69  RequireCOMBO = false;
70  }
72  {
73  RequireElectron = false;
74  RequirePositron = false;
75  RequireOR = false;
76  RequireAND = false;
77  RequireCOMBO = true;
78  }
79 
80  protected:
83 
84  // trigger variables
85  unsigned int n_ep_required;
86  unsigned int n_em_required;
87  unsigned int n_comb_required;
88  float pt_required;
89  float eta_low;
90  float eta_high;
91 
94  bool RequireOR;
95  bool RequireAND;
97 };
98 
99 #endif