cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
AlphaSUN.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 <Pythia8/Pythia.h>
20
#include <Pythia8/StandardModel.h>
21
22
#include "
CepGen/Modules/CouplingFactory.h
"
23
#include "
CepGen/Physics/Constants.h
"
24
#include "
CepGen/Physics/Coupling.h
"
25
26
namespace
cepgen
{
27
namespace
pythia8
{
28
class
AlphaSUN
final :
public
Coupling
{
29
public
:
30
explicit
AlphaSUN
(
const
ParametersList
& params) :
Coupling
(params), alphas_(new
Pythia8
::
AlphaSUN
) {
31
const
auto
nCHV = steer<int>(
"Ngauge"
), alphaHVorder = nCHV > 1 ? steer<int>(
"alphaOrder"
) : 0;
32
if
(steer<bool>(
"setLambda"
)) {
33
lambda_ = steer<double>(
"Lambda"
);
34
alphas_->initLambda(nCHV, steer<int>(
"nFlav"
), alphaHVorder, lambda_);
35
}
else
{
36
alphas_->initAlpha(
37
nCHV, steer<int>(
"nFlav"
), alphaHVorder, steer<double>(
"alphaFSR"
), steer<double>(
"alphaFSRrefScale"
));
38
lambda_ = alphas_->Lambda();
39
}
40
}
41
42
inline
static
ParametersDescription
description
() {
43
auto
desc =
cepgen::Coupling::description
();
44
desc.setDescription(
"Pythia8 modelling of alpha(S) running in SU(N) model"
);
45
desc.add<
int
>(
"Ngauge"
, 1);
46
desc.add<
int
>(
"nFlav"
, 1);
47
desc.add<
int
>(
"alphaOrder"
, 0);
48
desc.add<
bool
>(
"setLambda"
,
false
);
49
desc.add<
double
>(
"Lambda"
, 0.4);
50
desc.add<
double
>(
"alphaFSR"
, 0.1);
51
desc.add<
double
>(
"alphaFSRrefScale"
, 91.188);
52
return
desc;
53
}
54
55
inline
double
operator()
(
double
q)
const override
{
return
alphas_->alpha(q * q); }
56
57
private
:
58
const
std::unique_ptr<Pythia8::AlphaSUN> alphas_;
59
double
lambda_{0.};
60
};
61
}
// namespace pythia8
62
}
// namespace cepgen
63
using
Pythia8AlphaSUN
=
cepgen::pythia8::AlphaSUN
;
64
REGISTER_ALPHAS_MODULE
(
"pythia8UN"
,
Pythia8AlphaSUN
);
Constants.h
CouplingFactory.h
REGISTER_ALPHAS_MODULE
#define REGISTER_ALPHAS_MODULE(name, obj)
Add a strong coupling evolution algorithm.
Definition
CouplingFactory.h:35
Coupling.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::pythia8::AlphaSUN
Definition
AlphaSUN.cpp:28
cepgen::pythia8::AlphaSUN::operator()
double operator()(double q) const override
Compute for a given .
Definition
AlphaSUN.cpp:55
cepgen::pythia8::AlphaSUN::description
static ParametersDescription description()
Definition
AlphaSUN.cpp:42
cepgen::pythia8::AlphaSUN::AlphaSUN
AlphaSUN(const ParametersList ¶ms)
Definition
AlphaSUN.cpp:30
Pythia8
Definition
PythiaEventInterface.cpp:26
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
python.Config.Hadronisation.pythia8_cfi.pythia8
pythia8
Definition
pythia8_cfi.py:13
CepGenAddOns
Pythia8Wrapper
AlphaSUN.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7