Loading [MathJax]/extensions/tex2jax.js
hej is hosted by Hepforge, IPPP Durham
HEJ  2.3.0
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 {
21  invalid = 1,
22  unknown = 2,
23  FKL = 4,
28  central_qqbar = 128,
36  };
37 
38  constexpr std::size_t UNO = unordered_backward | unordered_forward;
39 
40  constexpr std::size_t EXTREMAL_QQBAR =
42 
43  constexpr std::size_t QQBAR =
45 
46  constexpr auto NLL = UNO | QQBAR;
47 
48  constexpr auto RESUMMABLE = FKL | NLL;
49 
50  constexpr auto VALID = RESUMMABLE | non_resummable;
51 
53 
56  inline
57  std::string name(EventType type) {
58  switch(type) {
59  case FKL:
60  return "FKL";
61  case unordered_backward:
62  return "unordered backward";
63  case unordered_forward:
64  return "unordered forward";
66  return "extremal qqbar backward";
68  return "extremal qqbar forward";
69  case central_qqbar:
70  return "central qqbar";
71  case non_resummable:
72  return "non-resummable";
73  case invalid:
74  return "invalid";
75  case unknown:
76  return "unknown";
77  default:
78  throw std::logic_error{"Unreachable"};
79  }
80  }
81 
83  inline
84  constexpr bool is_resummable(EventType type) {
85  return type & RESUMMABLE;
86  }
87 
89  inline
90  constexpr bool is_uno(EventType type) {
91  return type & UNO;
92  }
93 
95  inline
96  constexpr bool is_ex_qqbar(EventType type) {
97  return type & EXTREMAL_QQBAR;
98  }
99 
101  inline
102  constexpr bool is_mid_qqbar(EventType type) {
103  return type == central_qqbar;
104  }
105 
107  inline
108  constexpr bool is_qqbar(EventType type) {
109  return type & QQBAR;
110  }
111 
112  } // namespace event_type
113 } // namespace HEJ
Custom exception classes.
constexpr auto RESUMMABLE
Definition: event_types.hh:48
EventType
Possible event types.
Definition: event_types.hh:19
@ unknown
configuration not considered by HEJ, e.g di-Higgs
Definition: event_types.hh:22
@ 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
@ 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 numerically largest enumerator
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
@ invalid
unphysical event, e.g. violating conservation laws
Definition: event_types.hh:21
@ 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 numerically smallest enumerator
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:90
constexpr std::size_t UNO
Definition: event_types.hh:38
constexpr auto NLL
Definition: event_types.hh:46
constexpr bool is_resummable(EventType type)
Returns True for a HEJ EventType.
Definition: event_types.hh:84
constexpr bool is_qqbar(EventType type)
Returns True for any qqbar event EventType.
Definition: event_types.hh:108
constexpr bool is_ex_qqbar(EventType type)
Returns True for an extremal_qqbar EventType.
Definition: event_types.hh:96
constexpr auto VALID
Definition: event_types.hh:50
constexpr std::size_t EXTREMAL_QQBAR
Definition: event_types.hh:40
constexpr bool is_mid_qqbar(EventType type)
Returns True for an central_qqbar EventType.
Definition: event_types.hh:102
constexpr std::size_t QQBAR
Definition: event_types.hh:43
std::string name(EventType type)
Event type names.
Definition: event_types.hh:57
Main HEJ 2 Namespace.
Definition: mainpage.dox:1