cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
AlphaS.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
AlphaS
final :
public
Coupling
{
26
public
:
27
explicit
AlphaS
(
const
ParametersList
& params) :
Coupling
(params) {
28
mstu
(111) = steer<int>(
"order"
);
29
mstu
(112) = steer<int>(
"nf"
);
30
mstu
(113) = steer<int>(
"minNf"
);
31
mstu
(114) = steer<int>(
"maxNf"
);
32
mstu
(115) = steer<int>(
"singularityTreatment"
);
33
paru
(111) = steer<double>(
"fixedAlphaS"
);
34
paru
(112) = steer<double>(
"Lambda"
);
35
paru
(113) = steer<double>(
"flavourThreshold"
);
36
paru
(114) = steer<double>(
"minQ2"
);
37
paru
(115) = steer<double>(
"maxQ2"
);
38
}
39
40
inline
static
ParametersDescription
description
() {
41
auto
desc =
cepgen::Coupling::description
();
42
desc.setDescription(
"Pythia6 modelling of alpha(S) running"
);
43
desc.add<
int
>(
"order"
,
mstu
(111))
44
.setDescription(
"order of alpha(S) evaluation"
)
45
.allow(0,
"fixed at 'fixedAlphaS'"
)
46
.allow(1,
"1st order running"
)
47
.allow(2,
"2nd order running"
);
48
desc.add<
int
>(
"nf"
,
mstu
(112)).setDescription(
"nominal number of flavours assumed in alpha(s) expression"
);
49
desc.add<
int
>(
"minNf"
,
mstu
(113))
50
.setDescription(
"minimum number of flavours that may be assumed in alpha(S) expression"
);
51
desc.add<
int
>(
"maxNf"
,
mstu
(114))
52
.setDescription(
"minimum number of flavours that may be assumed in alpha(S) expression"
);
53
desc.add<
int
>(
"singularityTreatment"
,
mstu
(115))
54
.setDescription(
"treatment of alpha(S) singularities for Q^2->0"
)
55
.allow(0,
"allow divergence"
)
56
.allow(1,
"log-softening"
)
57
.allow(2,
"freeze under Q^2 transition value"
);
58
desc.add<
double
>(
"fixedAlphaS"
,
paru
(111))
59
.setDescription(
60
"fix alpha(S) value assumed when order=0 (and also in parton showers when alpha(S) is assumed fix "
61
"there)"
);
62
desc.add<
double
>(
"Lambda"
,
paru
(112)).setDescription(
"Lambda value used in running"
);
63
desc.add<
double
>(
"flavourThreshold"
,
paru
(113))
64
.setDescription(
65
"flavour threshold, for the effective number of flavours 'nf' to use (='flavourThreshold'*m_q^2)"
);
66
desc.add<
double
>(
"minQ2"
,
paru
(114)).setDescription(
"Q^2 value below which alpha(S) is assumed constant"
);
67
desc.add<
double
>(
"maxQ2"
,
paru
(115)).setDescription(
"maximum alpha(S) value computable"
);
68
return
desc;
69
}
70
71
inline
double
operator()
(
double
q)
const override
{
return
pyalps
(q * q); }
72
};
73
}
// namespace pythia6
74
}
// namespace cepgen
75
using
Pythia6AlphaS
=
cepgen::pythia6::AlphaS
;
76
REGISTER_ALPHAS_MODULE
(
"pythia6"
,
Pythia6AlphaS
);
CouplingFactory.h
REGISTER_ALPHAS_MODULE
#define REGISTER_ALPHAS_MODULE(name, obj)
Add a strong coupling evolution algorithm.
Definition
CouplingFactory.h:35
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::AlphaS
Definition
AlphaS.cpp:25
cepgen::pythia6::AlphaS::operator()
double operator()(double q) const override
Compute for a given .
Definition
AlphaS.cpp:71
cepgen::pythia6::AlphaS::AlphaS
AlphaS(const ParametersList ¶ms)
Definition
AlphaS.cpp:27
cepgen::pythia6::AlphaS::description
static ParametersDescription description()
Definition
AlphaS.cpp:40
cepgen::pythia6::mstu
static int & mstu(size_t i)
Definition
Pythia6Interface.h:63
cepgen::pythia6::pyalps
double pyalps(double q2)
Definition
Pythia6Interface.cpp:45
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
python.Config.Hadronisation.pythia6_cfi.pythia6
pythia6
Definition
pythia6_cfi.py:11
CepGenAddOns
Pythia6Wrapper
AlphaS.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7