hej
is hosted by
Hepforge
,
IPPP Durham
HEJ
2.1.4
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
include
HEJ
PhaseSpacePoint.hh
Go to the documentation of this file.
1
8
#pragma once
9
10
#include <array>
11
#include <cstddef>
12
#include <unordered_map>
13
#include <utility>
14
#include <vector>
15
16
#include "fastjet/PseudoJet.hh"
17
18
#include "
HEJ/Config.hh
"
19
#include "
HEJ/Event.hh
"
20
#include "
HEJ/Particle.hh
"
21
#include "
HEJ/StatusCode.hh
"
22
23
namespace
HEJ
{
24
struct
RNG;
25
27
class
PhaseSpacePoint
{
28
public
:
30
PhaseSpacePoint
() =
delete
;
31
33
38
PhaseSpacePoint
(
39
Event
const
& ev,
40
PhaseSpacePointConfig
conf,
41
RNG
& ran
42
);
43
45
double
weight
()
const
{
46
return
weight_;
47
}
48
50
std::array<Particle, 2>
const
&
incoming
()
const
{
51
return
incoming_;
52
}
53
55
std::vector<Particle>
const
&
outgoing
()
const
{
56
return
outgoing_;
57
}
58
60
64
std::unordered_map<std::size_t, std::vector<Particle>>
const
&
decays
()
65
const
{
66
return
decays_;
67
}
68
70
StatusCode
status
()
const
{
71
return
status_;
72
}
73
74
static
constexpr
int
NG_MAX
= 1000;
75
76
private
:
77
friend
Event::EventData
to_EventData
(
PhaseSpacePoint
psp);
79
std::vector<fastjet::PseudoJet> cluster_jets(
80
std::vector<fastjet::PseudoJet>
const
& partons
81
)
const
;
82
bool
pass_resummation_cuts(
83
std::vector<fastjet::PseudoJet>
const
& jets
84
)
const
;
85
bool
pass_extremal_cuts(
86
fastjet::PseudoJet
const
& ext_parton,
87
fastjet::PseudoJet
const
& jet
88
)
const
;
89
double
estimate_emission_rapidity_range(
Event
const
& event)
const
;
90
double
estimate_ng_mean(
Event
const
& event)
const
;
91
int
sample_ng(
Event
const
& event,
RNG
& ran);
92
int
sample_ng_jets(
Event
const
& event,
int
ng,
RNG
& ran);
93
double
probability_in_jet(
Event
const
& event)
const
;
94
std::vector<fastjet::PseudoJet> gen_non_jet(
95
int
ng_non_jet,
double
ptmin,
double
ptmax,
RNG
& ran
96
);
97
void
rescale_qqbar_rapidities(
98
std::vector<fastjet::PseudoJet> & out_partons,
99
std::vector<fastjet::PseudoJet>
const
& jets,
100
double
ymin1,
double
ymax2,
101
int
qqbar_backjet
102
);
103
void
rescale_rapidities(
104
std::vector<fastjet::PseudoJet> & partons,
105
double
ymin,
double
ymax
106
);
108
std::pair< std::vector<fastjet::PseudoJet>,
109
optional<fastjet::PseudoJet>
>
110
reshuffle(
111
Event
const
& ev,
112
fastjet::PseudoJet
const
& q
113
);
121
bool
jets_ok(
122
std::vector<fastjet::PseudoJet>
const
& Born_jets,
123
std::vector<fastjet::PseudoJet>
const
& partons
124
)
const
;
125
void
reconstruct_incoming(std::array<Particle, 2>
const
& Born_incoming);
133
std::vector<fastjet::PseudoJet> split(
134
std::vector<fastjet::PseudoJet>
const
& jets,
135
int
ng_jets, std::size_t qqbar_backjet,
RNG
& ran
136
);
137
std::vector<int> distribute_jet_partons(
138
int
ng_jets, std::vector<fastjet::PseudoJet>
const
& jets,
RNG
& ran
139
);
140
std::vector<fastjet::PseudoJet> split(
141
std::vector<fastjet::PseudoJet>
const
& jets,
142
std::vector<int>
const
& np_in_jet,
143
std::size_t qqbar_backjet,
144
RNG
& ran
145
);
146
bool
split_preserved_jets(
147
std::vector<fastjet::PseudoJet>
const
& jets,
148
std::vector<fastjet::PseudoJet>
const
& jet_partons
149
)
const
;
150
template
<
class
Particle>
151
Particle
const
& most_backward_FKL(
152
std::vector<Particle>
const
& partons
153
)
const
;
154
template
<
class
Particle>
155
Particle
const
& most_forward_FKL(
156
std::vector<Particle>
const
& partons
157
)
const
;
158
template
<
class
Particle>
159
Particle
& most_backward_FKL(std::vector<Particle> & partons)
const
;
160
template
<
class
Particle>
161
Particle
& most_forward_FKL(std::vector<Particle> & partons)
const
;
162
bool
extremal_ok(
163
std::vector<fastjet::PseudoJet>
const
& partons
164
)
const
;
171
void
label_quarks(
Event
const
& event);
176
void
label_qqbar(
Event
const
& event);
177
void
boost_AWZH_boson_from(
178
fastjet::PseudoJet
const
& boosted_boson,
Event
const
& event
179
);
180
181
bool
momentum_conserved()
const
;
182
183
bool
contains_idx(
184
fastjet::PseudoJet
const
& jet, fastjet::PseudoJet
const
& parton
185
)
const
;
186
188
bool
unob_, unof_, qqbarb_, qqbarf_, qqbar_mid_;
189
190
double
weight_;
191
192
PhaseSpacePointConfig
param_;
193
194
std::array<Particle, 2> incoming_;
195
std::vector<Particle> outgoing_;
197
std::unordered_map<std::size_t, std::vector<Particle>> decays_;
198
199
StatusCode
status_;
200
};
201
203
Event::EventData
to_EventData
(
PhaseSpacePoint
psp);
204
205
}
// namespace HEJ
Config.hh
HEJ 2 configuration parameters.
Event.hh
Declares the Event class and helpers.
Particle.hh
Contains the particle struct.
StatusCode.hh
Header file for status codes of event generation.
HEJ::Event::EventData
Class to store general Event setup, i.e. Phase space and weights.
Definition:
Event.hh:286
HEJ::Event
An event with clustered jets.
Definition:
Event.hh:47
HEJ::PhaseSpacePoint
Generated point in resummation phase space.
Definition:
PhaseSpacePoint.hh:27
HEJ::PhaseSpacePoint::status
StatusCode status() const
Status code of generation.
Definition:
PhaseSpacePoint.hh:70
HEJ::PhaseSpacePoint::decays
std::unordered_map< std::size_t, std::vector< Particle > > const & decays() const
Particle decays.
Definition:
PhaseSpacePoint.hh:64
HEJ::PhaseSpacePoint::PhaseSpacePoint
PhaseSpacePoint()=delete
No default PhaseSpacePoint Constructor.
HEJ::PhaseSpacePoint::weight
double weight() const
Get phase space point weight.
Definition:
PhaseSpacePoint.hh:45
HEJ::PhaseSpacePoint::PhaseSpacePoint
PhaseSpacePoint(Event const &ev, PhaseSpacePointConfig conf, RNG &ran)
PhaseSpacePoint Constructor.
HEJ::PhaseSpacePoint::to_EventData
friend Event::EventData to_EventData(PhaseSpacePoint psp)
Extract Event::EventData from PhaseSpacePoint.
HEJ::PhaseSpacePoint::NG_MAX
static constexpr int NG_MAX
maximum number of extra gluons
Definition:
PhaseSpacePoint.hh:74
HEJ::PhaseSpacePoint::outgoing
std::vector< Particle > const & outgoing() const
Access outgoing particles.
Definition:
PhaseSpacePoint.hh:55
HEJ::PhaseSpacePoint::incoming
std::array< Particle, 2 > const & incoming() const
Access incoming particles.
Definition:
PhaseSpacePoint.hh:50
HEJ
Main HEJ 2 Namespace.
Definition:
mainpage.dox:1
HEJ::to_EventData
Event::EventData to_EventData(PhaseSpacePoint psp)
Extract Event::EventData from PhaseSpacePoint.
HEJ::StatusCode
StatusCode
Possible status codes from the event generation.
Definition:
StatusCode.hh:16
HEJ::optional
boost::optional< T > optional
Definition:
optional.hh:23
HEJ::Particle
Class representing a particle.
Definition:
Particle.hh:24
HEJ::PhaseSpacePointConfig
Configuration options for the PhaseSpacePoint class.
Definition:
Config.hh:145
HEJ::RNG
Interface for random number generator.
Definition:
RNG.hh:19
Generated by
1.9.5