hej is hosted by Hepforge, IPPP Durham
HEJ 2.2.2
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
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
14namespace HEJ {
15
17 namespace event_type {
19 enum EventType: std::size_t {
21 invalid = 1,
22 unknown = 2,
23 FKL = 4,
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";
62 return "unordered backward";
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