Loading [MathJax]/extensions/tex2jax.js
hej
is hosted by
Hepforge
,
IPPP Durham
HEJ
2.3.0
High energy resummation for hadron colliders
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Functions
a
c
d
f
g
h
i
j
l
m
n
o
p
r
s
t
Variables
Typedefs
Enumerations
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
s
t
u
w
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
z
~
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
z
~
Variables
a
b
c
d
e
f
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Typedefs
Related Functions
Files
File List
File Members
All
Macros
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
include
HEJ
Config.hh
Go to the documentation of this file.
1
8
#pragma once
9
10
#include <map>
11
#include <string>
12
#include <utility>
13
#include <optional>
14
#include <vector>
15
16
#include "fastjet/JetDefinition.hh"
17
#include "yaml-cpp/yaml.h"
18
19
#include "
HEJ/Constants.hh
"
20
#include "
HEJ/EWConstants.hh
"
21
#include "
HEJ/EventSelector.hh
"
22
#include "
HEJ/Fraction.hh
"
23
#include "
HEJ/HiggsCouplingSettings.hh
"
24
#include "
HEJ/ScaleFunction.hh
"
25
#include "
HEJ/event_types.hh
"
26
#include "
HEJ/output_formats.hh
"
27
28
namespace
HEJ
{
29
31
struct
JetParameters
{
32
fastjet::JetDefinition
def
;
33
double
min_pt
{};
34
};
35
37
struct
ScaleConfig
{
39
std::vector<ScaleFunction>
base
;
41
std::vector<double>
factors
;
43
double
max_ratio
{};
44
};
45
47
struct
RNGConfig
{
49
std::string
name
;
51
std::optional<std::string>
seed
;
52
};
53
55
struct
PartialUnweightConfig
{
57
size_t
trials
;
59
double
max_dev
;
60
};
61
63
struct
NLOConfig
{
65
bool
enabled
=
false
;
67
size_t
nj
= 2;
68
};
69
75
enum class
EventTreatment
{
76
reweight
,
77
keep
,
78
discard
,
79
abort
,
80
};
81
83
using
EventTreatMap
= std::map<event_type::EventType, EventTreatment>;
84
86
enum class
WeightType
{
87
weighted
,
88
unweighted_resum
,
89
partially_unweighted
90
};
91
108
struct
Config
{
110
ScaleConfig
scales
;
112
JetParameters
resummation_jets
;
114
JetParameters
fixed_order_jets
;
117
Fraction<double>
soft_pt_regulator
{
DEFAULT_SOFT_PT_REGULATOR
};
119
double
regulator_lambda
=
CLAMBDA
;
121
size_t
trials
{};
123
std::optional<size_t>
max_events
;
125
bool
log_correction
{};
127
std::vector<OutputFile>
output
;
129
RNGConfig
rng
;
131
EventTreatMap
treat
;
133
std::vector<YAML::Node>
analyses_parameters
;
135
HiggsCouplingSettings
Higgs_coupling
;
137
EWConstants
ew_parameters
;
139
WeightType
weight_type
;
141
std::optional<PartialUnweightConfig>
unweight_config
;
143
AndSelector
input_selector
;
145
NLOConfig
nlo
;
147
double
off_shell_tolerance
= 0.;
148
};
149
151
struct
PhaseSpacePointConfig
{
152
PhaseSpacePointConfig
() =
default
;
153
PhaseSpacePointConfig
(
154
JetParameters
jet_param
,
155
NLOConfig
nlo
,
156
Fraction<double>
soft_pt_regulator
=
157
Fraction<double>
{
DEFAULT_SOFT_PT_REGULATOR
}
158
):
159
jet_param
{std::move(
jet_param
)},
160
nlo
{std::move(
nlo
)},
161
soft_pt_regulator
{std::move(
soft_pt_regulator
)}
162
{}
164
JetParameters
jet_param
;
166
NLOConfig
nlo
;
169
Fraction<double>
soft_pt_regulator
{
DEFAULT_SOFT_PT_REGULATOR
};
170
};
171
173
struct
MatrixElementConfig
{
174
MatrixElementConfig
() =
default
;
175
MatrixElementConfig
(
176
bool
log_correction
,
177
HiggsCouplingSettings
Higgs_coupling
,
178
EWConstants
ew_parameters
,
179
NLOConfig
nlo
,
180
Fraction<double>
soft_pt_regulator
=
Fraction<double>
{
DEFAULT_SOFT_PT_REGULATOR
},
181
double
regulator_lambda
=
CLAMBDA
182
):
183
log_correction
{
log_correction
},
184
Higgs_coupling
{std::move(
Higgs_coupling
)},
185
ew_parameters
{std::move(
ew_parameters
)},
186
nlo
{std::move(
nlo
)},
187
soft_pt_regulator
{
soft_pt_regulator
},
188
regulator_lambda
{
regulator_lambda
}
189
{}
190
192
bool
log_correction
{};
194
HiggsCouplingSettings
Higgs_coupling
;
196
EWConstants
ew_parameters
;
198
NLOConfig
nlo
;
201
Fraction<double>
soft_pt_regulator
{
DEFAULT_SOFT_PT_REGULATOR
};
203
double
regulator_lambda
=
CLAMBDA
;
204
};
205
207
struct
EventReweighterConfig
{
209
PhaseSpacePointConfig
psp_config
;
211
MatrixElementConfig
ME_config
;
213
JetParameters
&
jet_param
() {
214
return
psp_config
.
jet_param
;}
216
JetParameters
const
&
jet_param
()
const
{
217
return
psp_config
.
jet_param
;}
219
EventTreatMap
treat
;
221
AndSelector
input_selector
;
222
};
223
233
inline
234
PhaseSpacePointConfig
to_PhaseSpacePointConfig
(
Config
const
& conf) {
235
return
{
236
conf.
resummation_jets
,
237
conf.
nlo
,
238
conf.
soft_pt_regulator
239
};
240
}
241
246
inline
247
MatrixElementConfig
to_MatrixElementConfig
(
Config
const
& conf) {
248
return
{
249
conf.
log_correction
,
250
conf.
Higgs_coupling
,
251
conf.
ew_parameters
,
252
conf.
nlo
,
253
conf.
soft_pt_regulator
,
254
conf.
regulator_lambda
255
};
256
}
257
262
inline
263
EventReweighterConfig
to_EventReweighterConfig
(
Config
const
& conf) {
264
return
{
265
to_PhaseSpacePointConfig
(conf),
266
to_MatrixElementConfig
(conf),
267
conf.
treat
,
268
conf.
input_selector
269
};
270
}
271
272
}
// namespace HEJ
Constants.hh
Header file defining all global constants used for HEJ.
EWConstants.hh
Defines the electro weak parameters.
EventSelector.hh
Classes for event selection.
Fraction.hh
Header file for fractions, i.e. floating point numbers between 0 and 1.
HiggsCouplingSettings.hh
Defines the settings for Higgs boson coupling to gluons.
ScaleFunction.hh
Functions to calculate the (renormalisation and factorisation) scales for an event.
HEJ::AndSelector
Class for selecting events accepted by all chosen selectors.
Definition:
EventSelector.hh:30
HEJ::EWConstants
Collection of electro-weak constants.
Definition:
EWConstants.hh:24
HEJ::Fraction< double >
event_types.hh
Define different types of events.
HEJ
Main HEJ 2 Namespace.
Definition:
mainpage.dox:1
HEJ::to_PhaseSpacePointConfig
PhaseSpacePointConfig to_PhaseSpacePointConfig(Config const &conf)
Definition:
Config.hh:234
HEJ::discard
@ discard
HEJ::CLAMBDA
constexpr double CLAMBDA
Default scale for virtual correction cf. eq. (20) in .
Definition:
Constants.hh:24
HEJ::WeightType
WeightType
Possible setting for the event weight.
Definition:
Config.hh:86
HEJ::WeightType::unweighted_resum
@ unweighted_resum
unweighted only resummation part
HEJ::WeightType::weighted
@ weighted
weighted events
HEJ::WeightType::partially_unweighted
@ partially_unweighted
mixed weighted and unweighted
HEJ::EventTreatMap
std::map< event_type::EventType, EventTreatment > EventTreatMap
Container to store the treatments for various event types.
Definition:
Config.hh:83
HEJ::to_EventReweighterConfig
EventReweighterConfig to_EventReweighterConfig(Config const &conf)
Definition:
Config.hh:263
HEJ::EventTreatment
EventTreatment
Definition:
Config.hh:75
HEJ::EventTreatment::keep
@ keep
HEJ::EventTreatment::reweight
@ reweight
HEJ::EventTreatment::abort
@ abort
HEJ::DEFAULT_SOFT_PT_REGULATOR
constexpr double DEFAULT_SOFT_PT_REGULATOR
default value for the maximal pt fraction of soft radiation in any tagging jets This cut is needed to...
Definition:
Constants.hh:29
HEJ::to_MatrixElementConfig
MatrixElementConfig to_MatrixElementConfig(Config const &conf)
Definition:
Config.hh:247
output_formats.hh
Defines formats for output to event files.
HEJ::Config
Definition:
Config.hh:108
HEJ::Config::soft_pt_regulator
Fraction< double > soft_pt_regulator
Maximum transverse momentum fraction from soft radiation in any tagging jet (e.g. extremal or qqbar j...
Definition:
Config.hh:117
HEJ::Config::analyses_parameters
std::vector< YAML::Node > analyses_parameters
Parameters for custom analyses
Definition:
Config.hh:133
HEJ::Config::output
std::vector< OutputFile > output
Event output files names and formats.
Definition:
Config.hh:127
HEJ::Config::fixed_order_jets
JetParameters fixed_order_jets
Fixed-order jet properties.
Definition:
Config.hh:114
HEJ::Config::input_selector
AndSelector input_selector
Input event selection.
Definition:
Config.hh:143
HEJ::Config::regulator_lambda
double regulator_lambda
The regulator lambda for the subtraction terms.
Definition:
Config.hh:119
HEJ::Config::scales
ScaleConfig scales
Parameters for scale variation
Definition:
Config.hh:110
HEJ::Config::treat
EventTreatMap treat
Map to decide what to do for different event types.
Definition:
Config.hh:131
HEJ::Config::resummation_jets
JetParameters resummation_jets
Resummation jet properties.
Definition:
Config.hh:112
HEJ::Config::rng
RNGConfig rng
Parameters for random number generation.
Definition:
Config.hh:129
HEJ::Config::ew_parameters
EWConstants ew_parameters
elector weak parameters
Definition:
Config.hh:137
HEJ::Config::trials
size_t trials
Number of resummation configurations to generate per fixed-order event.
Definition:
Config.hh:121
HEJ::Config::unweight_config
std::optional< PartialUnweightConfig > unweight_config
Settings for partial unweighting.
Definition:
Config.hh:141
HEJ::Config::weight_type
WeightType weight_type
Type of event weight e.g. (un)weighted.
Definition:
Config.hh:139
HEJ::Config::nlo
NLOConfig nlo
NLO truncation settings.
Definition:
Config.hh:145
HEJ::Config::off_shell_tolerance
double off_shell_tolerance
Tolerance towards numerical inaccuracies in input momenta.
Definition:
Config.hh:147
HEJ::Config::log_correction
bool log_correction
Whether to include the logarithmic correction from running.
Definition:
Config.hh:125
HEJ::Config::Higgs_coupling
HiggsCouplingSettings Higgs_coupling
Settings for effective Higgs-gluon coupling.
Definition:
Config.hh:135
HEJ::Config::max_events
std::optional< size_t > max_events
Maximal number of events.
Definition:
Config.hh:123
HEJ::EventReweighterConfig
Configuration options for the EventReweighter class.
Definition:
Config.hh:207
HEJ::EventReweighterConfig::treat
EventTreatMap treat
Treatment of the various event types.
Definition:
Config.hh:219
HEJ::EventReweighterConfig::jet_param
JetParameters & jet_param()
Access properties of resummation jets.
Definition:
Config.hh:213
HEJ::EventReweighterConfig::input_selector
AndSelector input_selector
Input event selection.
Definition:
Config.hh:221
HEJ::EventReweighterConfig::psp_config
PhaseSpacePointConfig psp_config
Settings for phase space point generation.
Definition:
Config.hh:209
HEJ::EventReweighterConfig::ME_config
MatrixElementConfig ME_config
Settings for matrix element calculation.
Definition:
Config.hh:211
HEJ::EventReweighterConfig::jet_param
JetParameters const & jet_param() const
Access properties of resummation jets (const version)
Definition:
Config.hh:216
HEJ::HiggsCouplingSettings
Settings for Higgs boson coupling to gluons.
Definition:
HiggsCouplingSettings.hh:14
HEJ::JetParameters
Jet parameters.
Definition:
Config.hh:31
HEJ::JetParameters::min_pt
double min_pt
Definition:
Config.hh:33
HEJ::JetParameters::def
fastjet::JetDefinition def
Definition:
Config.hh:32
HEJ::MatrixElementConfig
Configuration options for the MatrixElement class.
Definition:
Config.hh:173
HEJ::MatrixElementConfig::soft_pt_regulator
Fraction< double > soft_pt_regulator
Maximum transverse momentum fraction from soft radiation in any tagging jet (e.g. extremal or qqbar j...
Definition:
Config.hh:201
HEJ::MatrixElementConfig::ew_parameters
EWConstants ew_parameters
elector weak parameters
Definition:
Config.hh:196
HEJ::MatrixElementConfig::regulator_lambda
double regulator_lambda
The regulator lambda for the subtraction terms.
Definition:
Config.hh:203
HEJ::MatrixElementConfig::MatrixElementConfig
MatrixElementConfig(bool log_correction, HiggsCouplingSettings Higgs_coupling, EWConstants ew_parameters, NLOConfig nlo, Fraction< double > soft_pt_regulator=Fraction< double >{DEFAULT_SOFT_PT_REGULATOR}, double regulator_lambda=CLAMBDA)
Definition:
Config.hh:175
HEJ::MatrixElementConfig::nlo
NLOConfig nlo
NLO truncation settings.
Definition:
Config.hh:198
HEJ::MatrixElementConfig::Higgs_coupling
HiggsCouplingSettings Higgs_coupling
Settings for effective Higgs-gluon coupling.
Definition:
Config.hh:194
HEJ::MatrixElementConfig::MatrixElementConfig
MatrixElementConfig()=default
HEJ::MatrixElementConfig::log_correction
bool log_correction
Whether to include the logarithmic correction from running.
Definition:
Config.hh:192
HEJ::NLOConfig
Settings for NLO truncation of HEJ resummation.
Definition:
Config.hh:63
HEJ::NLOConfig::enabled
bool enabled
Whether to enable NLO truncation.
Definition:
Config.hh:65
HEJ::NLOConfig::nj
size_t nj
NLO Born number of jets.
Definition:
Config.hh:67
HEJ::PartialUnweightConfig
Settings for partial unweighting.
Definition:
Config.hh:55
HEJ::PartialUnweightConfig::trials
size_t trials
Number of trials for training.
Definition:
Config.hh:57
HEJ::PartialUnweightConfig::max_dev
double max_dev
Maximum distance in standard deviations from mean logarithmic weight.
Definition:
Config.hh:59
HEJ::PhaseSpacePointConfig
Configuration options for the PhaseSpacePoint class.
Definition:
Config.hh:151
HEJ::PhaseSpacePointConfig::PhaseSpacePointConfig
PhaseSpacePointConfig(JetParameters jet_param, NLOConfig nlo, Fraction< double > soft_pt_regulator=Fraction< double >{DEFAULT_SOFT_PT_REGULATOR})
Definition:
Config.hh:153
HEJ::PhaseSpacePointConfig::soft_pt_regulator
Fraction< double > soft_pt_regulator
Maximum transverse momentum fraction from soft radiation in any tagging jet (e.g. extremal or qqbar j...
Definition:
Config.hh:169
HEJ::PhaseSpacePointConfig::nlo
NLOConfig nlo
NLO truncation settings.
Definition:
Config.hh:166
HEJ::PhaseSpacePointConfig::PhaseSpacePointConfig
PhaseSpacePointConfig()=default
HEJ::PhaseSpacePointConfig::jet_param
JetParameters jet_param
Properties of resummation jets.
Definition:
Config.hh:164
HEJ::RNGConfig
Settings for random number generator.
Definition:
Config.hh:47
HEJ::RNGConfig::seed
std::optional< std::string > seed
Optional initial seed.
Definition:
Config.hh:51
HEJ::RNGConfig::name
std::string name
Random number generator name.
Definition:
Config.hh:49
HEJ::ScaleConfig
Settings for scale variation.
Definition:
Config.hh:37
HEJ::ScaleConfig::max_ratio
double max_ratio
Maximum ratio between renormalisation and factorisation scale.
Definition:
Config.hh:43
HEJ::ScaleConfig::base
std::vector< ScaleFunction > base
Base scale choices.
Definition:
Config.hh:39
HEJ::ScaleConfig::factors
std::vector< double > factors
Factors for multiplicative scale variation.
Definition:
Config.hh:41
Generated by
1.9.1