Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
partons
core
partons-example
Commits
55a8dee3
Commit
55a8dee3
authored
Feb 18, 2020
by
Pawel Sznajder
Browse files
update
parent
9b0848bf
Changes
12
Hide whitespace changes
Inline
Side-by-side
CMakeLists.txt
View file @
55a8dee3
...
...
@@ -19,6 +19,9 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
# FIND LIBRARIES ===========================================================================
# find libraries: gsl
find_package
(
GSL
)
# find libraries: Qt4
find_package
(
Qt4 REQUIRED QtCore QtSql
)
...
...
@@ -42,7 +45,7 @@ find_package(NumA++ REQUIRED)
find_package
(
PARTONS REQUIRED
)
# directories containing headers
include_directories
(
${
QT_INCLUDE_DIRS
}
${
SFML_INCLUDE_DIR
}
${
ELEMENTARY_UTILS_INCLUDE_DIR
}
${
NUMA_INCLUDE_DIR
}
${
PARTONS_INCLUDE_DIR
}
)
include_directories
(
$
(
GSL_INCLUDE_DIRS
)
${
QT_INCLUDE_DIRS
}
${
SFML_INCLUDE_DIR
}
${
ELEMENTARY_UTILS_INCLUDE_DIR
}
${
NUMA_INCLUDE_DIR
}
${
PARTONS_INCLUDE_DIR
}
)
# FINALIZE ==================================================================================
...
...
@@ -71,9 +74,11 @@ target_link_libraries(
PARTONS_example
${
GSL_LIBRARIES
}
${
QT_LIBRARIES
}
${
SFML_LIBRARIES
}
${
SFML_LIBRARIES
}
${
ELEMENTARY_UTILS_LIBRARIES
}
...
...
data/examples/cff/computeManyKinematicsForDVCSComptonFormFactor.xml
View file @
55a8dee3
...
...
@@ -10,7 +10,7 @@ This scenario demonstrates the evaluation of DVCS Compton Form Factors (CFF) for
<!-- First task: evaluate DVCS CFF for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task
service=
"ConvolCoeffFunctionService"
method=
"computeManyKinematic
OneModel
"
storeInDB=
"0"
>
<task
service=
"
DVCS
ConvolCoeffFunctionService"
method=
"computeManyKinematic"
storeInDB=
"0"
>
<!-- Define DVCS CFF kinematics -->
<kinematics
type=
"DVCSConvolCoeffFunctionKinematic"
>
...
...
@@ -23,13 +23,13 @@ This scenario demonstrates the evaluation of DVCS Compton Form Factors (CFF) for
<computation_configuration>
<!-- Select DVCS CFF model -->
<module
type=
"ConvolCoeffFunctionModule"
name=
"DVCSCFFStandard"
>
<module
type=
"
DVCS
ConvolCoeffFunctionModule"
name=
"DVCSCFFStandard"
>
<!-- Indicate pQCD order of calculation -->
<param
name=
"qcd_order_type"
value=
"LO"
/>
<!-- Select GPD model -->
<module
type=
"GPDModule"
name=
"GPD
MMS13
"
>
<module
type=
"GPDModule"
name=
"GPD
GK16
"
>
</module>
</module>
...
...
@@ -39,7 +39,7 @@ This scenario demonstrates the evaluation of DVCS Compton Form Factors (CFF) for
</task>
<!-- Second task: print results of the last computation into standard output -->
<task
service=
"ConvolCoeffFunctionService"
method=
"printResults"
>
<task
service=
"
DVCS
ConvolCoeffFunctionService"
method=
"printResults"
>
</task>
</scenario>
data/examples/cff/computeSingleKinematicsForDVCSComptonFormFactor.xml
View file @
55a8dee3
...
...
@@ -10,7 +10,7 @@ This scenario demonstrates a simple task as the evaluation of DVCS Compton Form
<!-- First task: evaluate DVCS CFF for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task
service=
"ConvolCoeffFunctionService"
method=
"compute
WithGPDModel
"
storeInDB=
"0"
>
<task
service=
"
DVCS
ConvolCoeffFunctionService"
method=
"compute
SingleKinematic
"
storeInDB=
"0"
>
<!-- Define DVCS CFF kinematics -->
<kinematics
type=
"DVCSConvolCoeffFunctionKinematic"
>
...
...
@@ -25,13 +25,13 @@ This scenario demonstrates a simple task as the evaluation of DVCS Compton Form
<computation_configuration>
<!-- Select DVCS CFF model -->
<module
type=
"ConvolCoeffFunctionModule"
name=
"DVCSCFFStandard"
>
<module
type=
"
DVCS
ConvolCoeffFunctionModule"
name=
"DVCSCFFStandard"
>
<!-- Indicate pQCD order of calculation -->
<param
name=
"qcd_order_type"
value=
"LO"
/>
<!-- Select GPD model -->
<module
type=
"GPDModule"
name=
"GPD
MMS13
"
>
<module
type=
"GPDModule"
name=
"GPD
GK16
"
>
</module>
</module>
...
...
@@ -41,7 +41,7 @@ This scenario demonstrates a simple task as the evaluation of DVCS Compton Form
</task>
<!-- Second task: print results of the last computation into standard output -->
<task
service=
"ConvolCoeffFunctionService"
method=
"printResults"
>
<task
service=
"
DVCS
ConvolCoeffFunctionService"
method=
"printResults"
>
</task>
</scenario>
data/examples/gpd/computeManyKinematicsForGPD.xml
View file @
55a8dee3
...
...
@@ -10,7 +10,7 @@ This scenario demonstrates the evaluation of GPD model for kinematics defined in
<!-- First task: evaluate GPD model for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task
service=
"GPDService"
method=
"computeManyKinematic
OneModel
"
storeInDB=
"0"
>
<task
service=
"GPDService"
method=
"computeManyKinematic"
storeInDB=
"0"
>
<!-- Define GPD kinematics -->
<kinematics
type=
"GPDKinematic"
>
...
...
@@ -23,7 +23,7 @@ This scenario demonstrates the evaluation of GPD model for kinematics defined in
<computation_configuration>
<!-- Select GPD model -->
<module
type=
"GPDModule"
name=
"GPD
MMS13
"
>
<module
type=
"GPDModule"
name=
"GPD
GK16
"
>
</module>
</computation_configuration>
...
...
data/examples/gpd/computeSingleKinematicsForGPD.xml
View file @
55a8dee3
...
...
@@ -10,7 +10,7 @@ This scenario demonstrates a simple task as the evaluation of GPD model in a sin
<!-- First task: evaluate GPD model for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task
service=
"GPDService"
method=
"compute
GPDModel
"
storeInDB=
"0"
>
<task
service=
"GPDService"
method=
"compute
SingleKinematic
"
storeInDB=
"0"
>
<!-- Define GPD kinematics -->
<kinematics
type=
"GPDKinematic"
>
...
...
@@ -25,7 +25,7 @@ This scenario demonstrates a simple task as the evaluation of GPD model in a sin
<computation_configuration>
<!-- Select GPD model -->
<module
type=
"GPDModule"
name=
"GPD
MMS13
"
>
<module
type=
"GPDModule"
name=
"GPD
GK16
"
>
</module>
</computation_configuration>
...
...
data/examples/observable/computeManyKinematicsForDVCSObservable.xml
View file @
55a8dee3
...
...
@@ -10,10 +10,10 @@ This scenario demonstrates the evaluation of DVCS observable for kinematics defi
<!-- First task: evaluate DVCS observable for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task
service=
"ObservableService"
method=
"computeManyKinematic
OneModel
"
storeInDB=
"0"
>
<task
service=
"
DVCS
ObservableService"
method=
"computeManyKinematic"
storeInDB=
"0"
>
<!-- Define DVCS observable kinematics -->
<kinematics
type=
"ObservableKinematic"
>
<kinematics
type=
"
DVCS
ObservableKinematic"
>
<!-- Path to file defining kinematics -->
<param
name=
"file"
value=
"/home/partons/git/partons-example/data/examples/observable/kinematics_dvcs_observable.csv"
/>
...
...
@@ -23,14 +23,14 @@ This scenario demonstrates the evaluation of DVCS observable for kinematics defi
<computation_configuration>
<!-- Select DVCS observable -->
<module
type=
"Observable"
name=
"DVCSAllMinus"
>
<module
type=
"
DVCS
Observable
Module
"
name=
"DVCSAllMinus"
>
<!-- Select DVCS process model -->
<module
type=
"ProcessModule"
name=
"DVCSProcessGV08"
>
<module
type=
"
DVCS
ProcessModule"
name=
"DVCSProcessGV08"
>
<!-- Select scales module -->
<!-- (it is used to evaluate factorization and renormalization scales out of kinematics) -->
<module
type=
"ScalesModule"
name=
"ScalesQ2Multiplier"
>
<module
type=
"
DVCS
ScalesModule"
name=
"
DVCS
ScalesQ2Multiplier"
>
<!-- Configure this module -->
<param
name=
"lambda"
value=
"1."
/>
...
...
@@ -38,17 +38,17 @@ This scenario demonstrates the evaluation of DVCS observable for kinematics defi
<!-- Select xi-converter module -->
<!-- (it is used to evaluate GPD variable xi out of kinematics) -->
<module
type=
"XiConverterModule"
name=
"XiConverterXBToXi"
>
<module
type=
"
DVCS
XiConverterModule"
name=
"
DVCS
XiConverterXBToXi"
>
</module>
<!-- Select DVCS CFF model -->
<module
type=
"ConvolCoeffFunctionModule"
name=
"DVCSCFFStandard"
>
<module
type=
"
DVCS
ConvolCoeffFunctionModule"
name=
"DVCSCFFStandard"
>
<!-- Indicate pQCD order of calculation -->
<param
name=
"qcd_order_type"
value=
"
N
LO"
/>
<param
name=
"qcd_order_type"
value=
"LO"
/>
<!-- Select GPD model -->
<module
type=
"GPDModule"
name=
"GPD
MMS13
"
>
<module
type=
"GPDModule"
name=
"GPD
GK16
"
>
</module>
</module>
...
...
@@ -62,7 +62,7 @@ This scenario demonstrates the evaluation of DVCS observable for kinematics defi
</task>
<!-- Second task: print results of the last computation into standard output -->
<task
service=
"ObservableService"
method=
"printResults"
>
<task
service=
"
DVCS
ObservableService"
method=
"printResults"
>
</task>
</scenario>
data/examples/observable/computeSingleKinematicsForDVCSObservable.xml
View file @
55a8dee3
...
...
@@ -10,28 +10,29 @@ This scenario demonstrates a simple task as the evaluation of DVCS observable in
<!-- First task: evaluate DVCS observable for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task
service=
"ObservableService"
method=
"compute
Observable
"
storeInDB=
"0"
>
<task
service=
"
DVCS
ObservableService"
method=
"compute
SingleKinematic
"
storeInDB=
"0"
>
<!-- Define DVCS observable kinematics -->
<kinematics
type=
"ObservableKinematic"
>
<kinematics
type=
"
DVCS
ObservableKinematic"
>
<param
name=
"xB"
value=
"0.2"
/>
<param
name=
"t"
value=
"-0.1"
/>
<param
name=
"Q2"
value=
"2."
/>
<param
name=
"E"
value=
"6."
/>
<param
name=
"phi"
value=
"0."
/>
</kinematics>
<!-- Define physics assumptions -->
<computation_configuration>
<!-- Select DVCS observable -->
<module
type=
"Observable"
name=
"DVCSAllMinus"
>
<module
type=
"
DVCS
Observable
Module
"
name=
"DVCSAllMinus"
>
<!-- Select DVCS process model -->
<module
type=
"ProcessModule"
name=
"DVCSProcessGV08"
>
<module
type=
"
DVCS
ProcessModule"
name=
"DVCSProcessGV08"
>
<!-- Select scales module -->
<!-- (it is used to evaluate factorization and renormalization scales out of kinematics) -->
<module
type=
"ScalesModule"
name=
"ScalesQ2Multiplier"
>
<module
type=
"
DVCS
ScalesModule"
name=
"
DVCS
ScalesQ2Multiplier"
>
<!-- Configure this module -->
<param
name=
"lambda"
value=
"1."
/>
...
...
@@ -39,17 +40,17 @@ This scenario demonstrates a simple task as the evaluation of DVCS observable in
<!-- Select xi-converter module -->
<!-- (it is used to evaluate GPD variable xi out of kinematics) -->
<module
type=
"XiConverterModule"
name=
"XiConverterXBToXi"
>
<module
type=
"
DVCS
XiConverterModule"
name=
"
DVCS
XiConverterXBToXi"
>
</module>
<!-- Select DVCS CFF model -->
<module
type=
"ConvolCoeffFunctionModule"
name=
"DVCSCFFStandard"
>
<module
type=
"
DVCS
ConvolCoeffFunctionModule"
name=
"DVCSCFFStandard"
>
<!-- Indicate pQCD order of calculation -->
<param
name=
"qcd_order_type"
value=
"
N
LO"
/>
<param
name=
"qcd_order_type"
value=
"LO"
/>
<!-- Select GPD model -->
<module
type=
"GPDModule"
name=
"GPD
MMS13
"
>
<module
type=
"GPDModule"
name=
"GPD
GK16
"
>
</module>
</module>
...
...
@@ -63,7 +64,7 @@ This scenario demonstrates a simple task as the evaluation of DVCS observable in
</task>
<!-- Second task: print results of the last computation into standard output -->
<task
service=
"ObservableService"
method=
"printResults"
>
<task
service=
"
DVCS
ObservableService"
method=
"printResults"
>
</task>
</scenario>
data/examples/other/changeIntegrationRoutine.xml
View file @
55a8dee3
...
...
@@ -14,7 +14,7 @@ This scenario is the demonstration for GPD module. Note however that the way of
<!-- First task: evaluate GPD model for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task
service=
"GPDService"
method=
"compute
GPDModel
"
storeInDB=
"0"
>
<task
service=
"GPDService"
method=
"compute
SingleKinematic
"
storeInDB=
"0"
>
<!-- Define GPD kinematics -->
<kinematics
type=
"GPDKinematic"
>
...
...
@@ -29,7 +29,7 @@ This scenario is the demonstration for GPD module. Note however that the way of
<computation_configuration>
<!-- Select GPD model -->
<module
type=
"GPDModule"
name=
"GPD
MMS13
"
>
<module
type=
"GPDModule"
name=
"GPD
GK16Numerical
"
>
<!-- Change integration routine -->
<param
name=
"integrator_type"
value=
"GK21_ADAPTIVE"
/>
...
...
data/examples/other/makeUseOfGPDEvolution.xml
View file @
55a8dee3
...
...
@@ -10,7 +10,7 @@ This scenario demonstrates a simple task as the evaluation of GPD model in a sin
<!-- First task: evaluate GPD model for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task
service=
"GPDService"
method=
"compute
GPDModel
"
storeInDB=
"0"
>
<task
service=
"GPDService"
method=
"compute
SingleKinematic
"
storeInDB=
"0"
>
<!-- Define GPD kinematics -->
<kinematics
type=
"GPDKinematic"
>
...
...
@@ -25,7 +25,7 @@ This scenario demonstrates a simple task as the evaluation of GPD model in a sin
<computation_configuration>
<!-- Select GPD model -->
<module
type=
"GPDModule"
name=
"GPD
MMS13
"
>
<module
type=
"GPDModule"
name=
"GPD
GK16
"
>
<!-- Select GPD evolution model -->
<module
type=
"GPDEvolutionModule"
name=
"GPDEvolutionVinnikov"
>
...
...
data/examples/other/selectSpecificGPDTypes.xml
0 → 100644
View file @
55a8dee3
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--
This scenario demonstrates a simple task as the evaluation of GPD model in a single kinematic point for specific GPD types only.
The result of this function is printed out to the standard output.
These are the values for all defined in the model GPDs, including singlet and non-singlet combinations for quarks.
Note that you can use this example to select specific GPD types in the evaluation of CFFs and observables.
-->
<!-- Scenario starts here -->
<!-- For your convenience and for bookkeeping provide creation date and unique description -->
<scenario
date=
"2017-07-18"
description=
"Select specific GPD types"
>
<!-- First task: evaluate GPD model for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task
service=
"GPDService"
method=
"computeSingleKinematic"
storeInDB=
"0"
>
<!-- Define GPD types -->
<task_param
type=
"GPDType"
>
<param
name=
"value"
value=
"E|Et"
/>
</task_param>
<!-- Define GPD kinematics -->
<kinematics
type=
"GPDKinematic"
>
<param
name=
"x"
value=
"0.1"
/>
<param
name=
"xi"
value=
"0.2"
/>
<param
name=
"t"
value=
"-0.1"
/>
<param
name=
"MuF2"
value=
"2."
/>
<param
name=
"MuR2"
value=
"2."
/>
</kinematics>
<!-- Define physics assumptions -->
<computation_configuration>
<!-- Select GPD model -->
<module
type=
"GPDModule"
name=
"GPDGK16"
>
</module>
</computation_configuration>
</task>
<!-- Second task: print results of the last computation into standard ouput -->
<task
service=
"GPDService"
method=
"printResults"
>
</task>
</scenario>
include/examples.h
View file @
55a8dee3
...
...
@@ -81,4 +81,12 @@ void changeIntegrationRoutine();
*/
void
makeUseOfGPDEvolution
();
/**
* This function demonstrates a simple task as the evaluation of GPD model in a single kinematic point for specific GPD types only.
* The result of this function is printed out to the standard output.
* These are the values for all defined in the model GPDs, including singlet and non-singlet combinations for quarks.
* Note that you can use this example to select specific GPD types in the evaluation of CFFs and observables.
*/
void
selectSpecificGPDTypes
();
#endif
/* INCLUDE_EXAMPLES_H_ */
src/examples.cpp
View file @
55a8dee3
...
...
@@ -5,24 +5,31 @@
#include <ElementaryUtils/parameters/Parameters.h>
#include <NumA/integration/one_dimension/IntegratorType1D.h>
#include <NumA/integration/one_dimension/QuadratureIntegrator1D.h>
#include <partons/beans/convol_coeff_function/ConvolCoeffFunctionResult.h>
#include <partons/beans/convol_coeff_function/DVCS/DVCSConvolCoeffFunctionKinematic.h>
#include <partons/beans/gpd/GPDKinematic.h>
#include <partons/beans/gpd/GPDType.h>
#include <partons/beans/KinematicUtils.h>
#include <partons/beans/List.h>
#include <partons/beans/observable/ObservableKinematic.h>
#include <partons/beans/observable/DVCS/DVCSObservableKinematic.h>
#include <partons/beans/observable/ObservableResult.h>
#include <partons/beans/PerturbativeQCDOrderType.h>
#include <partons/modules/active_flavors_thresholds/ActiveFlavorsThresholdsConstant.h>
#include <partons/modules/convol_coeff_function/ConvolCoeffFunctionModule.h>
#include <partons/modules/convol_coeff_function/DVCS/DVCSCFFStandard.h>
#include <partons/modules/evolution/gpd/GPDEvolutionVinnikov.h>
#include <partons/modules/gpd/GPDMMS13.h>
#include <partons/modules/gpd/GPDGK16.h>
#include <partons/modules/gpd/GPDGK16Numerical.h>
#include <partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.h>
#include <partons/modules/process/DVCS/DVCSProcessGV08.h>
#include <partons/modules/running_alpha_strong/RunningAlphaStrongVinnikov.h>
#include <partons/modules/scales/ScalesQ2Multiplier.h>
#include <partons/modules/xi_converter/XiConverterXBToXi.h>
#include <partons/modules/scales/
DVCS/DVCS
ScalesQ2Multiplier.h>
#include <partons/modules/xi_converter/
DVCS/DVCS
XiConverterXBToXi.h>
#include <partons/ModuleObjectFactory.h>
#include <partons/Partons.h>
#include <partons/services/ConvolCoeffFunctionService.h>
#include <partons/services/DVCSConvolCoeffFunctionService.h>
#include <partons/services/DVCSObservableService.h>
#include <partons/services/GPDService.h>
#include <partons/services/ObservableService.h>
#include <partons/ServiceObjectRegistry.h>
...
...
@@ -36,14 +43,14 @@ void computeSingleKinematicsForGPD() {
// Create GPD module with the BaseModuleFactory
PARTONS
::
GPDModule
*
pGPDModel
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newGPDModule
(
PARTONS
::
GPD
MMS13
::
classId
);
PARTONS
::
GPD
GK16
::
classId
);
// Create a GPDKinematic(x, xi, t, MuF2, MuR2) to compute
PARTONS
::
GPDKinematic
gpdKinematic
(
0.1
,
0.2
,
-
0.1
,
2.
,
2.
);
// Run computation
PARTONS
::
GPDResult
gpdResult
=
pGPDService
->
compute
GPDModel
(
gpd
Kinematic
,
pGPDModel
);
PARTONS
::
GPDResult
gpdResult
=
pGPDService
->
compute
Single
Kinematic
(
gpdKinematic
,
pGPDModel
);
// Print results
PARTONS
::
Partons
::
getInstance
()
->
getLoggerManager
()
->
info
(
"main"
,
__func__
,
...
...
@@ -65,7 +72,7 @@ void computeManyKinematicsForGPD() {
// Create GPD module with the BaseModuleFactory
PARTONS
::
GPDModule
*
pGPDModel
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newGPDModule
(
PARTONS
::
GPD
MMS13
::
classId
);
PARTONS
::
GPD
GK16
::
classId
);
// Load list of kinematics from file
PARTONS
::
List
<
PARTONS
::
GPDKinematic
>
gpdKinematicList
=
...
...
@@ -74,8 +81,7 @@ void computeManyKinematicsForGPD() {
// Run computation
PARTONS
::
List
<
PARTONS
::
GPDResult
>
gpdResultList
=
pGPDService
->
computeManyKinematicOneModel
(
gpdKinematicList
,
pGPDModel
);
pGPDService
->
computeManyKinematic
(
gpdKinematicList
,
pGPDModel
);
// Print results
PARTONS
::
Partons
::
getInstance
()
->
getLoggerManager
()
->
info
(
"main"
,
__func__
,
...
...
@@ -91,13 +97,13 @@ void computeManyKinematicsForGPD() {
void
computeSingleKinematicsForDVCSComptonFormFactor
()
{
// Retrieve service
PARTONS
::
ConvolCoeffFunctionService
*
pDVCSConvolCoeffFunctionService
=
PARTONS
::
Partons
::
getInstance
()
->
getServiceObjectRegistry
()
->
getConvolCoeffFunctionService
();
PARTONS
::
DVCS
ConvolCoeffFunctionService
*
pDVCSConvolCoeffFunctionService
=
PARTONS
::
Partons
::
getInstance
()
->
getServiceObjectRegistry
()
->
get
DVCS
ConvolCoeffFunctionService
();
// Create GPD module with the BaseModuleFactory
PARTONS
::
GPDModule
*
pGPDModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newGPDModule
(
PARTONS
::
GPD
MMS13
::
classId
);
PARTONS
::
GPD
GK16
::
classId
);
// Create CFF module with the BaseModuleFactory
PARTONS
::
DVCSConvolCoeffFunctionModule
*
pDVCSCFFModule
=
...
...
@@ -121,8 +127,8 @@ void computeSingleKinematicsForDVCSComptonFormFactor() {
// Run computation
PARTONS
::
DVCSConvolCoeffFunctionResult
cffResult
=
pDVCSConvolCoeffFunctionService
->
compute
ForOneCCFModel
(
cff
Kinematic
,
pDVCSCFFModule
);
pDVCSConvolCoeffFunctionService
->
compute
Single
Kinematic
(
cffKinematic
,
pDVCSCFFModule
);
// Print results for DVCSCFFModule
PARTONS
::
Partons
::
getInstance
()
->
getLoggerManager
()
->
info
(
"main"
,
__func__
,
...
...
@@ -142,13 +148,13 @@ void computeSingleKinematicsForDVCSComptonFormFactor() {
void
computeManyKinematicsForDVCSComptonFormFactor
()
{
// Retrieve service
PARTONS
::
ConvolCoeffFunctionService
*
pDVCSConvolCoeffFunctionService
=
PARTONS
::
Partons
::
getInstance
()
->
getServiceObjectRegistry
()
->
getConvolCoeffFunctionService
();
PARTONS
::
DVCS
ConvolCoeffFunctionService
*
pDVCSConvolCoeffFunctionService
=
PARTONS
::
Partons
::
getInstance
()
->
getServiceObjectRegistry
()
->
get
DVCS
ConvolCoeffFunctionService
();
// Create GPD module with the BaseModuleFactory
PARTONS
::
GPDModule
*
pGPDModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newGPDModule
(
PARTONS
::
GPD
MMS13
::
classId
);
PARTONS
::
GPD
GK16
::
classId
);
// Create CFF module with the BaseModuleFactory
PARTONS
::
DVCSConvolCoeffFunctionModule
*
pDVCSCFFModule
=
...
...
@@ -168,12 +174,12 @@ void computeManyKinematicsForDVCSComptonFormFactor() {
// Load list of kinematics from file
PARTONS
::
List
<
PARTONS
::
DVCSConvolCoeffFunctionKinematic
>
cffKinematicList
=
PARTONS
::
KinematicUtils
().
getCCFKinematicFromFile
(
PARTONS
::
KinematicUtils
().
get
DVCS
CCFKinematicFromFile
(
"/home/partons/git/partons-example/data/examples/cff/kinematics_dvcs_cff.csv"
);
// Run computation
PARTONS
::
List
<
PARTONS
::
DVCSConvolCoeffFunctionResult
>
cffResultList
=
pDVCSConvolCoeffFunctionService
->
compute
ForOneCCFModelAnd
ManyKinematic
s
(
pDVCSConvolCoeffFunctionService
->
computeManyKinematic
(
cffKinematicList
,
pDVCSCFFModule
);
// Print results for DVCSCFFModule
...
...
@@ -194,13 +200,13 @@ void computeManyKinematicsForDVCSComptonFormFactor() {
void
computeSingleKinematicsForDVCSObservable
()
{
// Retrieve Observable service
PARTONS
::
ObservableService
*
pObservableService
=
PARTONS
::
Partons
::
getInstance
()
->
getServiceObjectRegistry
()
->
getObservableService
();
PARTONS
::
DVCS
ObservableService
*
pObservableService
=
PARTONS
::
Partons
::
getInstance
()
->
getServiceObjectRegistry
()
->
get
DVCS
ObservableService
();
// Create GPDModule
PARTONS
::
GPDModule
*
pGPDModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newGPDModule
(
PARTONS
::
GPD
MMS13
::
classId
);
PARTONS
::
GPD
GK16
::
classId
);
// Create CFF module
PARTONS
::
DVCSConvolCoeffFunctionModule
*
pDVCSCFFModel
=
...
...
@@ -211,22 +217,23 @@ void computeSingleKinematicsForDVCSObservable() {
pDVCSCFFModel
->
configure
(
ElemUtils
::
Parameter
(
PARTONS
::
PerturbativeQCDOrderType
::
PARAMETER_NAME_PERTURBATIVE_QCD_ORDER_TYPE
,
PARTONS
::
PerturbativeQCDOrderType
::
N
LO
));
PARTONS
::
PerturbativeQCDOrderType
::
LO
));
// Create XiConverterModule
PARTONS
::
XiConverterModule
*
pXiConverterModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newXiConverterModule
(
PARTONS
::
XiConverterXBToXi
::
classId
);
PARTONS
::
DVCS
XiConverterModule
*
pXiConverterModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
new
DVCS
XiConverterModule
(
PARTONS
::
DVCS
XiConverterXBToXi
::
classId
);
// Create ScalesModule
PARTONS
::
ScalesModule
*
pScalesModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newScalesModule
(
PARTONS
::
ScalesQ2Multiplier
::
classId
);
PARTONS
::
DVCS
ScalesModule
*
pScalesModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
new
DVCS
ScalesModule
(
PARTONS
::
DVCS
ScalesQ2Multiplier
::
classId
);
// Set its lambda parameter, so MuF2 = MuR2 = lambda * Q2
pScalesModule
->
configure
(
ElemUtils
::
Parameter
(
PARTONS
::
ScalesQ2Multiplier
::
PARAMETER_NAME_LAMBDA
,
1.
));
PARTONS
::
DVCSScalesQ2Multiplier
::
PARAMETER_NAME_LAMBDA
,
1.
));
// Create ProcessModule
PARTONS
::
DVCSProcessModule
*
pProcessModule
=
...
...
@@ -234,8 +241,8 @@ void computeSingleKinematicsForDVCSObservable() {
PARTONS
::
DVCSProcessGV08
::
classId
);
// Create Observable
PARTONS
::
Observable
*
pObservable
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newObservable
(
PARTONS
::
DVCS
Observable
*
pObservable
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
new
DVCS
Observable
(
PARTONS
::
DVCSAllMinus
::
classId
);
// Link modules (set physics assumptions of your computation)
...
...
@@ -246,12 +253,12 @@ void computeSingleKinematicsForDVCSObservable() {
pDVCSCFFModel
->
setGPDModule
(
pGPDModule
);
// Load list of kinematics from file
PARTONS
::
ObservableKinematic
observableKinematic
=
PARTONS
::
ObservableKinematic
(
0.2
,
-
0.1
,
2.
,
6.
);
PARTONS
::
DVCS
ObservableKinematic
observableKinematic
=
PARTONS
::
DVCS
ObservableKinematic
(
0.2
,
-
0.1
,
2.
,
6.
,
0.
);
// Create kinematic
PARTONS
::
ObservableResult
observableResult
=
pObservableService
->
compute
Observable
(
observableKinematic
,
PARTONS
::
DVCS
ObservableResult
observableResult
=
pObservableService
->
compute
SingleKinematic
(
observableKinematic
,
pObservable
);
// Print results
...
...
@@ -288,13 +295,13 @@ void computeSingleKinematicsForDVCSObservable() {
void
computeManyKinematicsForDVCSObservable
()
{
// Retrieve Observable service
PARTONS
::
ObservableService
*
pObservableService
=
PARTONS
::
Partons
::
getInstance
()
->
getServiceObjectRegistry
()
->
getObservableService
();
PARTONS
::
DVCS
ObservableService
*
pObservableService
=
PARTONS
::
Partons
::
getInstance
()
->
getServiceObjectRegistry
()
->
get
DVCS
ObservableService
();
// Create GPDModule
PARTONS
::
GPDModule
*
pGPDModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newGPDModule
(
PARTONS
::
GPD
MMS13
::
classId
);
PARTONS
::
GPD
GK16
::
classId
);
// Create CFF module
PARTONS
::
DVCSConvolCoeffFunctionModule
*
pDVCSCFFModel
=
...
...
@@ -305,22 +312,23 @@ void computeManyKinematicsForDVCSObservable() {
pDVCSCFFModel
->
configure
(
ElemUtils
::
Parameter
(
PARTONS
::
PerturbativeQCDOrderType
::
PARAMETER_NAME_PERTURBATIVE_QCD_ORDER_TYPE
,
PARTONS
::
PerturbativeQCDOrderType
::
N
LO
));
PARTONS
::
PerturbativeQCDOrderType
::
LO
));
// Create XiConverterModule
PARTONS
::
XiConverterModule
*
pXiConverterModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newXiConverterModule
(
PARTONS
::
XiConverterXBToXi
::
classId
);
PARTONS
::
DVCS
XiConverterModule
*
pXiConverterModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
new
DVCS
XiConverterModule
(
PARTONS
::
DVCS
XiConverterXBToXi
::
classId
);
// Create ScalesModule
PARTONS
::
ScalesModule
*
pScalesModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
newScalesModule
(
PARTONS
::
ScalesQ2Multiplier
::
classId
);
PARTONS
::
DVCS
ScalesModule
*
pScalesModule
=
PARTONS
::
Partons
::
getInstance
()
->
getModuleObjectFactory
()
->
new
DVCS
ScalesModule
(
PARTONS
::
DVCS
ScalesQ2Multiplier
::
classId
);
// Set its lambda parameter, so MuF2 = MuR2 = lambda * Q2
pScalesModule
->
configure
(
ElemUtils
::
Parameter
(
PARTONS
::
ScalesQ2Multiplier
::
PARAMETER_NAME_LAMBDA
,
1.
));
PARTONS
::
DVCSScalesQ2Multiplier
::
PARAMETER_NAME_LAMBDA
,
1.
));
// Create ProcessModule
PARTONS
::
DVCSProcessModule
*
pProcessModule
=
...
...
@@ -328,8 +336,8 @@ void computeManyKinematicsForDVCSObservable() {