PARTONS
|
PARtonic Tomography Of Nucleon Software
|
The proposition of the scalar di-quark model (SDQM) in the context of GPDs back to the Jakob-Mulders-Rodrigues paper hep-ph/9704335 [14]. More...
Public Member Functions | |
GPDHM18 (const std::string &className) | |
Default constructor. More... | |
virtual | ~GPDHM18 () |
Destructor. More... | |
virtual GPDHM18 * | clone () const |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More... | |
virtual void | resolveObjectDependencies () |
Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others. More... | |
virtual void | configure (const ElemUtils::Parameters ¶meters) |
Provides a generic method to configure all types of modules by passing a Parameters object. More... | |
Public Member Functions inherited from PARTONS::GPDModule | |
virtual | ~GPDModule () |
Destructor. More... | |
virtual std::string | toString () const |
Return a pre-formatted characters string for output visualization of class member's values. More... | |
virtual void | run () |
virtual void | prepareSubModules (const std::map< std::string, BaseObjectData > &subModulesData) |
Method used in automation to prepare all the modules used by this current module and configure them recursively. More... | |
virtual PartonDistribution | compute (const GPDKinematic &kinematic, GPDType::Type gpdType) |
Virtual method, computes GPD with some input parameters. More... | |
virtual GPDResult | compute (const GPDKinematic &kinematic, const List< GPDType > &gpdType=List< GPDType >()) |
Virtual method, computes GPD with some input parameters. More... | |
List< GPDType > | getListOfAvailableGPDTypeForComputation () const |
Get list of available GPDTypes in the model considered. More... | |
virtual PartonDistribution | computeHTrans () |
This method can be implemented in the child class if the GPD HTrans is available to compute. More... | |
virtual PartonDistribution | computeETrans () |
This method can be implemented in the child class if the GPD ETrans is available to compute. More... | |
virtual PartonDistribution | computeHtTrans () |
This method can be implemented in the child class if the GPD HtTrans is available to compute. More... | |
virtual PartonDistribution | computeEtTrans () |
This method can be implemented in the child class if the GPD EtTrans is available to compute. More... | |
virtual PartonDistribution | computeH3p () |
This method can be implemented in the child class if the GPD H3p is available to compute. More... | |
virtual PartonDistribution | computeE3p () |
This method can be implemented in the child class if the GPD E3p is available to compute. More... | |
virtual PartonDistribution | computeHt3p () |
This method can be implemented in the child class if the GPD Ht3p is available to compute. More... | |
virtual PartonDistribution | computeEt3p () |
This method can be implemented in the child class if the GPD Et3p is available to compute. More... | |
virtual PartonDistribution | computeH3m () |
This method can be implemented in the child class if the GPD H3m is available to compute. More... | |
virtual PartonDistribution | computeE3m () |
This method can be implemented in the child class if the GPD E3m is available to compute. More... | |
virtual PartonDistribution | computeHt3m () |
This method can be implemented in the child class if the GPD Ht3m is available to compute. More... | |
virtual PartonDistribution | computeEt3m () |
This method can be implemented in the child class if the GPD Et3m is available to compute. More... | |
virtual PartonDistribution | computeEbarTrans () |
This method can be implemented in the child class if the GPD EbarTrans is available to compute. More... | |
double | getMuF2Ref () const |
Get reference factorization scale used by the GPD model before evolution. More... | |
const GPDEvolutionModule * | getEvolQcdModule () const |
Set underlying GPD Evolution module. More... | |
void | setEvolQcdModule (GPDEvolutionModule *pEvolQcdModule) |
Get underlying GPD Evolution module. More... | |
const CollinearDistributionModule * | getPDFModule () const |
Set underlying PDF module. More... | |
void | setPDFModule (CollinearDistributionModule *pPDFModule) |
Get underlying PDF module. More... | |
Public Member Functions inherited from PARTONS::ModuleObject | |
ModuleObject (const std::string &className, ChannelType::Type channelType) | |
Constructor. More... | |
virtual | ~ModuleObject () |
Default destructor. More... | |
unsigned int | getReferenceModuleId () const |
Get reference module id. More... | |
void | setReferenceModuleId (unsigned int referenceModuleId) |
Set reference module id. More... | |
ChannelType::Type | getChannelType () const |
Get channel type. More... | |
Public Member Functions inherited from PARTONS::BaseObject | |
BaseObject (const std::string &className) | |
Constructor. More... | |
virtual | ~BaseObject () |
Default destructor. More... | |
void | serialize (ElemUtils::Packet &packet) const |
Used to split a complex C++ object into a concatenation of simple types. More... | |
void | unserialize (ElemUtils::Packet &packet) |
Used to rebuild a complex C++ object from a concatenation of simple type. More... | |
bool | operator< (const BaseObject &other) const |
Overload of < operator to sort BaseObject object by its indexId value. More... | |
const std::string & | getClassName () const |
unsigned int | getObjectId () const |
int | getIndexId () const |
void | setIndexId (int indexId) |
Public Member Functions inherited from PARTONS::MathIntegratorModule | |
MathIntegratorModule () | |
Default constructor. More... | |
virtual | ~MathIntegratorModule () |
Default destructor. More... | |
Static Public Attributes | |
static const std::string | PARAMETER_NAME_HM18MODEL_M = "HM18MODEL_M" |
Name of parameter to set m_M via configure() More... | |
static const std::string | PARAMETER_NAME_HM18MODEL_m = "HM18MODEL_m" |
Name of parameter to set m_m via configure() More... | |
static const std::string | PARAMETER_NAME_HM18MODEL_lambda = "HM18MODEL_lambda" |
Name of parameter to set m_lambda via configure() More... | |
static const std::string | PARAMETER_NAME_HM18MODEL_p = "HM18MODEL_p" |
Name of parameter to set m_p via configure() More... | |
static const unsigned int | classId |
ID assigned by BaseObjectRegistry. More... | |
Static Public Attributes inherited from PARTONS::GPDModule | |
static const std::string | GPD_MODULE_CLASS_NAME = "GPDModule" |
Type of the module in XML automation. More... | |
Static Public Attributes inherited from PARTONS::ModuleObject | |
static const std::string | CLASS_NAME = "className" |
Static Public Attributes inherited from PARTONS::MathIntegratorModule | |
static const std::string | PARAM_NAME_INTEGRATOR_TYPE |
Parameter used in configureIntegrator() or XML automation to set the type of integrator. More... | |
Protected Member Functions | |
GPDHM18 (const GPDHM18 &other) | |
Copy constructor. More... | |
virtual void | isModuleWellConfigured () |
Pure virtual function that provides skeleton to check if the module is well initialized and configured. More... | |
virtual void | initModule () |
Pure virtual function that provides skeleton for module initialization. More... | |
virtual PartonDistribution | computeH () |
This method can be implemented in the child class if the GPD H is available to compute. More... | |
virtual PartonDistribution | computeHt () |
This method can be implemented in the child class if the GPD Ht is available to compute. More... | |
virtual PartonDistribution | computeE () |
This method can be implemented in the child class if the GPD E is available to compute. More... | |
virtual PartonDistribution | computeEt () |
This method can be implemented in the child class if the GPD Et is available to compute. More... | |
Protected Member Functions inherited from PARTONS::GPDModule | |
GPDModule (const std::string &className) | |
Default constructor. More... | |
GPDModule (const GPDModule &other) | |
Copy constructor. More... | |
virtual void | setKinematics (const GPDKinematic &kinematic) |
Set internal kinematics. More... | |
void | setCurrentGPDType (GPDType::Type gpdType) |
Set current GPD type to be computed. More... | |
Protected Member Functions inherited from PARTONS::ModuleObject | |
ModuleObject (const ModuleObject &other) | |
Protected Member Functions inherited from PARTONS::BaseObject | |
BaseObject (const BaseObject &other) | |
Copy constructor. More... | |
void | info (const std::string &functionName, const std::string &message) const |
Print info message into logger. More... | |
void | debug (const std::string &functionName, const std::string &message) const |
Print debug message into logger. More... | |
void | warn (const std::string &functionName, const std::string &message) const |
Print warning message into logger. More... | |
void | errorMissingParameter (const std::string ¶meterName) const |
Use in automation process to throw exception when a parameter is missing from the XML scenario file. More... | |
Protected Member Functions inherited from PARTONS::MathIntegratorModule | |
MathIntegratorModule (const MathIntegratorModule &other) | |
Copy constructor. More... | |
void | setIntegrator (NumA::IntegratorType1D::Type integratorType) |
Sets a given integrator available in NumA++. More... | |
double | integrate (NumA::FunctionType1D *pFunction, double a, double b, std::vector< double > ¶meters) |
Computes the integral of a function defined via a functor. More... | |
void | configureIntegrator (const ElemUtils::Parameters ¶meters) |
Provides a generic method to configure all types of integration routines by passing a Parameters object. More... | |
NumA::Integrator1D * | getMathIntegrator () |
Private Member Functions | |
void | Normalize () |
Function setting the normalization of the GPDs. More... | |
double | IntNorm (double y, std::vector< double > par) |
Integral given in Eq. More... | |
double | DD_E (double y, double z, double t) |
Double distribution function for GPD E. More... | |
double | IntE (double y, std::vector< double > par) |
Integrand of GPD E for xi <> 0. More... | |
double | IntE0 (double z, std::vector< double > par) |
Integrand of GPD E for xi == 0. More... | |
double | DD_H (double y, double z, double t) |
Double distribution function for GPD H. More... | |
double | IntH (double y, std::vector< double > par) |
Integrand of GPD H for xi <> 0. More... | |
double | IntH0 (double z, std::vector< double > par) |
Integrand of GPD H for xi == 0. More... | |
double | DD_Ht (double y, double z, double t) |
Double distribution function for GPD Ht. More... | |
double | IntHt (double y, std::vector< double > par) |
Integrand of GPD Ht for xi <> 0. More... | |
double | IntHt0 (double z, std::vector< double > par) |
Integrad of GPD Ht for xi == 0. More... | |
double | DD_Et (double y, double z, double t) |
Double distribution function for GPD Et. More... | |
double | IntEt (double y, std::vector< double > par) |
Integrand of GPD Et for xi <> 0. More... | |
double | evaluate (double x, NumA::FunctionType1D *p_fun0, NumA::FunctionType1D *p_fun) |
Evaluates GPDs using double distribution function by integrating p_fun0 or p_fun function depending on kinematics. More... | |
PartonDistribution | compute (NumA::FunctionType1D *p_fun0, NumA::FunctionType1D *p_fun) |
Computes GPDs using GPDHM18::evaluate function and creates appropriate parton distributions. More... | |
void | initializeFunctorsForIntegrations () |
Initialize functors. More... | |
void | deleteFunctorsForIntegrations () |
Delete functors. More... | |
Private Attributes | |
double | m_M |
Mass of the proton;. More... | |
double | m_m |
Mass of the active quark. More... | |
double | m_lambda |
Mass of the spectator. More... | |
double | m_p |
Parameter controlling the power. More... | |
double | m_N |
Normalization of the GPDs. More... | |
NumA::FunctionType1D * | m_pint_IntNorm |
Functor related to IntNorm. More... | |
NumA::FunctionType1D * | m_pint_IntE |
Functor related to IntE. More... | |
NumA::FunctionType1D * | m_pint_IntE0 |
Functor related to IntE0. More... | |
NumA::FunctionType1D * | m_pint_IntH |
Functor related to IntH. More... | |
NumA::FunctionType1D * | m_pint_IntH0 |
Functor related to IntH0. More... | |
NumA::FunctionType1D * | m_pint_IntHt |
Functor related to IntHt. More... | |
NumA::FunctionType1D * | m_pint_IntHt0 |
Functor related to IntHt0. More... | |
NumA::FunctionType1D * | m_pint_IntEt |
Functor related to IntE for xi <> 0. More... | |
Additional Inherited Members | |
Protected Attributes inherited from PARTONS::GPDModule | |
std::map< GPDType::Type, PartonDistribution(GPDModule::*)()> | m_listGPDComputeTypeAvailable |
List of GPD types that can be computed by the child class. More... | |
std::map< GPDType::Type, PartonDistribution(GPDModule::*)()>::iterator | m_it |
Iterator. More... | |
double | m_x |
Longitudinal momentum fraction of the active parton. More... | |
double | m_xi |
Skewness. More... | |
double | m_t |
Mandelstam variable, momentum transfer on the hadron target. More... | |
double | m_MuF2 |
Factorization scale squared. More... | |
double | m_MuR2 |
Renormalization scale squared. More... | |
GPDType::Type | m_currentGPDComputeType |
Current GPD type. More... | |
double | m_MuF2_ref |
Reference factorization scale used by the GPD model before evolution. More... | |
GPDEvolutionModule * | m_pGPDEvolutionModule |
Pointer to the underlying GPD Evolution module. More... | |
CollinearDistributionModule * | m_pCollinearDistributionModule |
Pointer to the underlying PDF module. More... | |
Protected Attributes inherited from PARTONS::ModuleObject | |
ModuleObjectFactory * | m_pModuleObjectFactory |
Pointer tp module object factory. More... | |
The proposition of the scalar di-quark model (SDQM) in the context of GPDs back to the Jakob-Mulders-Rodrigues paper hep-ph/9704335 [14].
Later, the model has been studied by Dae Sung Hwang and Dieter Mueller. The short description of the GPDs derived from this model is given in arXiv:0710.1567 [13]. In the Ref. arXiv:1407.16655 [19] full description is given.
Available GPD types: H, Ht, E, Et.
PARTONS::GPDHM18::GPDHM18 | ( | const std::string & | className | ) |
Default constructor.
className | Name of class. |
Value of m_N is calculated in GPDHM18::configure using Normalize() function. In this place Normalization() function cann't be run, since it is using integration mechanism, which will be initiated not sooner that in GPDHM18::configure. In order to not to leave the value of m_N not initialize the value returned by Normalization() with initial values of model parameters has been used.
|
virtual |
Destructor.
|
protected |
Copy constructor.
other | Object to be copied. |
|
virtual |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry.
Implements PARTONS::GPDModule.
|
private |
Computes GPDs using GPDHM18::evaluate function and creates appropriate parton distributions.
p_fun0 | integrate this function if xi == 0 |
p_fun | integrate this function if xi <> 0 |
|
protectedvirtual |
This method can be implemented in the child class if the GPD E is available to compute.
Reimplemented from PARTONS::GPDModule.
|
protectedvirtual |
This method can be implemented in the child class if the GPD Et is available to compute.
Reimplemented from PARTONS::GPDModule.
|
protectedvirtual |
This method can be implemented in the child class if the GPD H is available to compute.
Reimplemented from PARTONS::GPDModule.
|
protectedvirtual |
This method can be implemented in the child class if the GPD Ht is available to compute.
Reimplemented from PARTONS::GPDModule.
|
virtual |
Provides a generic method to configure all types of modules by passing a Parameters object.
Parameters class represents a list of couples key/value (see Parameters class documentation for more info).
parameters | ElemUtils::Parameters object. |
Reimplemented from PARTONS::GPDModule.
|
private |
Double distribution function for GPD E.
Definition can be found in Eqs. (18) and (19) in Ref. [13].
y | Double distribution parameter y. |
z | Double distribution parameter z. |
t | Double distribution parameter t. |
|
private |
Double distribution function for GPD Et.
Definition can be found in Eqs. (4.23) and (4.27) in Ref. [19].
y | Double distribution parameter y. |
z | Double distribution parameter z. |
t | Double distribution parameter t. |
|
private |
Double distribution function for GPD H.
Definition can be found in Eqs. (21) and (19) in Ref. [13].
y | Double distribution parameter y. |
z | Double distribution parameter z. |
t | Double distribution parameter t. |
|
private |
Double distribution function for GPD Ht.
Definition can be found in Eqs. (4.23) and (4.26) in Ref. [19].
y | Double distribution parameter y. |
z | Double distribution parameter z. |
t | Double distribution parameter t. |
|
private |
Delete functors.
|
private |
Evaluates GPDs using double distribution function by integrating p_fun0 or p_fun function depending on kinematics.
x | |
p_fun0 | integrate this function if xi == 0 |
p_fun | integrate this function if xi <> 0 |
|
private |
Initialize functors.
|
protectedvirtual |
Pure virtual function that provides skeleton for module initialization.
Children must define and override it.
Reimplemented from PARTONS::GPDModule.
|
private |
Integrand of GPD E for xi <> 0.
|
private |
Integrand of GPD E for xi == 0.
|
private |
Integrand of GPD Et for xi <> 0.
|
private |
Integrand of GPD H for xi <> 0.
|
private |
Integrand of GPD H for xi == 0.
|
private |
Integrand of GPD Ht for xi <> 0.
|
private |
Integrad of GPD Ht for xi == 0.
|
private |
Integral given in Eq.
(22) Ref. [13].
y | |
par | optional parameters of integration, not used. |
|
protectedvirtual |
Pure virtual function that provides skeleton to check if the module is well initialized and configured.
Children must define and override it.
Reimplemented from PARTONS::GPDModule.
|
private |
Function setting the normalization of the GPDs.
m_N | according to the Eq. (22) Ref. [13]. * |
|
virtual |
Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others.
To avoid the problem of pointer resolution order, this method is called by the BaseObjectRegistery after all objects are well registered in it. See BaseObjectRegistry class documentation for more details.
Reimplemented from PARTONS::GPDModule.
|
static |
ID assigned by BaseObjectRegistry.
|
private |
Mass of the spectator.
|
private |
Mass of the proton;.
|
private |
Mass of the active quark.
|
private |
Normalization of the GPDs.
|
private |
Parameter controlling the power.
|
private |
Functor related to IntE.
|
private |
Functor related to IntE0.
|
private |
Functor related to IntE for xi <> 0.
|
private |
Functor related to IntH.
|
private |
Functor related to IntH0.
|
private |
Functor related to IntHt.
|
private |
Functor related to IntHt0.
|
private |
Functor related to IntNorm.
|
static |
Name of parameter to set m_lambda via configure()
|
static |
Name of parameter to set m_M via configure()
|
static |
Name of parameter to set m_m via configure()
|
static |
Name of parameter to set m_p via configure()