hej is hosted by Hepforge, IPPP Durham
HEJ  2.1.4
High energy resummation for hadron colliders
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 
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;
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 
173  MatrixElementConfig() = default;
175  bool log_correction,
179  double regulator_lambda = CLAMBDA
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,
232  :conf.soft_pt_regulator
233  };
234  }
235 
240  inline
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
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
Define different types of events.
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
PhaseSpacePointConfig to_PhaseSpacePointConfig(Config const &conf)
Definition: Config.hh:227
@ discard
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
EventTreatMap treat
Treatment of the various event types.
Definition: Config.hh:214
JetParameters & jet_param()
Access properties of resummation jets.
Definition: Config.hh:208
PhaseSpacePointConfig psp_config
Settings for phase space point generation.
Definition: Config.hh:204
MatrixElementConfig ME_config
Settings for matrix element calculation.
Definition: Config.hh:206
JetParameters const & jet_param() const
Access properties of resummation jets (const version)
Definition: Config.hh:211
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