Commit da7ad13c authored by Valerio Bertone's avatar Valerio Bertone
Browse files

Fixing problem with APFEL++ collinear evolution

parent 19e75e42
...@@ -90,7 +90,7 @@ private: ...@@ -90,7 +90,7 @@ private:
std::vector<int> m_subgridNodes; std::vector<int> m_subgridNodes;
std::vector<double> m_subgridLowerBounds; std::vector<double> m_subgridLowerBounds;
std::vector<int> m_subgridInterDegrees; std::vector<int> m_subgridInterDegrees;
std::shared_ptr<apfel::Grid> m_grid;
std::map<int, apfel::DglapObjects> m_dglapobj; std::map<int, apfel::DglapObjects> m_dglapobj;
bool m_setApfelTables; ///< Switch used to generate Apfel tables. bool m_setApfelTables; ///< Switch used to generate Apfel tables.
......
...@@ -98,8 +98,7 @@ PartonDistribution CollinearDistributionEvolutionApfel::compute( ...@@ -98,8 +98,7 @@ PartonDistribution CollinearDistributionEvolutionApfel::compute(
*/ */
// Running coupling // Running coupling
const auto as = const auto as = [=] (double const& mu) -> double {return getRunningAlphaStrongModule()->compute(mu * mu);};
[=] (double const& mu) -> double {return getRunningAlphaStrongModule()->compute(mu * mu);};
// Construct the DGLAP evolution operators // Construct the DGLAP evolution operators
const auto EvolvedPDFs = BuildDglap(m_dglapobj, const auto EvolvedPDFs = BuildDglap(m_dglapobj,
...@@ -243,6 +242,7 @@ CollinearDistributionEvolutionApfel::CollinearDistributionEvolutionApfel( ...@@ -243,6 +242,7 @@ CollinearDistributionEvolutionApfel::CollinearDistributionEvolutionApfel(
m_subgridNodes = other.m_subgridNodes; m_subgridNodes = other.m_subgridNodes;
m_subgridLowerBounds = other.m_subgridLowerBounds; m_subgridLowerBounds = other.m_subgridLowerBounds;
m_subgridInterDegrees = other.m_subgridInterDegrees; m_subgridInterDegrees = other.m_subgridInterDegrees;
m_grid = other.m_grid;
m_dglapobj = other.m_dglapobj; m_dglapobj = other.m_dglapobj;
} }
...@@ -259,7 +259,7 @@ void CollinearDistributionEvolutionApfel::initModule() { ...@@ -259,7 +259,7 @@ void CollinearDistributionEvolutionApfel::initModule() {
for (int i = 0; i < (int) m_subgridNodes.size(); i++) for (int i = 0; i < (int) m_subgridNodes.size(); i++)
vsg.push_back(apfel::SubGrid { m_subgridNodes[i], vsg.push_back(apfel::SubGrid { m_subgridNodes[i],
m_subgridLowerBounds[i], m_subgridInterDegrees[i] }); m_subgridLowerBounds[i], m_subgridInterDegrees[i] });
const apfel::Grid g { vsg }; m_grid = std::shared_ptr<apfel::Grid>{new apfel::Grid{vsg}};
// Get thresholds. Set to zero whatever is below one. // Get thresholds. Set to zero whatever is below one.
std::vector<double> thresholds; std::vector<double> thresholds;
...@@ -275,7 +275,7 @@ void CollinearDistributionEvolutionApfel::initModule() { ...@@ -275,7 +275,7 @@ void CollinearDistributionEvolutionApfel::initModule() {
0 : sqrt(aft.getLowerBound())); 0 : sqrt(aft.getLowerBound()));
// Initialize QCD evolution objects // Initialize QCD evolution objects
m_dglapobj = InitializeDglapObjectsQCD(g, thresholds); m_dglapobj = InitializeDglapObjectsQCD(*m_grid, thresholds);
// Set as false // Set as false
m_setApfelTables = false; m_setApfelTables = false;
......
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