hej
is hosted by
Hepforge
,
IPPP Durham
HEJ
2.2.2
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
include
HEJ
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
47
class
EventReweighter
{
48
using
EventType
=
event_type::EventType
;
49
50
public
:
51
EventReweighter
(
52
Beam
const
& beam,
53
int
pdf_id,
54
ScaleGenerator
scale_gen,
55
EventReweighterConfig
conf,
56
std::shared_ptr<RNG> ran
57
);
58
59
EventReweighter
(
60
LHEF::HEPRUP
const
& heprup,
61
ScaleGenerator
scale_gen,
62
EventReweighterConfig
conf,
63
std::shared_ptr<RNG> ran
64
);
65
67
PDF
const
&
pdf
()
const
;
68
70
bool
pass_low_pt
(
71
HEJ::Event
const
& input_ev
72
);
73
75
EventTreatment
treatment
(
EventType
type)
const
;
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
202
struct
abort_event
: std::invalid_argument {
203
explicit
abort_event
(
Event
const
& ev);
204
};
205
206
}
// namespace HEJ
Config.hh
HEJ 2 configuration parameters.
MatrixElement.hh
Contains the MatrixElement Class.
PDF.hh
Contains all the necessary classes and functions for interaction with PDFs.
PDG_codes.hh
Contains the Particle IDs of all relevant SM particles.
Parameters.hh
Containers for Parameter variations, e.g. different Weights.
ScaleFunction.hh
Functions to calculate the (renormalisation and factorisation) scales for an event.
StatusCode.hh
Header file for status codes of event generation.
HEJ::EventReweighter
Main class for reweighting events in HEJ.
Definition:
EventReweighter.hh:47
HEJ::EventReweighter::pass_low_pt
bool pass_low_pt(HEJ::Event const &input_ev)
Check the lowpt only restriction passes for lowpt runs.
HEJ::EventReweighter::EventReweighter
EventReweighter(Beam const &beam, int pdf_id, ScaleGenerator scale_gen, EventReweighterConfig conf, std::shared_ptr< RNG > ran)
HEJ::EventReweighter::status
std::vector< StatusCode > const & status() const
Gives all StatusCodes of the last reweight()
Definition:
EventReweighter.hh:104
HEJ::EventReweighter::pdf
PDF const & pdf() const
Get the used pdf.
HEJ::EventReweighter::treatment
EventTreatment treatment(EventType type) const
Get event treatment.
HEJ::EventReweighter::EventReweighter
EventReweighter(LHEF::HEPRUP const &heprup, ScaleGenerator scale_gen, EventReweighterConfig conf, std::shared_ptr< RNG > ran)
HEJ::EventReweighter::reweight
std::vector< Event > reweight(Event const &ev, std::size_t num_events)
Generate resummation events for a given fixed-order event.
HEJ::Event
An event with clustered jets.
Definition:
Event.hh:51
HEJ::MatrixElement
Class to calculate the squares of matrix elements.
Definition:
MatrixElement.hh:28
HEJ::PDF
Class for interaction with a PDF set.
Definition:
PDF.hh:23
HEJ::ScaleGenerator
Generate combinations of renormalisation and factorisation scales.
Definition:
ScaleFunction.hh:104
event_types.hh
Define different types of events.
HEJ::event_type::EventType
EventType
Possible event types.
Definition:
event_types.hh:19
HEJ
Main HEJ 2 Namespace.
Definition:
mainpage.dox:1
HEJ::EventTreatment
EventTreatment
Definition:
Config.hh:74
LHEF
Definition:
Analysis.hh:14
HEJ::Beam
Beam parameters.
Definition:
EventReweighter.hh:41
HEJ::Beam::E
double E
Definition:
EventReweighter.hh:42
HEJ::Beam::type
std::array< ParticleID, 2 > type
Definition:
EventReweighter.hh:43
HEJ::EventReweighterConfig
Configuration options for the EventReweighter class.
Definition:
Config.hh:206
HEJ::Parameters
Collection of parameters, e.g. Weights, assigned to a single event.
Definition:
Parameters.hh:26
HEJ::abort_event
Exception indicating that an event is not accepted by the reweighter.
Definition:
EventReweighter.hh:202
HEJ::abort_event::abort_event
abort_event(Event const &ev)
Generated by
1.9.5