PARTONS
|
PARtonic Tomography Of Nucleon Software
|
This module calculates helicity amplitudes and partial cross sections of exclusive pi0 and pi+ leptoproduction formulated in Goloskokov-Kroll model. More...
Public Member Functions | |
DVMPCFFGK06 (const std::string &className) | |
Constructor. More... | |
virtual DVMPCFFGK06 * | clone () const |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More... | |
virtual | ~DVMPCFFGK06 () |
Default destructor. More... | |
virtual void | configure (const ElemUtils::Parameters ¶meters) |
Provides a generic method to configure all types of modules by passing a Parameters object. 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 | 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... | |
RunningAlphaStrongModule * | getRunningAlphaStrongModule () const |
Get alphaS module. More... | |
void | setRunningAlphaStrongModule (RunningAlphaStrongModule *pRunningAlphaStrongModule) |
Set alphaS module. More... | |
size_t | getMcCalls () const |
Get MC number of calls. More... | |
void | setMcCalls (size_t mcCalls) |
Set MC number of calls. More... | |
double | getMcChi2Limit () const |
Get MC chi2 limit. More... | |
void | setMcChi2Limit (double mcChi2Limit) |
Set MC chi2 limit. More... | |
size_t | getMcnWarmUp () const |
Get MC number of calls (warm-up). More... | |
void | setMcnWarmUp (size_t mcnWarmUp) |
Set MC number of calls (warm-up). More... | |
Public Member Functions inherited from PARTONS::DVMPConvolCoeffFunctionModule | |
virtual | ~DVMPConvolCoeffFunctionModule () |
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 DVMPConvolCoeffFunctionResult | compute (const DVMPConvolCoeffFunctionKinematic &kinematic, const List< GPDType > &gpdType=List< GPDType >()) |
Computes the coefficient functions at given kinematics. More... | |
virtual List< GPDType > | getListOfAvailableGPDTypeForComputation () const |
Must be implemented in child class. More... | |
PerturbativeQCDOrderType::Type | getQCDOrderType () const |
Get order of the perturbative QCD computation. More... | |
void | setQCDOrderType (PerturbativeQCDOrderType::Type qcdOrderType) |
Set order of the perturbative QCD computation. More... | |
virtual std::complex< double > | computeUnpolarized () |
Method to compute some CFFs. More... | |
virtual std::complex< double > | computePolarized () |
Method to compute some CFFs. More... | |
Public Member Functions inherited from PARTONS::ConvolCoeffFunctionModule< DVMPConvolCoeffFunctionKinematic, DVMPConvolCoeffFunctionResult > | |
virtual | ~ConvolCoeffFunctionModule () |
Destructor. More... | |
GPDModule * | getGPDModule () const |
Get pointer to the underlying GPD module. More... | |
void | setGPDModule (GPDModule *gpdModule) |
Set pointer to the underlying GPD module. More... | |
bool | isGPDModuleDependent () const |
True if this CCF module depends on a GPD module. More... | |
void | setIsGPDModuleDependent (bool isGPDModuleDependent) |
True if this CCF module depends on a GPD 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 Member Functions | |
static double | gslWrapper0 (double *xtaub, size_t dim, void *params) |
GSL wrapper to convolutionFunction(). More... | |
static double | gslWrapper1 (double x, void *params) |
GSL wrapper to convolutionTwist3BFunction(). More... | |
Static Public Attributes | |
static const unsigned int | classId |
Unique ID to automatically register the class in the registry. More... | |
static const std::string | PARAMETER_NAME_DVMPCFFGK06_MC_NWARMUP |
static const std::string | PARAMETER_NAME_DVMPCFFGK06_MC_NCALLS = "nCalls" |
static const std::string | PARAMETER_NAME_DVMPCFFGK06_MC_CHI2LIMIT |
Static Public Attributes inherited from PARTONS::DVMPConvolCoeffFunctionModule | |
static const std::string | DVMP_CONVOL_COEFF_FUNCTION_MODULE_CLASS_NAME |
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 | |
DVMPCFFGK06 (const DVMPCFFGK06 &other) | |
Copy constructor. More... | |
virtual void | initModule () |
Pure virtual function that provides skeleton for module initialization. More... | |
virtual void | isModuleWellConfigured () |
Pure virtual function that provides skeleton to check if the module is well initialized and configured. More... | |
virtual std::complex< double > | computeCFF () |
Method to compute some CFFs. More... | |
Protected Member Functions inherited from PARTONS::DVMPConvolCoeffFunctionModule | |
DVMPConvolCoeffFunctionModule (const std::string &className) | |
Default constructor. More... | |
DVMPConvolCoeffFunctionModule (const DVMPConvolCoeffFunctionModule &other) | |
Copy constructor. More... | |
virtual void | setKinematics (const DVMPConvolCoeffFunctionKinematic &kinematic) |
Set internal kinematics. More... | |
Protected Member Functions inherited from PARTONS::ConvolCoeffFunctionModule< DVMPConvolCoeffFunctionKinematic, DVMPConvolCoeffFunctionResult > | |
ConvolCoeffFunctionModule (const std::string &className, ChannelType::Type channelType) | |
Constructor. More... | |
ConvolCoeffFunctionModule (const ConvolCoeffFunctionModule &other) | |
Copy constructor. 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 | |
std::complex< double > | HankelFunctionFirstKind (double z) const |
Hankel function of the first kind. More... | |
double | computeMuR (double tau, double b) const |
Renormalization scale. More... | |
double | expSudakovFactor (double tau, double b) const |
Sudakov factor. More... | |
double | sudakovFactorFunctionS (double tau, double b) const |
Sudakov factor function s. More... | |
double | mesonWF (double tau, double b, size_t twist) const |
Meson wave function (Gaussian parameterization). More... | |
std::pair< double, double > | mesonWFParameters (size_t twist) const |
Return decay constant and transverse size. More... | |
std::complex< double > | subProcess (double x, double tau, double b, size_t twist) const |
Unintegrated subprocess amplitude. More... | |
double | getMesonGPDCombination (const PartonDistribution &partonDistribution) const |
Get combination of GPDs as probed by the meson under consideration. More... | |
std::complex< double > | convolutionTwist2 (GPDType::Type gpdType) const |
Evaluate convolution (twist-2). More... | |
std::complex< double > | convolutionTwist3A (GPDType::Type gpdType) const |
Evaluate convolution (twist-3, part A). More... | |
std::complex< double > | convolutionTwist3B (GPDType::Type gpdType) const |
Evaluate convolution (twist-3, part B). More... | |
std::complex< double > | convolutionTwist3C (GPDType::Type gpdType) const |
Evaluate convolution (twist-3, part C). More... | |
std::complex< double > | convolution (GPDType::Type gpdType, size_t twist) const |
Evaluate convolution using 3D MC integration (any twist). More... | |
double | convolutionFunction (double *xtaub, size_t dim, void *params) const |
Function to be used in the evaluation of VEGAS Monte Carlo integration. More... | |
double | convolutionTwist3BFunction (double x, void *params) const |
Function to be used in the evaluation of 1D integration. More... | |
Private Attributes | |
const double | m_cNf |
Number of active flavors. More... | |
const double | m_cLambdaQCD |
Lambda QCD. More... | |
const double | m_EulerGamma |
Euler-Mascheroni Constant. More... | |
const double | m_Nc |
Number of colors. More... | |
const double | m_Cf |
Color factor. More... | |
const double | m_muPi |
double | m_tmin |
More... | |
size_t | m_MCNWarmUp |
MC integration - number of calls in warm-up. More... | |
size_t | m_MCCalls |
MC integration - number of calls. More... | |
double | m_MCChi2Limit |
MC integration - chi2 limit. More... | |
PartonDistribution | m_gpdResultXiXi |
GPD result at x=xi. More... | |
PartonDistribution | m_gpdResultmXiXi |
GPD result at x=-xi. More... | |
RunningAlphaStrongModule * | m_pRunningAlphaStrongModule |
AlphaS module. More... | |
Friends | |
double | gslWrapper0 (double *xtaub, size_t dim, void *params) |
double | gslWrapper1 (double x, void *params) |
Additional Inherited Members | |
Protected Attributes inherited from PARTONS::ConvolCoeffFunctionModule< DVMPConvolCoeffFunctionKinematic, DVMPConvolCoeffFunctionResult > | |
double | m_xi |
Skewness. More... | |
double | m_t |
Mandelstam variable, momentum transfer on the hadron target (in GeV^2). More... | |
double | m_MuF2 |
Factorization scale (in GeV^2). More... | |
double | m_MuR2 |
Renormalization scale (in GeV^2) More... | |
GPDType::Type | m_currentGPDComputeType |
GPDType of the current CFF computation. More... | |
GPDModule * | m_pGPDModule |
Pointer to the underlying GPD module. More... | |
bool | m_isGPDModuleDependent |
Boolean (true if this CCF module depends on a GPD module). More... | |
Protected Attributes inherited from PARTONS::ModuleObject | |
ModuleObjectFactory * | m_pModuleObjectFactory |
Pointer tp module object factory. More... | |
This module calculates helicity amplitudes and partial cross sections of exclusive pi0 and pi+ leptoproduction formulated in Goloskokov-Kroll model.
PARTONS::DVMPCFFGK06::DVMPCFFGK06 | ( | const std::string & | className | ) |
Constructor.
See BaseObject::BaseObject and ModuleObject::ModuleObject for more details.
className | Name of last child class. |
|
virtual |
Default destructor.
|
protected |
Copy constructor.
other |
|
virtual |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry.
Implements PARTONS::DVMPConvolCoeffFunctionModule.
|
protectedvirtual |
Method to compute some CFFs.
Can be implemented and used in child class, if needed.
Reimplemented from PARTONS::DVMPConvolCoeffFunctionModule.
|
private |
Renormalization scale.
Taken to be the largest mass scale in the hard process amplitude.
tau | Meson's momentum fraction. |
b | Impact-space parameter. |
|
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::DVMPConvolCoeffFunctionModule.
|
private |
Evaluate convolution using 3D MC integration (any twist).
gpdType | GPD type. |
twist | Twist. |
|
private |
Function to be used in the evaluation of VEGAS Monte Carlo integration.
*xtaub | takes an array of variables x, tau and b. |
dim | is the dimension of VEGAS Monte Carlo integration, set to be 3. |
params | is the parameters to be given in the VEGAS Monte Carlo integration. |
|
private |
Evaluate convolution (twist-2).
gpdType | GPD type. |
|
private |
Evaluate convolution (twist-3, part A).
gpdType | GPD type. |
|
private |
Evaluate convolution (twist-3, part B).
gpdType | GPD type. |
|
private |
Function to be used in the evaluation of 1D integration.
x | Variable x. |
params | Parameters to be given in the integration. |
|
private |
Evaluate convolution (twist-3, part C).
gpdType | GPD type. |
|
private |
Sudakov factor.
tau | Meson's momentum fraction. |
b | Impact-space parameter. |
size_t PARTONS::DVMPCFFGK06::getMcCalls | ( | ) | const |
Get MC number of calls.
double PARTONS::DVMPCFFGK06::getMcChi2Limit | ( | ) | const |
Get MC chi2 limit.
size_t PARTONS::DVMPCFFGK06::getMcnWarmUp | ( | ) | const |
Get MC number of calls (warm-up).
|
private |
Get combination of GPDs as probed by the meson under consideration.
partonDistribution | PartonDistribution object. |
RunningAlphaStrongModule * PARTONS::DVMPCFFGK06::getRunningAlphaStrongModule | ( | ) | const |
Get alphaS module.
|
static |
GSL wrapper to convolutionFunction().
|
static |
GSL wrapper to convolutionTwist3BFunction().
|
private |
Hankel function of the first kind.
z | input of the function. |
|
protectedvirtual |
Pure virtual function that provides skeleton for module initialization.
Children must define and override it.
Reimplemented from PARTONS::DVMPConvolCoeffFunctionModule.
|
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::DVMPConvolCoeffFunctionModule.
|
private |
Meson wave function (Gaussian parameterization).
tau | Meson's momentum fraction. |
b | Impact-space parameter. |
twist | Twist. |
|
private |
Return decay constant and transverse size.
twist | Twist. |
|
virtual |
Method used in automation to prepare all the modules used by this current module and configure them recursively.
The recursion is linked to the imbrication in XML files.
Can be implemented in the child class if it needs modules not needed by the parent class. But there must be first a call to the parent method.
subModulesData | Data used to retrieve the needed modules and their configuration. |
Reimplemented from PARTONS::DVMPConvolCoeffFunctionModule.
|
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::DVMPConvolCoeffFunctionModule.
void PARTONS::DVMPCFFGK06::setMcCalls | ( | size_t | mcCalls | ) |
Set MC number of calls.
void PARTONS::DVMPCFFGK06::setMcChi2Limit | ( | double | mcChi2Limit | ) |
Set MC chi2 limit.
void PARTONS::DVMPCFFGK06::setMcnWarmUp | ( | size_t | mcnWarmUp | ) |
Set MC number of calls (warm-up).
void PARTONS::DVMPCFFGK06::setRunningAlphaStrongModule | ( | RunningAlphaStrongModule * | pRunningAlphaStrongModule | ) |
Set alphaS module.
|
private |
Unintegrated subprocess amplitude.
x | Nucleon's momentum fraction. |
tau | Meson's momentum fraction. |
b | Impact-space parameter. |
twist | Twist. |
|
private |
Sudakov factor function s.
tau | Meson's momentum fraction. |
b | Impact-space parameter. |
|
friend |
|
friend |
|
static |
Unique ID to automatically register the class in the registry.
|
private |
Color factor.
|
private |
Lambda QCD.
|
private |
Number of active flavors.
|
private |
Euler-Mascheroni Constant.
|
private |
GPD result at x=-xi.
|
private |
GPD result at x=xi.
|
private |
MC integration - number of calls.
|
private |
MC integration - chi2 limit.
|
private |
MC integration - number of calls in warm-up.
|
private |
|
private |
Number of colors.
|
private |
AlphaS module.
|
private |
Parameter proportional to chiral condensate, see for instance Eq. (21) in arxiv:0906.0460
Minimum t value
|
static |
|
static |
|
static |