|
| BYPDF () |
|
| BYPDF (string config) |
|
virtual | ~BYPDF () |
|
double | UpValence (double x, double q2) const |
| PDFModelI interface implementation. More...
|
|
double | DownValence (double x, double q2) const |
|
double | UpSea (double x, double q2) const |
|
double | DownSea (double x, double q2) const |
|
double | Strange (double x, double q2) const |
|
double | Charm (double x, double q2) const |
|
double | Bottom (double x, double q2) const |
|
double | Top (double x, double q2) const |
|
double | Gluon (double x, double q2) const |
|
PDF_t | AllPDFs (double x, double q2) const |
|
void | Configure (const Registry &config) |
|
void | Configure (string config) |
|
virtual | ~PDFModelI () |
|
virtual | ~Algorithm () |
|
virtual void | FindConfig (void) |
|
virtual const Registry & | GetConfig (void) const |
|
Registry * | GetOwnedConfig (void) |
|
virtual const AlgId & | Id (void) const |
| Get algorithm ID. More...
|
|
virtual AlgStatus_t | GetStatus (void) const |
| Get algorithm status. More...
|
|
virtual bool | AllowReconfig (void) const |
|
virtual AlgCmp_t | Compare (const Algorithm *alg) const |
| Compare with input algorithm. More...
|
|
virtual void | SetId (const AlgId &id) |
| Set algorithm ID. More...
|
|
virtual void | SetId (string name, string config) |
|
const Algorithm * | SubAlg (const RgKey ®istry_key) const |
|
void | AdoptConfig (void) |
|
void | AdoptSubstructure (void) |
|
virtual void | Print (ostream &stream) const |
| Print algorithm info. More...
|
|
|
static string | BuildParamVectKey (const std::string &comm_name, unsigned int i) |
|
static string | BuildParamVectSizeKey (const std::string &comm_name) |
|
static string | BuildParamMatKey (const std::string &comm_name, unsigned int i, unsigned int j) |
|
static string | BuildParamMatRowSizeKey (const std::string &comm_name) |
|
static string | BuildParamMatColSizeKey (const std::string &comm_name) |
|
| PDFModelI () |
|
| PDFModelI (string name) |
|
| PDFModelI (string name, string config) |
|
| Algorithm () |
|
| Algorithm (string name) |
|
| Algorithm (string name, string config) |
|
void | Initialize (void) |
|
void | DeleteConfig (void) |
|
void | DeleteSubstructure (void) |
|
Registry * | ExtractLocalConfig (const Registry &in) const |
|
Registry * | ExtractLowerConfig (const Registry &in, const string &alg_key) const |
| Split an incoming configuration Registry into a block valid for the sub-algo identified by alg_key. More...
|
|
template<class T > |
bool | GetParam (const RgKey &name, T &p, bool is_top_call=true) const |
|
template<class T > |
bool | GetParamDef (const RgKey &name, T &p, const T &def) const |
|
template<class T > |
int | GetParamVect (const std::string &comm_name, std::vector< T > &v, bool is_top_call=true) const |
| Handle to load vectors of parameters. More...
|
|
int | GetParamVectKeys (const std::string &comm_name, std::vector< RgKey > &k, bool is_top_call=true) const |
|
template<class T > |
int | GetParamMat (const std::string &comm_name, TMatrixT< T > &mat, bool is_top_call=true) const |
| Handle to load matrix of parameters. More...
|
|
template<class T > |
int | GetParamMatSym (const std::string &comm_name, TMatrixTSym< T > &mat, bool is_top_call=true) const |
|
int | GetParamMatKeys (const std::string &comm_name, std::vector< RgKey > &k, bool is_top_call=true) const |
|
int | AddTopRegistry (Registry *rp, bool owns=true) |
| add registry with top priority, also update ownership More...
|
|
int | AddLowRegistry (Registry *rp, bool owns=true) |
| add registry with lowest priority, also update ownership More...
|
|
int | MergeTopRegistry (const Registry &r) |
|
int | AddTopRegisties (const vector< Registry * > &rs, bool owns=false) |
| Add registries with top priority, also udated Ownerships. More...
|
|
bool | fAllowReconfig |
|
bool | fOwnsSubstruc |
| true if it owns its substructure (sub-algs,...) More...
|
|
AlgId | fID |
| algorithm name and configuration set More...
|
|
vector< Registry * > | fConfVect |
|
vector< bool > | fOwnerships |
| ownership for every registry in fConfVect More...
|
|
AlgStatus_t | fStatus |
| algorithm execution status More...
|
|
AlgMap * | fOwnedSubAlgMp |
| local pool for owned sub-algs (taken out of the factory pool) More...
|
|
Computes corrected PDFs according to the Bodek-Yang model.
Concrete implementation of the PDFModelI interface.
- Author
- Costas Andreopoulos <c.andreopoulos cern.ch> University of Liverpool
- Created:
- September 29, 2004
- License:
- Copyright (c) 2003-2024, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org
Definition at line 27 of file BYPDF.h.
PDF_t BYPDF::AllPDFs |
( |
double |
x, |
|
|
double |
q2 |
|
) |
| const |
|
virtual |
Implements genie::PDFModelI.
Definition at line 83 of file BYPDF.cxx.
References genie::PDFModelI::AllPDFs(), DeltaDU(), fBasePDFModel, fQ2min, LOG, pDEBUG, and genie::units::us.
Referenced by Bottom(), Charm(), DownSea(), DownValence(), Gluon(), Strange(), Top(), UpSea(), and UpValence().
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;
static constexpr double us
virtual PDF_t AllPDFs(double x, double Q2) const =0
double fQ2min
min. Q2 for PDF evaluation
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
double DeltaDU(double x) const
A struct to hold PDF set data.
const PDFModelI * fBasePDFModel
configuration parameters
void BYPDF::Configure |
( |
string |
config | ) |
|
|
virtual |
Configure the algorithm from the AlgoConfigPool based on param_set string given in input An algorithm contains a vector of registries coming from different xml configuration files, which are loaded according a very precise prioriy This methods will load a number registries in order of priority: 1) "Tunable" parameter set from CommonParametes. This is loaded with the highest prioriry and it is designed to be used for tuning procedure Usage not expected from the user. 2) For every string defined in "CommonParame" the corresponding parameter set will be loaded from CommonParameter.xml 3) parameter set specified by the config string and defined in the xml file of the algorithm 4) if config is not "Default" also the Default parameter set from the same xml file will be loaded Effectively this avoids the repetion of a parameter when it is not changed in the requested configuration
Reimplemented from genie::Algorithm.
Definition at line 159 of file BYPDF.cxx.
References genie::Algorithm::Configure(), and LoadConfig().
virtual void Configure(const Registry &config)