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/Core/Exception.h
"
20
#include "
CepGen/Modules/CouplingFactory.h
"
21
#include "
CepGen/Physics/Coupling.h
"
22
#include "
CepGenAddOns/Herwig6Wrapper/Herwig6Interface.h
"
23
24
namespace
cepgen
{
25
namespace
herwig6
{
26
class
AlphaS
final :
public
cepgen::Coupling
{
27
public
:
28
explicit
AlphaS
(
const
ParametersList
& params) :
cepgen
::
Coupling
(params), mode_(
steer
<int>(
"mode"
)) {
29
if
(mode_ < 1 || mode_ > 3)
30
throw
CG_FATAL
(
"herwig6:AlphaS"
) <<
"Invalid mode steered: should be between 1 and 3, got "
<< mode_ <<
"."
;
31
hwpram_
.ncolo = steer<int>(
"ncolo"
);
32
hwpram_
.qcdlam = steer<double>(
"qcdlam"
);
33
hwpram_
.qcdl5 = steer<double>(
"qcdl5"
);
34
hwualf
(0, 0.);
35
}
36
37
inline
static
ParametersDescription
description
() {
38
auto
desc =
cepgen::Coupling::description
();
39
desc.setDescription(
"Herwig6 modelling of alpha(S) running"
);
40
initialise
();
41
desc.add<
int
>(
"mode"
, 1)
42
.setDescription(
"running mode"
)
43
.allow(1,
"two-loop flavour thresholds"
)
44
.allow(2,
"ratio of mode-1 with 5-flavour beta with Lambda=QCDL3"
)
45
.allow(3,
"one-loop with 5-flavour beta and Lambda=QCDL3"
);
46
desc.add<
int
>(
"ncolo"
,
hwpram_
.ncolo).setDescription(
"number of colours to consider"
);
47
desc.add<
double
>(
"qcdlam"
,
hwpram_
.qcdlam).setDescription(
"5-flavour Lambda_MS-bar at large x/z"
);
48
desc.add<
double
>(
"qcdl5"
,
hwpram_
.qcdl5).setDescription(
"5-flavour Lambda_MC"
);
49
return
desc;
50
}
51
52
inline
double
operator()
(
double
q)
const override
{
return
hwualf
(mode_, q * q); }
53
54
private
:
55
const
int
mode_;
56
};
57
}
// namespace herwig6
58
}
// namespace cepgen
59
using
Herwig6AlphaS
=
cepgen::herwig6::AlphaS
;
60
REGISTER_ALPHAS_MODULE
(
"herwig6"
,
Herwig6AlphaS
);
CouplingFactory.h
REGISTER_ALPHAS_MODULE
#define REGISTER_ALPHAS_MODULE(name, obj)
Add a strong coupling evolution algorithm.
Definition
CouplingFactory.h:35
Coupling.h
Exception.h
CG_FATAL
#define CG_FATAL(mod)
Definition
Exception.h:61
Herwig6Interface.h
hwpram_
struct @6 hwpram_
Basic parameters (and quantities derived from them)
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::Steerable::steer
T steer(const std::string &key) const
Retrieve a parameters as previously steered.
Definition
Steerable.h:39
cepgen::herwig6::AlphaS
Definition
AlphaS.cpp:26
cepgen::herwig6::AlphaS::operator()
double operator()(double q) const override
Compute for a given .
Definition
AlphaS.cpp:52
cepgen::herwig6::AlphaS::AlphaS
AlphaS(const ParametersList ¶ms)
Definition
AlphaS.cpp:28
cepgen::herwig6::AlphaS::description
static ParametersDescription description()
Definition
AlphaS.cpp:37
cepgen::herwig6::initialise
void initialise()
Definition
Herwig6Interface.cpp:36
cepgen::herwig6::hwualf
double hwualf(int mode, double q2)
Definition
Herwig6Interface.cpp:50
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
python_modules.AlphaEM.herwig6_cfi.herwig6
herwig6
Definition
herwig6_cfi.py:3
CepGenAddOns
Herwig6Wrapper
AlphaS.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7