cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
AlphaEM.cpp
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2024 Laurent Forthomme
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#include "
CepGen/Modules/CouplingFactory.h
"
20
#include "
CepGen/Physics/Coupling.h
"
21
#include "
CepGenAddOns/Pythia6Wrapper/Pythia6Interface.h
"
22
23
namespace
cepgen
{
24
namespace
pythia6 {
25
class
AlphaEM
final :
public
Coupling
{
26
public
:
27
explicit
AlphaEM
(
const
ParametersList
& params) :
Coupling
(params) {
28
mstu
(101) = steer<int>(
"mode"
);
29
paru
(101) = steer<double>(
"fixedAlphaEM"
);
30
paru
(102) = steer<double>(
"sin2ThetaW"
);
31
paru
(103) = steer<double>(
"highQ2alphaEM"
);
32
paru
(104) = steer<double>(
"q2cut"
);
33
paru
(105) = steer<double>(
"gf"
);
34
}
35
36
inline
static
ParametersDescription
description
() {
37
auto
desc =
cepgen::Coupling::description
();
38
desc.setDescription(
"Pythia6 modelling of alpha(EM) running"
);
39
desc.add<
int
>(
"mode"
,
mstu
(101))
40
.setDescription(
"procedure for alpha(EM) evaluation"
)
41
.allow(0,
"fix at 'fixedAlphaEM'"
)
42
.allow(1,
"running accounting to fermion loops"
)
43
.allow(2,
"fix with low-high Q^2 splitting"
);
44
desc.add<
double
>(
"fixedAlphaEM"
,
paru
(101))
45
.setDescription(
"electromagnetic fine structure constant at vanishing mom.transfer"
);
46
desc.add<
double
>(
"sin2ThetaW"
,
paru
(102)).setDescription(
"weak mixing angle of the standard electroweak model"
);
47
desc.add<
double
>(
"highQ2alphaEM"
,
paru
(103))
48
.setDescription(
"typical alpha(EM) in EW processes, intended for high-Q^2 for Z/W physics"
);
49
desc.add<
double
>(
"q2cut"
,
paru
(104)).setDescription(
"dividing line between low- and high-Q^2 if mode=2"
);
50
desc.add<
double
>(
"gf"
,
paru
(105)).setDescription(
"Fermi constant of weak interactions"
);
51
return
desc;
52
}
53
54
inline
double
operator()
(
double
q)
const override
{
return
pyalem
(q * q); }
55
};
56
}
// namespace pythia6
57
}
// namespace cepgen
58
using
Pythia6AlphaEM
=
cepgen::pythia6::AlphaEM
;
59
REGISTER_ALPHAEM_MODULE
(
"pythia6"
,
Pythia6AlphaEM
);
CouplingFactory.h
REGISTER_ALPHAEM_MODULE
#define REGISTER_ALPHAEM_MODULE(name, obj)
Add an electromagnetic coupling evolution algorithm.
Definition
CouplingFactory.h:25
Coupling.h
Pythia6Interface.h
cepgen::Coupling
A generic evaluation algorithm.
Definition
Coupling.h:26
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::Steerable::description
static ParametersDescription description()
Description of all object parameters.
Definition
Steerable.cpp:42
cepgen::pythia6::AlphaEM
Definition
AlphaEM.cpp:25
cepgen::pythia6::AlphaEM::operator()
double operator()(double q) const override
Compute for a given .
Definition
AlphaEM.cpp:54
cepgen::pythia6::AlphaEM::AlphaEM
AlphaEM(const ParametersList ¶ms)
Definition
AlphaEM.cpp:27
cepgen::pythia6::AlphaEM::description
static ParametersDescription description()
Definition
AlphaEM.cpp:36
cepgen::pythia6::pyalem
double pyalem(double q2)
Definition
Pythia6Interface.cpp:43
cepgen::pythia6::mstu
static int & mstu(size_t i)
Definition
Pythia6Interface.h:63
cepgen::pythia6::paru
static double & paru(size_t i)
Definition
Pythia6Interface.h:64
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
CepGenAddOns
Pythia6Wrapper
AlphaEM.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7