hej
is hosted by
Hepforge
,
IPPP Durham
HEJ
2.2.2
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
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/Fraction.hh
"
22
#include "
HEJ/HiggsCouplingSettings.hh
"
23
#include "
HEJ/ScaleFunction.hh
"
24
#include "
HEJ/event_types.hh
"
25
#include "
HEJ/output_formats.hh
"
26
27
namespace
HEJ
{
28
30
struct
JetParameters
{
31
fastjet::JetDefinition
def
;
32
double
min_pt
{};
33
};
34
36
struct
ScaleConfig
{
38
std::vector<ScaleFunction>
base
;
40
std::vector<double>
factors
;
42
double
max_ratio
{};
43
};
44
46
struct
RNGConfig
{
48
std::string
name
;
50
std::optional<std::string>
seed
;
51
};
52
54
struct
PartialUnweightConfig
{
56
size_t
trials
;
58
double
max_dev
;
59
};
60
62
struct
NLOConfig
{
64
bool
enabled
=
false
;
66
size_t
nj
= 2;
67
};
68
74
enum class
EventTreatment
{
75
reweight
,
76
keep
,
77
discard
,
78
abort
,
79
};
80
82
using
EventTreatMap
= std::map<event_type::EventType, EventTreatment>;
83
85
enum class
WeightType
{
86
weighted
,
87
unweighted_resum
,
88
partially_unweighted
89
};
90
107
struct
Config
{
109
ScaleConfig
scales
;
111
JetParameters
resummation_jets
;
113
JetParameters
fixed_order_jets
;
116
Fraction<double>
soft_pt_regulator
{
DEFAULT_SOFT_PT_REGULATOR
};
118
double
regulator_lambda
=
CLAMBDA
;
120
size_t
trials
{};
122
std::optional<size_t>
max_events
;
124
bool
log_correction
{};
126
std::vector<OutputFile>
output
;
128
RNGConfig
rng
;
130
EventTreatMap
treat
;
132
std::vector<YAML::Node>
analyses_parameters
;
134
HiggsCouplingSettings
Higgs_coupling
;
136
EWConstants
ew_parameters
;
138
WeightType
weight_type
;
140
std::optional<PartialUnweightConfig>
unweight_config
;
142
NLOConfig
nlo
;
144
bool
lowpt
=
false
;
146
double
off_shell_tolerance
= 0.;
147
};
148
150
struct
PhaseSpacePointConfig
{
151
PhaseSpacePointConfig
() =
default
;
152
PhaseSpacePointConfig
(
153
JetParameters
jet_param
,
154
NLOConfig
nlo
,
155
Fraction<double>
soft_pt_regulator
=
156
Fraction<double>
{
DEFAULT_SOFT_PT_REGULATOR
}
157
):
158
jet_param
{std::move(
jet_param
)},
159
nlo
{std::move(
nlo
)},
160
soft_pt_regulator
{std::move(
soft_pt_regulator
)}
161
{}
163
JetParameters
jet_param
;
165
NLOConfig
nlo
;
168
Fraction<double>
soft_pt_regulator
{
DEFAULT_SOFT_PT_REGULATOR
};
169
};
170
172
struct
MatrixElementConfig
{
173
MatrixElementConfig
() =
default
;
174
MatrixElementConfig
(
175
bool
log_correction
,
176
HiggsCouplingSettings
Higgs_coupling
,
177
EWConstants
ew_parameters
,
178
NLOConfig
nlo
,
179
Fraction<double>
soft_pt_regulator
=
Fraction<double>
{
DEFAULT_SOFT_PT_REGULATOR
},
180
double
regulator_lambda
=
CLAMBDA
181
):
182
log_correction
{
log_correction
},
183
Higgs_coupling
{std::move(
Higgs_coupling
)},
184
ew_parameters
{std::move(
ew_parameters
)},
185
nlo
{std::move(
nlo
)},
186
soft_pt_regulator
{
soft_pt_regulator
},
187
regulator_lambda
{
regulator_lambda
}
188
{}
189
191
bool
log_correction
{};
193
HiggsCouplingSettings
Higgs_coupling
;
195
EWConstants
ew_parameters
;
197
NLOConfig
nlo
;
200
Fraction<double>
soft_pt_regulator
{
DEFAULT_SOFT_PT_REGULATOR
};
202
double
regulator_lambda
=
CLAMBDA
;
203
};
204
206
struct
EventReweighterConfig
{
208
PhaseSpacePointConfig
psp_config
;
210
MatrixElementConfig
ME_config
;
212
JetParameters
&
jet_param
() {
213
return
psp_config
.
jet_param
;}
215
JetParameters
const
&
jet_param
()
const
{
216
return
psp_config
.
jet_param
;}
218
EventTreatMap
treat
;
220
bool
lowpt
=
false
;
221
};
222
232
inline
233
PhaseSpacePointConfig
to_PhaseSpacePointConfig
(
Config
const
& conf) {
234
return
{
235
conf.
resummation_jets
,
236
conf.
nlo
,
237
conf.
soft_pt_regulator
238
};
239
}
240
245
inline
246
MatrixElementConfig
to_MatrixElementConfig
(
Config
const
& conf) {
247
return
{
248
conf.
log_correction
,
249
conf.
Higgs_coupling
,
250
conf.
ew_parameters
,
251
conf.
nlo
,
252
conf.
soft_pt_regulator
,
253
conf.
regulator_lambda
254
};
255
}
256
261
inline
262
EventReweighterConfig
to_EventReweighterConfig
(
Config
const
& conf) {
263
return
{
264
to_PhaseSpacePointConfig
(conf),
265
to_MatrixElementConfig
(conf),
266
conf.
treat
,
267
conf.
lowpt
268
};
269
}
270
271
}
// namespace HEJ
Constants.hh
Header file defining all global constants used for HEJ.
EWConstants.hh
Defines the electro weak parameters.
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::EWConstants
Collection of electro-weak constants.
Definition:
EWConstants.hh:24
HEJ::Fraction
Class for floating point numbers between 0 and 1.
Definition:
Fraction.hh:21
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:233
HEJ::discard
@ discard
Definition:
StatusCode.hh:18
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:85
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:82
HEJ::to_EventReweighterConfig
EventReweighterConfig to_EventReweighterConfig(Config const &conf)
Definition:
Config.hh:262
HEJ::EventTreatment
EventTreatment
Definition:
Config.hh:74
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:246
output_formats.hh
Defines formats for output to event files.
HEJ::Config
Definition:
Config.hh:107
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:116
HEJ::Config::analyses_parameters
std::vector< YAML::Node > analyses_parameters
Parameters for custom analyses
Definition:
Config.hh:132
HEJ::Config::output
std::vector< OutputFile > output
Event output files names and formats.
Definition:
Config.hh:126
HEJ::Config::lowpt
bool lowpt
LowPT settings.
Definition:
Config.hh:144
HEJ::Config::fixed_order_jets
JetParameters fixed_order_jets
Fixed-order jet properties.
Definition:
Config.hh:113
HEJ::Config::regulator_lambda
double regulator_lambda
The regulator lambda for the subtraction terms.
Definition:
Config.hh:118
HEJ::Config::scales
ScaleConfig scales
Parameters for scale variation
Definition:
Config.hh:109
HEJ::Config::treat
EventTreatMap treat
Map to decide what to do for different event types.
Definition:
Config.hh:130
HEJ::Config::resummation_jets
JetParameters resummation_jets
Resummation jet properties.
Definition:
Config.hh:111
HEJ::Config::rng
RNGConfig rng
Parameters for random number generation.
Definition:
Config.hh:128
HEJ::Config::ew_parameters
EWConstants ew_parameters
elector weak parameters
Definition:
Config.hh:136
HEJ::Config::trials
size_t trials
Number of resummation configurations to generate per fixed-order event.
Definition:
Config.hh:120
HEJ::Config::unweight_config
std::optional< PartialUnweightConfig > unweight_config
Settings for partial unweighting.
Definition:
Config.hh:140
HEJ::Config::weight_type
WeightType weight_type
Type of event weight e.g. (un)weighted.
Definition:
Config.hh:138
HEJ::Config::nlo
NLOConfig nlo
HEJ@NLO settings.
Definition:
Config.hh:142
HEJ::Config::off_shell_tolerance
double off_shell_tolerance
Tolerance towards numerical inaccuracies in input momenta.
Definition:
Config.hh:146
HEJ::Config::log_correction
bool log_correction
Whether to include the logarithmic correction from running.
Definition:
Config.hh:124
HEJ::Config::Higgs_coupling
HiggsCouplingSettings Higgs_coupling
Settings for effective Higgs-gluon coupling.
Definition:
Config.hh:134
HEJ::Config::max_events
std::optional< size_t > max_events
Maximal number of events.
Definition:
Config.hh:122
HEJ::EventReweighterConfig
Configuration options for the EventReweighter class.
Definition:
Config.hh:206
HEJ::EventReweighterConfig::jet_param
JetParameters const & jet_param() const
Access properties of resummation jets (const version)
Definition:
Config.hh:215
HEJ::EventReweighterConfig::treat
EventTreatMap treat
Treatment of the various event types.
Definition:
Config.hh:218
HEJ::EventReweighterConfig::lowpt
bool lowpt
Option to only keep lowpt contribution.
Definition:
Config.hh:220
HEJ::EventReweighterConfig::psp_config
PhaseSpacePointConfig psp_config
Settings for phase space point generation.
Definition:
Config.hh:208
HEJ::EventReweighterConfig::jet_param
JetParameters & jet_param()
Access properties of resummation jets.
Definition:
Config.hh:212
HEJ::EventReweighterConfig::ME_config
MatrixElementConfig ME_config
Settings for matrix element calculation.
Definition:
Config.hh:210
HEJ::HiggsCouplingSettings
Settings for Higgs boson coupling to gluons.
Definition:
HiggsCouplingSettings.hh:14
HEJ::JetParameters
Jet parameters.
Definition:
Config.hh:30
HEJ::JetParameters::min_pt
double min_pt
Definition:
Config.hh:32
HEJ::JetParameters::def
fastjet::JetDefinition def
Definition:
Config.hh:31
HEJ::MatrixElementConfig
Configuration options for the MatrixElement class.
Definition:
Config.hh:172
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:200
HEJ::MatrixElementConfig::ew_parameters
EWConstants ew_parameters
elector weak parameters
Definition:
Config.hh:195
HEJ::MatrixElementConfig::regulator_lambda
double regulator_lambda
The regulator lambda for the subtraction terms.
Definition:
Config.hh:202
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:174
HEJ::MatrixElementConfig::nlo
NLOConfig nlo
HEJ@NLO settings.
Definition:
Config.hh:197
HEJ::MatrixElementConfig::Higgs_coupling
HiggsCouplingSettings Higgs_coupling
Settings for effective Higgs-gluon coupling.
Definition:
Config.hh:193
HEJ::MatrixElementConfig::MatrixElementConfig
MatrixElementConfig()=default
HEJ::MatrixElementConfig::log_correction
bool log_correction
Whether to include the logarithmic correction from running.
Definition:
Config.hh:191
HEJ::NLOConfig
Settings for HEJ@NLO.
Definition:
Config.hh:62
HEJ::NLOConfig::enabled
bool enabled
Settings for HEJ@NLO Truncation.
Definition:
Config.hh:64
HEJ::NLOConfig::nj
size_t nj
NLO Born number of jets.
Definition:
Config.hh:66
HEJ::PartialUnweightConfig
Settings for partial unweighting.
Definition:
Config.hh:54
HEJ::PartialUnweightConfig::trials
size_t trials
Number of trials for training.
Definition:
Config.hh:56
HEJ::PartialUnweightConfig::max_dev
double max_dev
Maximum distance in standard deviations from mean logarithmic weight.
Definition:
Config.hh:58
HEJ::PhaseSpacePointConfig
Configuration options for the PhaseSpacePoint class.
Definition:
Config.hh:150
HEJ::PhaseSpacePointConfig::PhaseSpacePointConfig
PhaseSpacePointConfig(JetParameters jet_param, NLOConfig nlo, Fraction< double > soft_pt_regulator=Fraction< double >{DEFAULT_SOFT_PT_REGULATOR})
Definition:
Config.hh:152
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:168
HEJ::PhaseSpacePointConfig::nlo
NLOConfig nlo
HEJ@NLO settings.
Definition:
Config.hh:165
HEJ::PhaseSpacePointConfig::PhaseSpacePointConfig
PhaseSpacePointConfig()=default
HEJ::PhaseSpacePointConfig::jet_param
JetParameters jet_param
Properties of resummation jets.
Definition:
Config.hh:163
HEJ::RNGConfig
Settings for random number generator.
Definition:
Config.hh:46
HEJ::RNGConfig::seed
std::optional< std::string > seed
Optional initial seed.
Definition:
Config.hh:50
HEJ::RNGConfig::name
std::string name
Random number generator name.
Definition:
Config.hh:48
HEJ::ScaleConfig
Settings for scale variation.
Definition:
Config.hh:36
HEJ::ScaleConfig::max_ratio
double max_ratio
Maximum ratio between renormalisation and factorisation scale.
Definition:
Config.hh:42
HEJ::ScaleConfig::base
std::vector< ScaleFunction > base
Base scale choices.
Definition:
Config.hh:38
HEJ::ScaleConfig::factors
std::vector< double > factors
Factors for multiplicative scale variation.
Definition:
Config.hh:40
Generated by
1.9.5