Commit 6924a633 authored by Pawel Sznajder's avatar Pawel Sznajder
Browse files

update examples

parent 8953c9b5
......@@ -30,8 +30,8 @@ This scenario demonstrates a simple task as the evaluation of DVMP Compton Form
<module type="DVMPConvolCoeffFunctionModule" name="DVMPCFFGK06">
<!-- Parameters of MC integration -->
<param name="nWarmUps" value="10000" />
<param name="nCalls" value="100000" />
<param name="nWarmUps" value="100" />
<param name="nCalls" value="100" />
<param name="chi2Limit" value="0.8" />
<!-- Indicate pQCD order of calculation -->
......
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--
This scenario demonstrates a simple task as the evaluation of a
collinear distribution in a single kinematic point using LHAPDF. The
result of this scenario is printed out to the standard output. These
are the values for all defined distributions.
-->
<!-- Scenario starts here -->
<!-- For your convenience and for bookkeeping provide creation date and unique description -->
<scenario date="2020-07-18" description="Collinear distribution evaluation for single kinematics example using LHAPDF">
<!-- First task: evaluate CollinearDistribution 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="CollinearDistributionService" method="computeSingleKinematic" storeInDB="0">
<!-- Define CollinearDistribution kinematics -->
<kinematics type="CollinearDistributionKinematic">
<param name="x" value="0.1" />
<param name="MuF2" value="100." />
<param name="MuR2" value="100." />
</kinematics>
<!-- Define physics assumptions -->
<computation_configuration>
<!-- Select CollinearDistribution model -->
<module type="CollinearDistributionModule" name="CollinearDistributionLHAPDF">
<!-- Indicate name of the LHAPDF set -->
<param name="setName" value="CT14nnlo" />
</module>
</computation_configuration>
</task>
<!-- Second task: print results of the last computation into standard output -->
<task service="CollinearDistributionService" method="printResults">
</task>
</scenario>
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--
This scenario demonstrates a simple task as the evaluation of
collinear distribution model in a single kinematic point making use of
collinear distribution evolution. The result of this scenario is
printed out to the standard output. These are the values for all
defined in the collinear distribution models, including singlet and
non-singlet combinations for quarks. Note that you can use this way of
configuration to include the collinear distribution evolution in any
calculation of CFFs or observables.
-->
<!-- Scenario starts here -->
<!-- For your convenience and for bookkeeping provide creation date and unique description -->
<scenario date="2020-07-27" description="collinear distribution evaluation for single kinematics example with evolution">
<!-- First task: evaluate collinear distribution 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="CollinearDistributionService" method="computeSingleKinematic" storeInDB="0">
<!-- Define collinear distribution kinematics -->
<kinematics type="CollinearDistributionKinematic">
<param name="x" value="0.1" />
<param name="MuF2" value="100." />
<param name="MuR2" value="100." />
</kinematics>
<!-- Define physics assumptions -->
<computation_configuration>
<!-- Select collinear distribution model -->
<module type="CollinearDistributionModule" name="CollinearDistributionLHAPDF">
<!-- Indicate name of the LHAPDF set -->
<param name="setName" value="CT14nnlo" />
<!-- Declare distrubution type -->
<param name="setType" value="UnpolPDF"/>
<!-- Select collinear distribution evolution model -->
<module type="CollinearDistributionEvolutionModule" name="CollinearDistributionEvolutionApfel">
<param name="qcd_order_type" value="NNLO" />
<param name="collinear_distribution_type" value="UnpolPDF" />
<!-- Select alpha_s model -->
<module type="RunningAlphaStrongModule" name="RunningAlphaStrongApfel">
<param name="qcd_order_type" value="NNLO" />
<param name="alphasRef" value="0.118" />
<param name="muRef" value="91.1876" />
<param name="thresholds" value="0 0 0 1.3 4.75 172" />
</module>
<module type="ActiveFlavorsThresholdsModule" name="ActiveFlavorsThresholdsVariable">
<param name="thresholds" value="0 0 0 1.3 4.75 172" />
</module>
</module>
</module>
</computation_configuration>
</task>
<!-- Second task: print results of the last computation into standard output -->
<task service="CollinearDistributionService" method="printResults">
</task>
</scenario>
<?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 making use of GPD
evolution. The result of this scenario is
printed out to the standard output. These are the values for all
defined in the GPD models, including singlet and
non-singlet combinations for quarks. Note that you can use this way of
configuration to include the GPD evolution in any
calculation of CFFs or observables.
-->
<!-- Scenario starts here -->
<!-- For your convenience and for bookkeeping provide creation date and unique description -->
<scenario date="2020-07-27" description="GPD evaluation for single kinematics example with evolution">
<!-- 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 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="40." />
<param name="MuR2" value="40." />
</kinematics>
<!-- Define physics assumptions -->
<computation_configuration>
<!-- Select GPD model -->
<module type="GPDModule" name="GPDGK16">
<!-- Select GPD evolution model -->
<module type="GPDEvolutionModule" name="GPDEvolutionApfel">
<param name="muF2Ref" value="1.677025" />
<param name="qcd_order_type" value="LO" />
<param name="collinear_distribution_type" value="UnpolPDF" />
<param name="thresholds" value="0 0 0 1.3 4.75 172" />
<param name="masses" value="0 0 0 1.3 4.75 172" />
<param name="subgridNodes" value="100 60 50 50" />
<param name="subgridLowerBounds" value="0.0001 0.1 0.6 0.8" />
<param name="subgridInterDegrees" value="3 3 3 3" />
<param name="tabNodes" value="100" />
<param name="tabLowerBound" value="1" />
<param name="tabUpperBound" value="1000" />
<param name="tabInterDegree" value="3" />
<!-- Select alpha_s model -->
<module type="RunningAlphaStrongModule" name="RunningAlphaStrongApfel">
<param name="qcd_order_type" value="LO" />
<param name="alphasRef" value="0.118" />
<param name="muRef" value="91.1876" />
<param name="thresholds" value="0 0 0 1.3 4.75 172" />
<param name="masses" value="0 0 0 1.3 4.75 172" />
<param name="tabNodes" value="100" />
<param name="tabLowerBound" value="0.5" />
<param name="tabUpperBound" value="1000" />
<param name="tabInterDegree" value="3" />
</module>
<!-- Select model defining number of active flavors -->
<module type="ActiveFlavorsThresholdsModule" name="ActiveFlavorsThresholdsQuarkMasses">
</module>
</module>
</module>
</computation_configuration>
</task>
<!-- Second task: print results of the last computation into standard output -->
<task service="GPDService" method="printResults">
</task>
</scenario>
......@@ -46,6 +46,38 @@
#include <partons/ServiceObjectRegistry.h>
#include <partons/utils/type/PhysicalType.h>
#include <partons/utils/type/PhysicalUnit.h>
#include <partons/modules/collinear_distribution/CollinearDistributionLHAPDF.h>
#include <partons/services/CollinearDistributionService.h>
void computeSingleKinematicsForCollinearDistribution() {
// Retrieve CollinearDistribution service
PARTONS::CollinearDistributionService* pCollinearDistributionService =
PARTONS::Partons::getInstance()->getServiceObjectRegistry()->getCollinearDistributionService();
// Create CollinearDistribution module with the BaseModuleFactory
PARTONS::CollinearDistributionModule* pCollinearDistributionModel =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newCollinearDistributionModule(
PARTONS::CollinearDistributionLHAPDF::classId);
// Create a CollinearDistributionKinematic(x, MuF2, MuR2) to compute
PARTONS::CollinearDistributionKinematic colldistKinematic(0.1, 2., 2.);
// Run computation
PARTONS::CollinearDistributionResult colldistResult =
pCollinearDistributionService->computeSingleKinematic(
colldistKinematic, pCollinearDistributionModel);
// Print results
PARTONS::Partons::getInstance()->getLoggerManager()->info("main", __func__,
colldistResult.toString());
// Remove pointer references
// Module pointers are managed by PARTONS
PARTONS::Partons::getInstance()->getModuleObjectFactory()->updateModulePointerReference(
pCollinearDistributionModel, 0);
pCollinearDistributionModel = 0;
}
void computeSingleKinematicsForGPD() {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment