Loading [MathJax]/extensions/tex2jax.js
hej is hosted by Hepforge, IPPP Durham
HEJ  2.3.0
High energy resummation for hadron colliders
EventReweighter.hh
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include <array>
14 #include <cstddef>
15 #include <memory>
16 #include <utility>
17 #include <vector>
18 
19 #include "HEJ/Config.hh"
20 #include "HEJ/MatrixElement.hh"
21 #include "HEJ/PDF.hh"
22 #include "HEJ/PDG_codes.hh"
23 #include "HEJ/Parameters.hh"
24 #include "HEJ/ScaleFunction.hh"
25 #include "HEJ/StatusCode.hh"
26 #include "HEJ/event_types.hh"
27 
28 namespace LHEF {
29  class HEPRUP;
30 }
31 
32 namespace HEJ {
33  class Event;
34  struct RNG;
35 
37 
41  struct Beam{
42  double E;
43  std::array<ParticleID, 2> type;
44  };
45 
49 
50  public:
52  Beam const & beam,
53  int pdf_id,
54  ScaleGenerator scale_gen,
56  std::shared_ptr<RNG> ran
57  );
58 
60  LHEF::HEPRUP const & heprup,
61  ScaleGenerator scale_gen,
63  std::shared_ptr<RNG> ran
64  );
65 
67  PDF const & pdf() const;
68 
71  HEJ::Event const & input_ev
72  );
73 
76 
78 
94  std::vector<Event> reweight(
95  Event const & ev,
96  std::size_t num_events
97  );
98 
100 
104  std::vector<StatusCode> const & status() const {
105  return status_;
106  }
107 
108  private:
109 
114  std::vector<Event> gen_res_events(
115  Event const & ev, std::size_t phase_space_points
116  );
117  std::vector<Event> rescale(
118  Event const & Born_ev, std::vector<Event> events
119  ) const;
120 
127  bool jets_pass_resummation_cuts(Event const & ev) const;
128 
138  Weights pdf_factors(Event const & ev) const;
139 
149  Weights matrix_elements(Event const & ev) const;
150 
164  Weights fixed_order_scale_ME(Event const & ev) const;
165 
175  double tree_matrix_element(Event const & ev) const;
176 
178  EventReweighterConfig param_;
179 
181  double E_beam_;
182 
184  PDF pdf_;
185 
187  MatrixElement MEt2_;
189  ScaleGenerator scale_gen_;
191  std::shared_ptr<RNG> ran_;
193  std::vector<StatusCode> status_;
194  };
195 
197 
203  struct abort_event: std::invalid_argument {
204  explicit abort_event(Event const & ev);
205  };
206 
207 } // namespace HEJ
HEJ 2 configuration parameters.
Contains the MatrixElement Class.
Contains all the necessary classes and functions for interaction with PDFs.
Contains the Particle IDs of all relevant SM particles.
Containers for Parameter variations, e.g. different Weights.
Functions to calculate the (renormalisation and factorisation) scales for an event.
Header file for status codes of event generation.
Main class for reweighting events in HEJ.
Definition: EventReweighter.hh:47
std::vector< Event > reweight(Event const &ev, std::size_t num_events)
Generate resummation events for a given fixed-order event.
bool pass_low_pt(HEJ::Event const &input_ev)
Check the lowpt only restriction passes for lowpt runs.
EventReweighter(Beam const &beam, int pdf_id, ScaleGenerator scale_gen, EventReweighterConfig conf, std::shared_ptr< RNG > ran)
std::vector< StatusCode > const & status() const
Gives all StatusCodes of the last reweight()
Definition: EventReweighter.hh:104
PDF const & pdf() const
Get the used pdf.
EventTreatment treatment(EventType type) const
Get event treatment.
EventReweighter(LHEF::HEPRUP const &heprup, ScaleGenerator scale_gen, EventReweighterConfig conf, std::shared_ptr< RNG > ran)
An event with clustered jets.
Definition: Event.hh:51
Class to calculate the squares of matrix elements.
Definition: MatrixElement.hh:28
Class for interaction with a PDF set.
Definition: PDF.hh:23
Generate combinations of renormalisation and factorisation scales.
Definition: ScaleFunction.hh:104
Define different types of events.
@ beam
Beam.
Definition: HepMCInterface_common.hh:26
EventType
Possible event types.
Definition: event_types.hh:19
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
EventTreatment
Definition: Config.hh:75
Definition: Analysis.hh:14
Beam parameters.
Definition: EventReweighter.hh:41
double E
Definition: EventReweighter.hh:42
std::array< ParticleID, 2 > type
Definition: EventReweighter.hh:43
Configuration options for the EventReweighter class.
Definition: Config.hh:207
Collection of parameters, e.g. Weights, assigned to a single event.
Definition: Parameters.hh:26
Exception indicating that an event is not accepted by the reweighter.
Definition: EventReweighter.hh:203
abort_event(Event const &ev)