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