hej is hosted by Hepforge, IPPP Durham
HEJ 2.2.2
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
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
28namespace LHEF {
29 class HEPRUP;
30}
31
32namespace 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
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
202 struct abort_event: std::invalid_argument {
203 explicit abort_event(Event const & ev);
204 };
205
206} // 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
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)
std::vector< Event > reweight(Event const &ev, std::size_t num_events)
Generate resummation events for a given fixed-order event.
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.
EventType
Possible event types.
Definition: event_types.hh:19
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
EventTreatment
Definition: Config.hh:74
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:206
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:202
abort_event(Event const &ev)