cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
SzczurekUleshchenko.cpp
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2016-2024 Laurent Forthomme
4
* 2016 Antoni Szczurek
5
* 2016 Volodymyr Uleshchenko
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
#include "
CepGen/Modules/StructureFunctionsFactory.h
"
22
#include "
CepGen/StructureFunctions/Parameterisation.h
"
23
#include "
CepGen/Utils/Message.h
"
24
25
namespace
{
26
extern
"C"
{
27
extern
void
grv95lo_(
float
&,
float
&,
float
&,
float
&,
float
&,
float
&,
float
&,
float
&);
28
}
29
}
// namespace
30
31
namespace
cepgen
{
32
namespace
strfun {
34
class
SzczurekUleshchenko
final :
public
Parameterisation
{
35
public
:
36
explicit
SzczurekUleshchenko
(
const
ParametersList
& params)
37
:
Parameterisation
(params), q2_shift_(
steerAs
<double, float>(
"q2shift"
)) {}
38
39
static
ParametersDescription
description
() {
40
auto
desc =
Parameterisation::description
();
41
desc.setDescription(
"Szczurek-Uleshchenko (based on GRV parton content)"
);
42
desc.add<
double
>(
"q2shift"
, 0.8);
43
return
desc;
44
}
45
46
private
:
47
void
eval()
override
{
48
auto
amu2 = (float)
args_
.
q2
+ q2_shift_;
// shift the overall scale
49
float
xuv, xdv, xus, xds, xss, xg;
50
auto
xbj_arg = (float)
args_
.
xbj
;
51
52
grv95lo_(xbj_arg, amu2, xuv, xdv, xus, xds, xss, xg);
53
54
CG_DEBUG_LOOP
(
"SzczurekUleshchenko"
)
55
<<
"Form factor content at xB = "
<<
args_
.
xbj
<<
" (scale = "
<< amu2 <<
" GeV^2):\n\t"
56
<<
" valence quarks: u / d = "
<< xuv <<
" / "
<< xdv <<
"\n\t"
57
<<
" sea quarks: u / d / s = "
<< xus <<
" / "
<< xds <<
" / "
<< xss <<
"\n\t"
58
<<
" gluons: = "
<< xg;
59
60
// standard partonic structure function
61
const
double
F2_aux = 4. / 9. * (xuv + 2. * xus) + 1. / 9. * (xdv + 2. * xds) + 1. / 9. * (2. * xss);
62
setF2
(F2_aux *
args_
.
q2
/ amu2);
// F2 corrected for low Q^2 behaviour
63
}
64
const
float
q2_shift_;
65
};
66
}
// namespace strfun
67
}
// namespace cepgen
68
using
cepgen::strfun::SzczurekUleshchenko
;
69
REGISTER_STRFUN
(
"SzczurekUleshchenko"
, 12,
SzczurekUleshchenko
);
Message.h
CG_DEBUG_LOOP
#define CG_DEBUG_LOOP(mod)
Definition
Message.h:224
StructureFunctionsFactory.h
REGISTER_STRFUN
#define REGISTER_STRFUN(name, id, obj)
Add a structure functions definition to the list of handled parameterisation.
Definition
StructureFunctionsFactory.h:25
Parameterisation.h
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::Steerable::steerAs
U steerAs(const std::string &key) const
Retrieve a recasted parameters as previously steered.
Definition
Steerable.h:44
cepgen::strfun::Parameterisation
Base object for the parameterisation of nucleon structure functions.
Definition
Parameterisation.h:30
cepgen::strfun::Parameterisation::args_
Arguments args_
Last couple computed.
Definition
Parameterisation.h:109
cepgen::strfun::Parameterisation::setF2
Parameterisation & setF2(double f2)
Definition
Parameterisation.cpp:83
cepgen::strfun::Parameterisation::description
static ParametersDescription description()
Generic description for the structure functions.
Definition
Parameterisation.cpp:148
cepgen::strfun::SzczurekUleshchenko
Szczurek and Uleshchenko modelling of based on GRV parton content .
Definition
SzczurekUleshchenko.cpp:34
cepgen::strfun::SzczurekUleshchenko::description
static ParametersDescription description()
Definition
SzczurekUleshchenko.cpp:39
cepgen::strfun::SzczurekUleshchenko::SzczurekUleshchenko
SzczurekUleshchenko(const ParametersList ¶ms)
Definition
SzczurekUleshchenko.cpp:36
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
cepgen::strfun::Parameterisation::Arguments::xbj
double xbj
Definition
Parameterisation.h:60
cepgen::strfun::Parameterisation::Arguments::q2
double q2
Definition
Parameterisation.h:60
CepGen
StructureFunctions
SzczurekUleshchenko.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7