14#include "Framework/Conventions/GBuild.h"
85#ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
87 <<
"Inputs: x = " << x <<
", |q2| = " << TMath::Abs(q2);
93 double uv = uncorrected_pdfs.
uval;
94 double us = uncorrected_pdfs.
usea;
95 double dv = uncorrected_pdfs.
dval;
96 double ds = uncorrected_pdfs.
dsea;
99 double delta = this->
DeltaDU(x);
100#ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
101 LOG(
"BodekYang",
pDEBUG) <<
"delta(d/u) = " << delta;
107 double rv = (val==0) ? 0. : uv/val;
108 double rs = (sea==0) ? 0. : us/sea;
110#ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
112 <<
"valence[u/(u+d)] = " << rv <<
", sea[u/(u+d)] = " << rs;
116 double uv_c = uv / ( 1 + delta*rv);
117 double dv_c = (dv + uv*delta) / ( 1 + delta*rv);
118 double us_c = us / ( 1 + delta*rs);
119 double ds_c = (ds + us*delta) / ( 1 + delta*rs);
121#ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
122 LOG(
"BodekYang",
pDEBUG) <<
"Bodek-Yang PDF correction:";
123 LOG(
"BodekYang",
pDEBUG) <<
"uv: " << uv <<
" --> " << uv_c;
124 LOG(
"BodekYang",
pDEBUG) <<
"dv: " << dv <<
" --> " << dv_c;
125 LOG(
"BodekYang",
pDEBUG) <<
"us: " << us <<
" --> " << us_c;
126 LOG(
"BodekYang",
pDEBUG) <<
"ds: " << ds <<
" --> " << ds_c;
130 PDF_t corrected_pdfs;
132 corrected_pdfs.
uval = uv_c;
133 corrected_pdfs.
dval = dv_c;
134 corrected_pdfs.
usea = us_c;
135 corrected_pdfs.
dsea = ds_c;
136 corrected_pdfs.
str = uncorrected_pdfs.
str;
137 corrected_pdfs.
chm = uncorrected_pdfs.
chm;
138 corrected_pdfs.
bot = uncorrected_pdfs.
bot;
139 corrected_pdfs.
top = uncorrected_pdfs.
top;
140 corrected_pdfs.
gl = uncorrected_pdfs.
gl;
142 return corrected_pdfs;
149 double d =
fX0 +
fX1 * x +
fX2 * TMath::Power(x,2);
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
virtual void Configure(const Registry &config)
const Algorithm * SubAlg(const RgKey ®istry_key) const
double fX0
correction param X0
double DeltaDU(double x) const
double fX2
correction param X2
double UpSea(double x, double q2) const
double fX1
correction param X1
const PDFModelI * fBasePDFModel
configuration parameters
double Gluon(double x, double q2) const
PDF_t AllPDFs(double x, double q2) const
double Bottom(double x, double q2) const
double fQ2min
min. Q2 for PDF evaluation
double Strange(double x, double q2) const
void Configure(const Registry &config)
double DownValence(double x, double q2) const
double UpValence(double x, double q2) const
PDFModelI interface implementation.
double Top(double x, double q2) const
double DownSea(double x, double q2) const
double Charm(double x, double q2) const
A registry. Provides the container for algorithm configuration parameters.
THE MAIN GENIE PROJECT NAMESPACE