cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
AlphaSWebber.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 <cmath>
20
21
#include "
CepGen/Modules/CouplingFactory.h
"
22
#include "
CepGen/Physics/Coupling.h
"
23
#include "
CepGen/Utils/Message.h
"
24
25
namespace
cepgen
{
28
class
AlphaSWebber
:
public
Coupling
{
29
public
:
30
explicit
AlphaSWebber
(
const
ParametersList
& params)
31
:
Coupling
(params),
32
nc_(
steer
<int>(
"Nc"
)),
33
nf_(
steer
<int>(
"nf"
)),
34
lambda_(
steer
<double>(
"Lambda"
)),
35
beta0_((11. * nc_ - 2. * nf_) / 3.),
36
prefac_(4. * M_PI / beta0_) {
37
CG_INFO
(
"AlphaSWebber:init"
) <<
"Webber et al. alpha(S) evolution algorithm initialised with parameters:\n\t"
38
<<
"Nc: "
<< nc_ <<
", nf: "
<< nf_ <<
" -> beta0: "
<< beta0_
39
<<
", Lambda: "
<< lambda_ <<
"."
;
40
}
41
42
static
ParametersDescription
description
() {
43
auto
desc =
Coupling::description
();
44
desc.setDescription(
"Webber alpha(S) evolution algorithm"
);
45
desc.add<
int
>(
"Nc"
, 3).setDescription(
"number of colours considered"
);
46
desc.add<
int
>(
"nf"
, 3).setDescription(
"number of fermion flavours considered"
);
47
desc.add<
double
>(
"Lambda"
, 0.25).setDescription(
"evolution scale (in GeV)"
);
48
return
desc;
49
}
50
51
double
operator()
(
double
q)
const override
{
52
const
auto
mun = q * q / lambda_ / lambda_;
53
return
prefac_ * (1. / std::log(mun) + 125. * (1. + 4. * mun) / (1. - mun) / std::pow(4. + mun, 4));
54
}
55
56
private
:
57
const
int
nc_, nf_;
58
const
double
lambda_, beta0_;
59
const
double
prefac_;
60
};
61
}
// namespace cepgen
62
63
REGISTER_ALPHAS_MODULE
(
"webber"
, AlphaSWebber);
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
cepgen::AlphaSWebber
Simple parameterisation of the QCD running coupling at low scales .
Definition
AlphaSWebber.cpp:28
cepgen::AlphaSWebber::operator()
double operator()(double q) const override
Compute for a given .
Definition
AlphaSWebber.cpp:51
cepgen::AlphaSWebber::description
static ParametersDescription description()
Definition
AlphaSWebber.cpp:42
cepgen::AlphaSWebber::AlphaSWebber
AlphaSWebber(const ParametersList ¶ms)
Definition
AlphaSWebber.cpp:30
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
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
CepGen
Physics
AlphaSWebber.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7