hej
is hosted by
Hepforge
,
IPPP Durham
HEJ
2.1.4
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 <vector>
14
15
#include "fastjet/JetDefinition.hh"
16
#include "yaml-cpp/yaml.h"
17
18
#include "
HEJ/Constants.hh
"
19
#include "
HEJ/EWConstants.hh
"
20
#include "
HEJ/Fraction.hh
"
21
#include "
HEJ/HiggsCouplingSettings.hh
"
22
#include "
HEJ/ScaleFunction.hh
"
23
#include "
HEJ/event_types.hh
"
24
#include "
HEJ/optional.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
optional<std::string>
seed
;
51
};
52
54
struct
PartialUnweightConfig
{
56
size_t
trials
;
58
double
max_dev
;
59
};
60
66
enum class
EventTreatment
{
67
reweight
,
68
keep
,
69
discard
,
70
};
71
73
using
EventTreatMap
= std::map<event_type::EventType, EventTreatment>;
74
76
enum class
WeightType
{
77
weighted
,
78
unweighted_resum
,
79
partially_unweighted
80
};
81
98
struct
Config
{
100
ScaleConfig
scales
;
102
JetParameters
resummation_jets
;
104
JetParameters
fixed_order_jets
;
108
double
min_extparton_pt
= 0.;
111
optional<Fraction<double>
>
max_ext_soft_pt_fraction
{};
114
Fraction<double>
soft_pt_regulator
{
DEFAULT_SOFT_PT_REGULATOR
};
116
double
regulator_lambda
=
CLAMBDA
;
118
size_t
trials
{};
120
optional<size_t>
max_events
;
122
bool
log_correction
{};
124
std::vector<OutputFile>
output
;
126
RNGConfig
rng
;
128
EventTreatMap
treat
;
131
YAML::Node
analysis_parameters
;
133
std::vector<YAML::Node>
analyses_parameters
;
135
HiggsCouplingSettings
Higgs_coupling
;
137
EWConstants
ew_parameters
;
139
WeightType
weight_type
;
141
optional<PartialUnweightConfig>
unweight_config
;
142
};
143
145
struct
PhaseSpacePointConfig
{
146
PhaseSpacePointConfig
() =
default
;
147
PhaseSpacePointConfig
(
148
JetParameters
jet_param
,
149
double
min_extparton_pt
= 0.,
150
Fraction<double>
soft_pt_regulator
=
151
Fraction<double>
{
DEFAULT_SOFT_PT_REGULATOR
}
152
):
153
jet_param
{std::move(
jet_param
)},
154
min_extparton_pt
{
min_extparton_pt
},
155
soft_pt_regulator
{std::move(
soft_pt_regulator
)}
156
{}
158
JetParameters
jet_param
;
162
double
min_extparton_pt
= 0.;
165
optional<Fraction<double>
>
max_ext_soft_pt_fraction
{};
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
Fraction<double>
soft_pt_regulator
=
Fraction<double>
{
DEFAULT_SOFT_PT_REGULATOR
},
179
double
regulator_lambda
=
CLAMBDA
180
):
181
log_correction
{
log_correction
},
182
Higgs_coupling
{std::move(
Higgs_coupling
)},
183
ew_parameters
{std::move(
ew_parameters
)},
184
soft_pt_regulator
{
soft_pt_regulator
},
185
regulator_lambda
{
regulator_lambda
}
186
{}
187
189
bool
log_correction
{};
191
HiggsCouplingSettings
Higgs_coupling
;
193
EWConstants
ew_parameters
;
196
Fraction<double>
soft_pt_regulator
{
DEFAULT_SOFT_PT_REGULATOR
};
198
double
regulator_lambda
=
CLAMBDA
;
199
};
200
202
struct
EventReweighterConfig
{
204
PhaseSpacePointConfig
psp_config
;
206
MatrixElementConfig
ME_config
;
208
JetParameters
&
jet_param
() {
209
return
psp_config
.
jet_param
;}
211
JetParameters
const
&
jet_param
()
const
{
212
return
psp_config
.
jet_param
;}
214
EventTreatMap
treat
;
215
};
216
226
inline
227
PhaseSpacePointConfig
to_PhaseSpacePointConfig
(
Config
const
& conf) {
228
return
{
229
conf.
resummation_jets
,
230
conf.
min_extparton_pt
,
231
conf.
max_ext_soft_pt_fraction
?*conf.
max_ext_soft_pt_fraction
232
:conf.
soft_pt_regulator
233
};
234
}
235
240
inline
241
MatrixElementConfig
to_MatrixElementConfig
(
Config
const
& conf) {
242
return
{
243
conf.
log_correction
,
244
conf.
Higgs_coupling
,
245
conf.
ew_parameters
,
246
conf.
soft_pt_regulator
,
247
conf.
regulator_lambda
248
};
249
}
250
255
inline
256
EventReweighterConfig
to_EventReweighterConfig
(
Config
const
& conf) {
257
return
{
258
to_PhaseSpacePointConfig
(conf),
259
to_MatrixElementConfig
(conf),
260
conf.
treat
261
};
262
}
263
264
}
// 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:227
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::optional
boost::optional< T > optional
Definition:
optional.hh:23
HEJ::WeightType
WeightType
Possible setting for the event weight.
Definition:
Config.hh:76
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:73
HEJ::to_EventReweighterConfig
EventReweighterConfig to_EventReweighterConfig(Config const &conf)
Definition:
Config.hh:256
HEJ::EventTreatment
EventTreatment
Definition:
Config.hh:66
HEJ::EventTreatment::keep
@ keep
HEJ::EventTreatment::reweight
@ reweight
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:241
optional.hh
Defines the optional type.
output_formats.hh
Defines formats for output to event files.
HEJ::Config
Definition:
Config.hh:98
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:114
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:124
HEJ::Config::fixed_order_jets
JetParameters fixed_order_jets
Fixed-order jet properties.
Definition:
Config.hh:104
HEJ::Config::regulator_lambda
double regulator_lambda
The regulator lambda for the subtraction terms.
Definition:
Config.hh:116
HEJ::Config::scales
ScaleConfig scales
Parameters for scale variation
Definition:
Config.hh:100
HEJ::Config::treat
EventTreatMap treat
Map to decide what to do for different event types.
Definition:
Config.hh:128
HEJ::Config::min_extparton_pt
double min_extparton_pt
Definition:
Config.hh:108
HEJ::Config::resummation_jets
JetParameters resummation_jets
Resummation jet properties.
Definition:
Config.hh:102
HEJ::Config::rng
RNGConfig rng
Parameters for random number generation.
Definition:
Config.hh:126
HEJ::Config::max_ext_soft_pt_fraction
optional< Fraction< double > > max_ext_soft_pt_fraction
Definition:
Config.hh:111
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:118
HEJ::Config::weight_type
WeightType weight_type
Type of event weight e.g. (un)weighted.
Definition:
Config.hh:139
HEJ::Config::max_events
optional< size_t > max_events
Maximal number of events.
Definition:
Config.hh:120
HEJ::Config::log_correction
bool log_correction
Whether to include the logarithmic correction from running.
Definition:
Config.hh:122
HEJ::Config::unweight_config
optional< PartialUnweightConfig > unweight_config
Settings for partial unweighting.
Definition:
Config.hh:141
HEJ::Config::analysis_parameters
YAML::Node analysis_parameters
Definition:
Config.hh:131
HEJ::Config::Higgs_coupling
HiggsCouplingSettings Higgs_coupling
Settings for effective Higgs-gluon coupling.
Definition:
Config.hh:135
HEJ::EventReweighterConfig
Configuration options for the EventReweighter class.
Definition:
Config.hh:202
HEJ::EventReweighterConfig::jet_param
JetParameters const & jet_param() const
Access properties of resummation jets (const version)
Definition:
Config.hh:211
HEJ::EventReweighterConfig::treat
EventTreatMap treat
Treatment of the various event types.
Definition:
Config.hh:214
HEJ::EventReweighterConfig::psp_config
PhaseSpacePointConfig psp_config
Settings for phase space point generation.
Definition:
Config.hh:204
HEJ::EventReweighterConfig::jet_param
JetParameters & jet_param()
Access properties of resummation jets.
Definition:
Config.hh:208
HEJ::EventReweighterConfig::ME_config
MatrixElementConfig ME_config
Settings for matrix element calculation.
Definition:
Config.hh:206
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::MatrixElementConfig
MatrixElementConfig(bool log_correction, HiggsCouplingSettings Higgs_coupling, EWConstants ew_parameters, Fraction< double > soft_pt_regulator=Fraction< double >{DEFAULT_SOFT_PT_REGULATOR}, double regulator_lambda=CLAMBDA)
Definition:
Config.hh:174
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:196
HEJ::MatrixElementConfig::ew_parameters
EWConstants ew_parameters
elector weak parameters
Definition:
Config.hh:193
HEJ::MatrixElementConfig::regulator_lambda
double regulator_lambda
The regulator lambda for the subtraction terms.
Definition:
Config.hh:198
HEJ::MatrixElementConfig::Higgs_coupling
HiggsCouplingSettings Higgs_coupling
Settings for effective Higgs-gluon coupling.
Definition:
Config.hh:191
HEJ::MatrixElementConfig::MatrixElementConfig
MatrixElementConfig()=default
HEJ::MatrixElementConfig::log_correction
bool log_correction
Whether to include the logarithmic correction from running.
Definition:
Config.hh:189
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:145
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::PhaseSpacePointConfig
PhaseSpacePointConfig()=default
HEJ::PhaseSpacePointConfig::min_extparton_pt
double min_extparton_pt
Definition:
Config.hh:162
HEJ::PhaseSpacePointConfig::jet_param
JetParameters jet_param
Properties of resummation jets.
Definition:
Config.hh:158
HEJ::PhaseSpacePointConfig::PhaseSpacePointConfig
PhaseSpacePointConfig(JetParameters jet_param, double min_extparton_pt=0., Fraction< double > soft_pt_regulator=Fraction< double >{DEFAULT_SOFT_PT_REGULATOR})
Definition:
Config.hh:147
HEJ::PhaseSpacePointConfig::max_ext_soft_pt_fraction
optional< Fraction< double > > max_ext_soft_pt_fraction
Definition:
Config.hh:165
HEJ::RNGConfig
Settings for random number generator.
Definition:
Config.hh:46
HEJ::RNGConfig::name
std::string name
Random number generator name.
Definition:
Config.hh:48
HEJ::RNGConfig::seed
optional< std::string > seed
Optional initial seed.
Definition:
Config.hh:50
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