hej is hosted by Hepforge, IPPP Durham
HEJ  2.1.4
High energy resummation for hadron colliders
event_types.hh
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include <string>
11 
12 #include "HEJ/exceptions.hh"
13 
14 namespace HEJ {
15 
17  namespace event_type {
19  enum EventType: std::size_t {
22  no_2_jets = 2,
23  FKL = 4,
28  central_qqbar = 128,
36  };
37 
39 
42  inline
43  std::string name(EventType type) {
44  switch(type) {
45  case FKL:
46  return "FKL";
47  case unordered_backward:
48  return "unordered backward";
49  case unordered_forward:
50  return "unordered forward";
52  return "extremal qqbar backward";
54  return "extremal qqbar forward";
55  case central_qqbar:
56  return "central qqbar";
57  case non_resummable:
58  return "non-resummable";
59  case no_2_jets:
60  return "no 2 jets";
61  case bad_final_state:
62  return "bad final state";
63  default:
64  throw std::logic_error{"Unreachable"};
65  }
66  }
67 
69  inline
70  constexpr bool is_resummable(EventType type) {
71  switch(type) {
72  case FKL:
73  case unordered_backward:
74  case unordered_forward:
77  case central_qqbar:
78  return true;
79  default:
80  return false;
81  }
82  }
83 
85  inline
86  constexpr bool is_uno(EventType type) {
87  return type == unordered_backward || type == unordered_forward;
88  }
89 
91  inline
92  constexpr bool is_ex_qqbar(EventType type) {
93  return type == extremal_qqbar_backward || type == extremal_qqbar_forward;
94  }
95 
97  inline
98  constexpr bool is_mid_qqbar(EventType type) {
99  return type == central_qqbar;
100  }
101 
103  inline
104  constexpr bool is_qqbar(EventType type) {
105  return is_ex_qqbar(type) || is_mid_qqbar(type);
106  }
107 
108  } // namespace event_type
109 } // namespace HEJ
Custom exception classes.
EventType
Possible event types.
Definition: event_types.hh:19
@ non_resummable
event configuration not covered by All Order resummation
Definition: event_types.hh:20
@ qqbar_mid
alias for central_qqbar
Definition: event_types.hh:33
@ FKL
FKL-type event.
Definition: event_types.hh:23
@ no_2_jets
event with less than two jets
Definition: event_types.hh:22
@ bad_final_state
event with an unsupported final state
Definition: event_types.hh:21
@ qqbar_exf
alias for extremal_qqbar_forward
Definition: event_types.hh:32
@ central_qqbar
event with a central qqbar
Definition: event_types.hh:28
@ qqbar_exb
alias for extremal_qqbar_backward
Definition: event_types.hh:31
@ last_type
alias for central_qqbar
Definition: event_types.hh:35
@ unob
alias for unordered_backward
Definition: event_types.hh:29
@ extremal_qqbar_backward
event with a backward extremal qqbar
Definition: event_types.hh:26
@ unordered_forward
event with unordered forward emission
Definition: event_types.hh:25
@ extremal_qqbar_forward
event with a forward extremal qqbar
Definition: event_types.hh:27
@ first_type
alias for non_resummable
Definition: event_types.hh:34
@ unordered_backward
event with unordered backward emission
Definition: event_types.hh:24
@ unof
alias for unordered_forward
Definition: event_types.hh:30
constexpr bool is_uno(EventType type)
Returns True for an unordered EventType.
Definition: event_types.hh:86
constexpr bool is_resummable(EventType type)
Returns True for a HEJ EventType.
Definition: event_types.hh:70
constexpr bool is_qqbar(EventType type)
Returns True for any qqbar event EventType.
Definition: event_types.hh:104
constexpr bool is_ex_qqbar(EventType type)
Returns True for an extremal_qqbar EventType.
Definition: event_types.hh:92
constexpr bool is_mid_qqbar(EventType type)
Returns True for an central_qqbar EventType.
Definition: event_types.hh:98
std::string name(EventType type)
Event type names.
Definition: event_types.hh:43
Main HEJ 2 Namespace.
Definition: mainpage.dox:1