hej
is hosted by
Hepforge
,
IPPP Durham
HEJ 2
2.0
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
include
HEJ
PhaseSpacePoint.hh
Go to the documentation of this file.
1
9
#pragma once
10
11
#include <array>
12
#include <functional>
13
#include <unordered_map>
14
#include <vector>
15
16
#include "
HEJ/config.hh
"
17
#include "
HEJ/Particle.hh
"
18
#include "
HEJ/RNG.hh
"
19
20
namespace
HEJ
{
21
class
Event;
22
24
class
PhaseSpacePoint
{
25
public
:
27
PhaseSpacePoint
() =
default
;
28
30
35
PhaseSpacePoint
(
36
Event
const
& ev,
37
PhaseSpacePointConfig
conf,
38
HEJ::RNG
& ran
39
);
40
42
double
weight
()
const
{
43
return
weight_;
44
}
45
47
std::array<Particle, 2>
const
&
incoming
()
const
{
48
return
incoming_;
49
}
50
52
std::vector<Particle>
const
&
outgoing
()
const
{
53
return
outgoing_;
54
}
55
56
58
62
std::unordered_map<size_t, std::vector<Particle>>
const
&
decays
()
const
{
63
return
decays_;
64
}
65
66
static
constexpr
int
ng_max
= 1000;
//< maximum number of extra gluons
67
68
private
:
69
70
std::vector<fastjet::PseudoJet> cluster_jets(
71
std::vector<fastjet::PseudoJet>
const
& partons
72
)
const
;
73
bool
pass_resummation_cuts(
74
std::vector<fastjet::PseudoJet>
const
& jets
75
)
const
;
76
bool
pass_extremal_cuts(
77
fastjet::PseudoJet
const
& ext_parton,
78
fastjet::PseudoJet
const
& jet
79
)
const
;
80
int
sample_ng(std::vector<fastjet::PseudoJet>
const
& Born_jets);
81
int
sample_ng_jets(
int
ng, std::vector<fastjet::PseudoJet>
const
& Born_jets);
82
double
probability_in_jet(
83
std::vector<fastjet::PseudoJet>
const
& Born_jets
84
)
const
;
85
std::vector<fastjet::PseudoJet> gen_non_jet(
86
int
ng_non_jet,
87
double
ptmin,
double
ptmax
88
);
89
void
rescale_rapidities(
90
std::vector<fastjet::PseudoJet> & partons,
91
double
ymin,
double
ymax
92
);
93
std::vector<fastjet::PseudoJet> reshuffle(
94
std::vector<fastjet::PseudoJet>
const
& Born_jets,
95
fastjet::PseudoJet
const
& q
96
);
97
bool
jets_ok(
98
std::vector<fastjet::PseudoJet>
const
& Born_jets,
99
std::vector<fastjet::PseudoJet>
const
& partons
100
)
const
;
101
void
reconstruct_incoming(std::array<Particle, 2>
const
& Born_incoming);
102
double
phase_space_normalisation(
103
int
num_Born_jets,
104
int
num_res_partons
105
)
const
;
106
std::vector<fastjet::PseudoJet> split(
107
std::vector<fastjet::PseudoJet>
const
& jets,
int
ng_jets
108
);
109
std::vector<int> distribute_jet_partons(
110
int
ng_jets, std::vector<fastjet::PseudoJet>
const
& jets
111
);
112
std::vector<fastjet::PseudoJet> split(
113
std::vector<fastjet::PseudoJet>
const
& jets,
114
std::vector<int>
const
& np_in_jet
115
);
116
bool
split_preserved_jets(
117
std::vector<fastjet::PseudoJet>
const
& jets,
118
std::vector<fastjet::PseudoJet>
const
& jet_partons
119
)
const
;
120
template
<
class
Particle>
121
Particle
const
& most_backward_FKL(
122
std::vector<Particle>
const
& partons
123
)
const
;
124
template
<
class
Particle>
125
Particle
const
& most_forward_FKL(
126
std::vector<Particle>
const
& partons
127
)
const
;
128
template
<
class
Particle>
129
Particle
& most_backward_FKL(std::vector<Particle> & partons)
const
;
130
template
<
class
Particle>
131
Particle
& most_forward_FKL(std::vector<Particle> & partons)
const
;
132
bool
extremal_ok(
133
std::vector<fastjet::PseudoJet>
const
& partons
134
)
const
;
135
void
copy_AWZH_boson_from(
Event
const
& event);
136
137
bool
momentum_conserved()
const
;
138
139
bool
unob_, unof_;
140
141
double
weight_;
142
143
PhaseSpacePointConfig
param_;
144
145
146
std::array<Particle, 2> incoming_;
147
std::vector<Particle> outgoing_;
149
std::unordered_map<size_t, std::vector<Particle>> decays_;
150
151
std::reference_wrapper<HEJ::RNG> ran_;
152
};
153
154
}
Particle.hh
Contains the particle struct.
RNG.hh
Interface for pseudorandom number generators.
HEJ::Event
Definition:
Event.hh:84
HEJ::PhaseSpacePoint
A point in resummation phase space.
Definition:
PhaseSpacePoint.hh:24
HEJ::PhaseSpacePoint::PhaseSpacePoint
PhaseSpacePoint()=default
Default PhaseSpacePoint Constructor.
HEJ::PhaseSpacePoint::weight
double weight() const
Get phase space point weight.
Definition:
PhaseSpacePoint.hh:42
HEJ::PhaseSpacePoint::PhaseSpacePoint
PhaseSpacePoint(Event const &ev, PhaseSpacePointConfig conf, HEJ::RNG &ran)
PhaseSpacePoint Constructor.
HEJ::PhaseSpacePoint::ng_max
static constexpr int ng_max
Definition:
PhaseSpacePoint.hh:66
HEJ::PhaseSpacePoint::decays
std::unordered_map< size_t, std::vector< Particle > > const & decays() const
Particle decays.
Definition:
PhaseSpacePoint.hh:62
HEJ::PhaseSpacePoint::outgoing
std::vector< Particle > const & outgoing() const
Access outgoing particles.
Definition:
PhaseSpacePoint.hh:52
HEJ::PhaseSpacePoint::incoming
std::array< Particle, 2 > const & incoming() const
Access incoming particles.
Definition:
PhaseSpacePoint.hh:47
config.hh
HEJ 2 configuration parameters.
HEJ
Main HEJ 2 Namespace.
Definition:
mainpage.dox:1
HEJ::Particle
Class representing a particle.
Definition:
Particle.hh:19
HEJ::PhaseSpacePointConfig
Configuration options for the PhaseSpacePoint class.
Definition:
config.hh:106
HEJ::RNG
Interface for random number generator.
Definition:
RNG.hh:19
Generated by
1.9.5