cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
AlphaSPEGASUS.cpp
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2013-2021 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 "
CepGen/Physics/PDG.h
"
22
#include "
CepGen/Utils/Message.h
"
23
24
namespace
{
25
extern
"C"
{
26
void
initalphas_(
int
& iord,
double
& fr2,
double
& mur,
double
& asmur,
double
& mc,
double
& mb,
double
& mt);
27
double
alphas_(
double
& mur);
28
}
29
}
// namespace
30
31
namespace
cepgen
{
32
class
AlphaSPEGASUS
:
public
Coupling
{
33
public
:
34
explicit
AlphaSPEGASUS
(
const
ParametersList
& params)
35
:
Coupling
(params),
36
iord_(
steer
<int>(
"iord"
)),
37
fr2_(
steer
<double>(
"fr2"
)),
38
mur_(
steer
<double>(
"mur"
)),
39
asmur_(
steer
<double>(
"asmur"
)) {
40
double
mc =
PDG::get
().
mass
(4), mb =
PDG::get
().
mass
(5), mt =
PDG::get
().
mass
(6);
41
42
initalphas_(iord_, fr2_, mur_, asmur_, mc, mb, mt);
43
CG_INFO
(
"AlphaSPEGASUS:init"
) <<
"PEGASUS alpha(S) evolution algorithm initialised with parameters:\n\t"
44
<<
"order: "
<< iord_ <<
", fr2: "
<< fr2_ <<
", "
45
<<
"mur: "
<< mur_ <<
", asmur: "
<< asmur_ <<
"\n\t"
46
<<
"quark masses (GeV): charm: "
<< mc <<
", bottom: "
<< mb <<
", top: "
<< mt
47
<<
"."
;
48
}
49
50
static
ParametersDescription
description
() {
51
auto
desc =
Coupling::description
();
52
desc.setDescription(
"PEGASUS alpha(S) evolution algorithm"
);
53
desc.add<
int
>(
"iord"
, 2).setDescription(
"Evolution order"
);
54
desc.add<
double
>(
"fr2"
, 1.);
55
desc.add<
double
>(
"mur"
, 1.);
56
desc.add<
double
>(
"asmur"
, 0.49128);
57
return
desc;
58
}
59
60
double
operator()
(
double
q)
const override
{
return
alphas_(q); }
61
62
private
:
63
int
iord_;
64
double
fr2_;
65
double
mur_;
66
double
asmur_;
67
};
68
}
// namespace cepgen
69
70
REGISTER_ALPHAS_MODULE
(
"pegasus"
, AlphaSPEGASUS);
CouplingFactory.h
REGISTER_ALPHAS_MODULE
#define REGISTER_ALPHAS_MODULE(name, obj)
Add a strong coupling evolution algorithm.
Definition
CouplingFactory.h:35
Coupling.h
Message.h
CG_INFO
#define CG_INFO(mod)
Definition
Message.h:216
PDG.h
cepgen::AlphaSPEGASUS
Definition
AlphaSPEGASUS.cpp:32
cepgen::AlphaSPEGASUS::operator()
double operator()(double q) const override
Compute for a given .
Definition
AlphaSPEGASUS.cpp:60
cepgen::AlphaSPEGASUS::AlphaSPEGASUS
AlphaSPEGASUS(const ParametersList ¶ms)
Definition
AlphaSPEGASUS.cpp:34
cepgen::AlphaSPEGASUS::description
static ParametersDescription description()
Definition
AlphaSPEGASUS.cpp:50
cepgen::Coupling
A generic evaluation algorithm.
Definition
Coupling.h:26
cepgen::PDG::mass
double mass(spdgid_t) const
Particle mass (in GeV)
Definition
PDG.cpp:90
cepgen::PDG::get
static PDG & get()
Retrieve a unique instance of this particles info collection.
Definition
PDG.cpp:41
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
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
CepGen
Physics
AlphaSPEGASUS.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7