hej
is hosted by
Hepforge
,
IPPP Durham
HEJ
2.1.4
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
include
HEJ
PDG_codes.hh
Go to the documentation of this file.
1
13
#pragma once
14
15
#include <cstdlib>
16
#include <string>
17
18
namespace
HEJ
{
19
21
namespace
pid {
23
enum
ParticleID
:
int
{
25
unspecified
= 0,
26
d
= 1,
27
down
=
d
,
28
u
= 2,
29
up
=
u
,
30
s
= 3,
31
strange
=
s
,
32
c
= 4,
33
charm
=
c
,
34
b
= 5,
35
bottom
=
b
,
36
t
= 6,
37
top
=
t
,
38
e
= 11,
39
electron
=
e
,
40
nu_e
= 12,
41
electron_neutrino
=
nu_e
,
42
mu
= 13,
43
muon
=
mu
,
44
nu_mu
= 14,
45
muon_neutrino
=
nu_mu
,
46
tau
= 15,
47
nu_tau
= 16,
48
tau_neutrino
=
nu_tau
,
49
d_bar
= -
d
,
50
antidown
=
d_bar
,
51
u_bar
= -
u
,
52
antiup
= -
u
,
53
s_bar
= -
s
,
54
antistrange
= -
s
,
55
c_bar
= -
c
,
56
anticharm
= -
c
,
57
b_bar
= -
b
,
58
antibottom
= -
b
,
59
t_bar
= -
t
,
60
antitop
= -
t
,
61
e_bar
= -
e
,
62
positron
=
e_bar
,
63
antielectron
=
positron
,
64
nu_e_bar
= -
nu_e
,
65
electron_antineutrino
=
nu_e_bar
,
66
mu_bar
= -
mu
,
67
antimuon
= -
mu
,
68
nu_mu_bar
= -
nu_mu
,
69
muon_antineutrino
=
nu_mu_bar
,
70
tau_bar
= -
tau
,
71
antitau
=
tau_bar
,
72
nu_tau_bar
= -
nu_tau
,
73
tau_antineutrino
=
nu_tau_bar
,
74
gluon
= 21,
75
g
=
gluon
,
76
photon
= 22,
77
gamma
=
photon
,
78
Z
= 23,
79
Z_photon_mix
= 81,
80
Z_gamma_mix
=
Z_photon_mix
,
81
Wp
= 24,
82
Wm
= -
Wp
,
83
h
= 25,
84
Higgs
=
h
,
85
higgs
=
h
,
86
p
= 2212,
87
proton
=
p
,
88
p_bar
= -
p
,
89
antiproton
=
p_bar
,
90
};
91
93
std::string
name
(
ParticleID
id
);
94
96
ParticleID
anti
(
ParticleID
id
);
97
98
}
// namespace pid
99
100
using
ParticleID
=
pid::ParticleID
;
101
103
ParticleID
to_ParticleID
(std::string
const
& name);
104
105
111
inline
112
constexpr
bool
is_quark
(
ParticleID
id
){
113
return
(
id
>=
pid::down
&&
id
<=
pid::top
);
114
}
115
121
inline
122
constexpr
bool
is_antiquark
(
ParticleID
id
){
123
return
(id <= pid::d_bar && id >=
pid::t_bar
);
124
}
125
131
inline
132
constexpr
bool
is_anyquark
(
ParticleID
id
){
133
return
is_quark
(
id
) ||
is_antiquark
(
id
);
134
}
135
141
inline
142
constexpr
bool
is_gluon
(
ParticleID
id
){
143
return
id
==
pid::gluon
;
144
}
150
inline
151
constexpr
bool
is_parton
(
ParticleID
id
){
152
return
is_gluon
(
id
)
153
|| (
is_anyquark
(
id
) && std::abs(
id
) !=
pid::top
);
154
}
155
161
inline
162
constexpr
bool
is_AWZ_boson
(
ParticleID
id
){
163
return
id
==
pid::Wm
|| (
id
>=
pid::photon
&&
id
<=
pid::Wp
)
164
||
id
==
pid::Z_photon_mix
;
165
}
166
173
inline
174
constexpr
bool
is_AWZH_boson
(
ParticleID
id
){
175
return
is_AWZ_boson
(
id
) || (
id
==
pid::Higgs
);
176
}
177
183
inline
184
constexpr
bool
is_lepton
(
ParticleID
id
){
185
return
(
id
>=
pid::electron
&&
id
<=
pid::tau_neutrino
);
186
}
187
193
inline
194
constexpr
bool
is_antilepton
(
ParticleID
id
){
195
return
(id <= pid::positron && id >=
pid::nu_tau_bar
);
196
}
197
204
inline
205
constexpr
bool
is_anylepton
(
ParticleID
id
){
206
return
(
is_lepton
(
id
) ||
is_antilepton
(
id
));
207
}
208
214
inline
215
constexpr
bool
is_neutrino
(
ParticleID
id
){
216
return
(
id
==
pid::nu_e
||
id
==
pid::tau_neutrino
217
||
id
==
pid::muon_neutrino
);
218
}
219
225
inline
226
constexpr
bool
is_antineutrino
(
ParticleID
id
){
227
return
(
id
==
pid::nu_e_bar
||
id
==
pid::nu_tau_bar
228
||
id
==
pid::nu_mu_bar
);
229
}
230
237
inline
238
constexpr
bool
is_anyneutrino
(
ParticleID
id
){
239
return
(
is_neutrino
(
id
) ||
is_antineutrino
(
id
));
240
}
241
}
// namespace HEJ
HEJ::pid::anti
ParticleID anti(ParticleID id)
return the negative flavour of the given PDG ID
HEJ::pid::ParticleID
ParticleID
The possible particle identities. We use PDG IDs as standard.
Definition:
PDG_codes.hh:23
HEJ::pid::Wp
@ Wp
Definition:
PDG_codes.hh:81
HEJ::pid::unspecified
@ unspecified
Unspecified type, should never be used!, debug only.
Definition:
PDG_codes.hh:25
HEJ::pid::antibottom
@ antibottom
Definition:
PDG_codes.hh:58
HEJ::pid::muon_neutrino
@ muon_neutrino
Definition:
PDG_codes.hh:45
HEJ::pid::nu_mu
@ nu_mu
Definition:
PDG_codes.hh:44
HEJ::pid::t_bar
@ t_bar
Definition:
PDG_codes.hh:59
HEJ::pid::bottom
@ bottom
Definition:
PDG_codes.hh:35
HEJ::pid::s
@ s
Definition:
PDG_codes.hh:30
HEJ::pid::antitau
@ antitau
Definition:
PDG_codes.hh:71
HEJ::pid::nu_e
@ nu_e
Definition:
PDG_codes.hh:40
HEJ::pid::d
@ d
Definition:
PDG_codes.hh:26
HEJ::pid::d_bar
@ d_bar
Definition:
PDG_codes.hh:49
HEJ::pid::antiproton
@ antiproton
Definition:
PDG_codes.hh:89
HEJ::pid::Z_gamma_mix
@ Z_gamma_mix
Definition:
PDG_codes.hh:80
HEJ::pid::g
@ g
Definition:
PDG_codes.hh:75
HEJ::pid::s_bar
@ s_bar
Definition:
PDG_codes.hh:53
HEJ::pid::nu_mu_bar
@ nu_mu_bar
Definition:
PDG_codes.hh:68
HEJ::pid::p
@ p
Definition:
PDG_codes.hh:86
HEJ::pid::tau_neutrino
@ tau_neutrino
Definition:
PDG_codes.hh:48
HEJ::pid::antistrange
@ antistrange
Definition:
PDG_codes.hh:54
HEJ::pid::muon
@ muon
Definition:
PDG_codes.hh:43
HEJ::pid::electron_neutrino
@ electron_neutrino
Definition:
PDG_codes.hh:41
HEJ::pid::top
@ top
Definition:
PDG_codes.hh:37
HEJ::pid::nu_tau_bar
@ nu_tau_bar
Definition:
PDG_codes.hh:72
HEJ::pid::tau_antineutrino
@ tau_antineutrino
Definition:
PDG_codes.hh:73
HEJ::pid::tau_bar
@ tau_bar
Definition:
PDG_codes.hh:70
HEJ::pid::nu_e_bar
@ nu_e_bar
Definition:
PDG_codes.hh:64
HEJ::pid::nu_tau
@ nu_tau
Definition:
PDG_codes.hh:47
HEJ::pid::positron
@ positron
Definition:
PDG_codes.hh:62
HEJ::pid::photon
@ photon
Definition:
PDG_codes.hh:76
HEJ::pid::electron
@ electron
Definition:
PDG_codes.hh:39
HEJ::pid::t
@ t
Definition:
PDG_codes.hh:36
HEJ::pid::gamma
@ gamma
Definition:
PDG_codes.hh:77
HEJ::pid::proton
@ proton
Definition:
PDG_codes.hh:87
HEJ::pid::h
@ h
Definition:
PDG_codes.hh:83
HEJ::pid::Z_photon_mix
@ Z_photon_mix
Definition:
PDG_codes.hh:79
HEJ::pid::strange
@ strange
Definition:
PDG_codes.hh:31
HEJ::pid::b
@ b
Definition:
PDG_codes.hh:34
HEJ::pid::Z
@ Z
Definition:
PDG_codes.hh:78
HEJ::pid::p_bar
@ p_bar
Definition:
PDG_codes.hh:88
HEJ::pid::c_bar
@ c_bar
Definition:
PDG_codes.hh:55
HEJ::pid::antidown
@ antidown
Definition:
PDG_codes.hh:50
HEJ::pid::Wm
@ Wm
Definition:
PDG_codes.hh:82
HEJ::pid::antiup
@ antiup
Definition:
PDG_codes.hh:52
HEJ::pid::down
@ down
Definition:
PDG_codes.hh:27
HEJ::pid::u
@ u
Definition:
PDG_codes.hh:28
HEJ::pid::higgs
@ higgs
Definition:
PDG_codes.hh:85
HEJ::pid::e
@ e
Definition:
PDG_codes.hh:38
HEJ::pid::tau
@ tau
Definition:
PDG_codes.hh:46
HEJ::pid::antimuon
@ antimuon
Definition:
PDG_codes.hh:67
HEJ::pid::electron_antineutrino
@ electron_antineutrino
Definition:
PDG_codes.hh:65
HEJ::pid::anticharm
@ anticharm
Definition:
PDG_codes.hh:56
HEJ::pid::Higgs
@ Higgs
Definition:
PDG_codes.hh:84
HEJ::pid::antielectron
@ antielectron
Definition:
PDG_codes.hh:63
HEJ::pid::charm
@ charm
Definition:
PDG_codes.hh:33
HEJ::pid::antitop
@ antitop
Definition:
PDG_codes.hh:60
HEJ::pid::mu_bar
@ mu_bar
Definition:
PDG_codes.hh:66
HEJ::pid::u_bar
@ u_bar
Definition:
PDG_codes.hh:51
HEJ::pid::c
@ c
Definition:
PDG_codes.hh:32
HEJ::pid::up
@ up
Definition:
PDG_codes.hh:29
HEJ::pid::e_bar
@ e_bar
Definition:
PDG_codes.hh:61
HEJ::pid::gluon
@ gluon
Definition:
PDG_codes.hh:74
HEJ::pid::mu
@ mu
Definition:
PDG_codes.hh:42
HEJ::pid::muon_antineutrino
@ muon_antineutrino
Definition:
PDG_codes.hh:69
HEJ::pid::b_bar
@ b_bar
Definition:
PDG_codes.hh:57
HEJ::pid::name
std::string name(ParticleID id)
Get the of the particle with the given PDG ID.
HEJ
Main HEJ 2 Namespace.
Definition:
mainpage.dox:1
HEJ::is_antineutrino
constexpr bool is_antineutrino(Particle const &p)
Function to determine if particle is an antineutrino.
Definition:
Particle.hh:175
HEJ::is_parton
constexpr bool is_parton(Particle const &p)
Check if a particle is a parton, i.e. quark, antiquark, or gluon.
Definition:
Particle.hh:107
HEJ::is_antiquark
constexpr bool is_antiquark(Particle const &p)
Check if a particle is an anti-quark.
Definition:
Particle.hh:119
HEJ::is_lepton
constexpr bool is_lepton(Particle const &p)
Function to determine if particle is a lepton.
Definition:
Particle.hh:135
HEJ::to_ParticleID
ParticleID to_ParticleID(std::string const &name)
Convert a particle name to the corresponding PDG particle ID.
HEJ::is_quark
constexpr bool is_quark(Particle const &p)
Check if a particle is a quark.
Definition:
Particle.hh:113
HEJ::is_anylepton
constexpr bool is_anylepton(Particle const &p)
Function to determine if particle is an (anti-)lepton.
Definition:
Particle.hh:155
HEJ::is_gluon
constexpr bool is_gluon(ParticleID id)
Function to determine if particle is a gluon.
Definition:
PDG_codes.hh:142
HEJ::is_anyneutrino
constexpr bool is_anyneutrino(Particle const &p)
Function to determine if particle is an (anti-)neutrino.
Definition:
Particle.hh:185
HEJ::is_AWZH_boson
constexpr bool is_AWZH_boson(Particle const &particle)
Check if a particle is a photon, W, Z, or Higgs boson.
Definition:
Particle.hh:197
HEJ::is_antilepton
constexpr bool is_antilepton(Particle const &p)
Function to determine if particle is an antilepton.
Definition:
Particle.hh:145
HEJ::is_neutrino
constexpr bool is_neutrino(Particle const &p)
Function to determine if particle is a neutrino.
Definition:
Particle.hh:165
HEJ::is_anyquark
constexpr bool is_anyquark(Particle const &p)
Check if a particle is a quark or anit-quark.
Definition:
Particle.hh:125
HEJ::is_AWZ_boson
constexpr bool is_AWZ_boson(Particle const &particle)
Check if a particle is a photon, W or Z boson.
Definition:
Particle.hh:191
Generated by
1.9.5