hej
is hosted by
Hepforge
,
IPPP Durham
HEJ
2.2.2
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
private
:
75
friend
Event::EventData
to_EventData
(
PhaseSpacePoint
psp);
77
std::vector<fastjet::PseudoJet> cluster_jets(
78
std::vector<fastjet::PseudoJet>
const
& partons
79
)
const
;
80
bool
pass_resummation_cuts(
81
std::vector<fastjet::PseudoJet>
const
& jets
82
)
const
;
83
bool
pass_extremal_cuts(
84
fastjet::PseudoJet
const
& ext_parton,
85
fastjet::PseudoJet
const
& jet
86
)
const
;
87
double
estimate_emission_rapidity_range(
Event
const
& event)
const
;
88
double
estimate_ng_mean(
Event
const
& event)
const
;
89
int
sample_ng(
Event
const
& event,
RNG
& ran);
90
int
sample_ng_jets(
Event
const
& event,
int
ng,
RNG
& ran);
91
double
probability_in_jet(
Event
const
& event)
const
;
92
std::vector<fastjet::PseudoJet> gen_non_jet(
93
int
ng_non_jet,
double
ptmin,
double
ptmax,
RNG
& ran
94
);
95
void
rescale_qqbar_rapidities(
96
std::vector<fastjet::PseudoJet> & out_partons,
97
std::vector<fastjet::PseudoJet>
const
& jets,
98
double
ymin1,
double
ymax2,
99
int
qqbar_backjet
100
);
101
void
rescale_rapidities(
102
std::vector<fastjet::PseudoJet> & partons,
103
double
ymin,
double
ymax
104
);
106
std::pair< std::vector<fastjet::PseudoJet>,
107
std::vector<fastjet::PseudoJet> >
108
reshuffle(
109
Event
const
& ev,
110
fastjet::PseudoJet
const
& q
111
);
119
bool
jets_ok(
120
Event
const
& Born_event,
121
std::vector<fastjet::PseudoJet>
const
& partons
122
)
const
;
123
void
reconstruct_incoming(std::array<Particle, 2>
const
& Born_incoming);
131
std::vector<fastjet::PseudoJet> split(
132
Event
const
& Born_event,
133
std::vector<fastjet::PseudoJet>
const
& jets,
134
int
ng_jets,
135
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
Event
const
& Born_event,
142
std::vector<fastjet::PseudoJet>
const
& jets,
143
std::vector<int>
const
& np_in_jet,
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
Event
const
& Born_event,
164
std::vector<fastjet::PseudoJet>
const
& partons
165
)
const
;
172
void
label_quarks(
Event
const
& event);
177
void
label_qqbar(
Event
const
& event);
178
void
boost_AWZH_bosons_from(
179
std::vector<fastjet::PseudoJet>
const
& boosted_bosons,
180
Event
const
& event
181
);
182
183
bool
momentum_conserved()
const
;
184
185
bool
contains_idx(
186
fastjet::PseudoJet
const
& jet, fastjet::PseudoJet
const
& parton
187
)
const
;
188
190
bool
unob_, unof_, qqbarb_, qqbarf_, qqbar_mid_;
191
192
double
weight_;
193
194
PhaseSpacePointConfig
param_;
195
196
std::array<Particle, 2> incoming_;
197
std::vector<Particle> outgoing_;
199
std::unordered_map<std::size_t, std::vector<Particle>> decays_;
200
201
StatusCode
status_;
202
};
203
205
Event::EventData
to_EventData
(
PhaseSpacePoint
psp);
206
207
}
// 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:302
HEJ::Event
An event with clustered jets.
Definition:
Event.hh:51
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::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::Particle
Class representing a particle.
Definition:
Particle.hh:25
HEJ::PhaseSpacePointConfig
Configuration options for the PhaseSpacePoint class.
Definition:
Config.hh:150
HEJ::RNG
Interface for random number generator.
Definition:
RNG.hh:22
Generated by
1.9.5