hej is hosted by Hepforge, IPPP Durham
HEJ 2.1.4
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 <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"
22#include "HEJ/ScaleFunction.hh"
23#include "HEJ/event_types.hh"
24#include "HEJ/optional.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;
51 };
52
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,
80 };
81
98 struct Config {
108 double min_extparton_pt = 0.;
118 size_t trials{};
124 std::vector<OutputFile> output;
133 std::vector<YAML::Node> analyses_parameters;
142 };
143
149 double min_extparton_pt = 0.,
152 ):
153 jet_param{std::move(jet_param)},
156 {}
162 double min_extparton_pt = 0.;
169 };
170
175 bool log_correction,
180 ):
182 Higgs_coupling{std::move(Higgs_coupling)},
183 ew_parameters{std::move(ew_parameters)},
186 {}
187
199 };
200
209 return psp_config.jet_param;}
211 JetParameters const & jet_param() const {
212 return psp_config.jet_param;}
215 };
216
226 inline
228 return {
229 conf.resummation_jets,
230 conf.min_extparton_pt,
233 };
234 }
235
240 inline
242 return {
243 conf.log_correction,
244 conf.Higgs_coupling,
245 conf.ew_parameters,
248 };
249 }
250
255 inline
257 return {
260 conf.treat
261 };
262 }
263
264} // 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:227
@ discard
Definition: StatusCode.hh:18
constexpr double CLAMBDA
Default scale for virtual correction cf. eq. (20) in .
Definition: Constants.hh:24
boost::optional< T > optional
Definition: optional.hh:23
WeightType
Possible setting for the event weight.
Definition: Config.hh:76
@ 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:73
EventReweighterConfig to_EventReweighterConfig(Config const &conf)
Definition: Config.hh:256
EventTreatment
Definition: Config.hh:66
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:241
Defines the optional type.
Defines formats for output to event files.
Definition: Config.hh:98
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
std::vector< YAML::Node > analyses_parameters
Parameters for custom analyses
Definition: Config.hh:133
std::vector< OutputFile > output
Event output files names and formats.
Definition: Config.hh:124
JetParameters fixed_order_jets
Fixed-order jet properties.
Definition: Config.hh:104
double regulator_lambda
The regulator lambda for the subtraction terms.
Definition: Config.hh:116
ScaleConfig scales
Parameters for scale variation
Definition: Config.hh:100
EventTreatMap treat
Map to decide what to do for different event types.
Definition: Config.hh:128
double min_extparton_pt
Definition: Config.hh:108
JetParameters resummation_jets
Resummation jet properties.
Definition: Config.hh:102
RNGConfig rng
Parameters for random number generation.
Definition: Config.hh:126
optional< Fraction< double > > max_ext_soft_pt_fraction
Definition: Config.hh:111
EWConstants ew_parameters
elector weak parameters
Definition: Config.hh:137
size_t trials
Number of resummation configurations to generate per fixed-order event.
Definition: Config.hh:118
WeightType weight_type
Type of event weight e.g. (un)weighted.
Definition: Config.hh:139
optional< size_t > max_events
Maximal number of events.
Definition: Config.hh:120
bool log_correction
Whether to include the logarithmic correction from running.
Definition: Config.hh:122
optional< PartialUnweightConfig > unweight_config
Settings for partial unweighting.
Definition: Config.hh:141
YAML::Node analysis_parameters
Definition: Config.hh:131
HiggsCouplingSettings Higgs_coupling
Settings for effective Higgs-gluon coupling.
Definition: Config.hh:135
Configuration options for the EventReweighter class.
Definition: Config.hh:202
JetParameters const & jet_param() const
Access properties of resummation jets (const version)
Definition: Config.hh:211
EventTreatMap treat
Treatment of the various event types.
Definition: Config.hh:214
PhaseSpacePointConfig psp_config
Settings for phase space point generation.
Definition: Config.hh:204
JetParameters & jet_param()
Access properties of resummation jets.
Definition: Config.hh:208
MatrixElementConfig ME_config
Settings for matrix element calculation.
Definition: Config.hh:206
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
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
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
EWConstants ew_parameters
elector weak parameters
Definition: Config.hh:193
double regulator_lambda
The regulator lambda for the subtraction terms.
Definition: Config.hh:198
HiggsCouplingSettings Higgs_coupling
Settings for effective Higgs-gluon coupling.
Definition: Config.hh:191
bool log_correction
Whether to include the logarithmic correction from running.
Definition: Config.hh:189
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:145
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
double min_extparton_pt
Definition: Config.hh:162
JetParameters jet_param
Properties of resummation jets.
Definition: Config.hh:158
PhaseSpacePointConfig(JetParameters jet_param, double min_extparton_pt=0., Fraction< double > soft_pt_regulator=Fraction< double >{DEFAULT_SOFT_PT_REGULATOR})
Definition: Config.hh:147
optional< Fraction< double > > max_ext_soft_pt_fraction
Definition: Config.hh:165
Settings for random number generator.
Definition: Config.hh:46
std::string name
Random number generator name.
Definition: Config.hh:48
optional< std::string > seed
Optional initial seed.
Definition: Config.hh:50
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