From b90375ff7778daf2deb39d0c68f957ed784bfd16 Mon Sep 17 00:00:00 2001 From: Radonirinaunimi Date: Wed, 16 Jun 2021 16:10:25 +0200 Subject: [PATCH 1/7] flip minus to plus sign --- src/HighEnergyExp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/HighEnergyExp.cpp b/src/HighEnergyExp.cpp index ded6b4e..c5488a4 100644 --- a/src/HighEnergyExp.cpp +++ b/src/HighEnergyExp.cpp @@ -84,7 +84,7 @@ std::complex HighEnergyExp::C1gg(std::complex NN, std::complex HighEnergyExp::C2gg(std::complex NN, long double xp) { std::complex result; - result = -4 * std::pow(CA, 2) / std::pow(M_PIl, 2) * (log(xp) / xp) / + result = 4 * std::pow(CA, 2) / std::pow(M_PIl, 2) * (log(xp) / xp) / std::pow(NN, 2); return result; } From 5be622ae5d019699f289db48ca1bb6c9dfe7e1da Mon Sep 17 00:00:00 2001 From: Radonirinaunimi Date: Wed, 16 Jun 2021 16:30:49 +0200 Subject: [PATCH 2/7] add x-space HE --- src/HighEnergyExp.cpp | 81 +++++++++++++++++++++++++++++-------------- 1 file changed, 55 insertions(+), 26 deletions(-) diff --git a/src/HighEnergyExp.cpp b/src/HighEnergyExp.cpp index c5488a4..d85215a 100644 --- a/src/HighEnergyExp.cpp +++ b/src/HighEnergyExp.cpp @@ -38,34 +38,9 @@ HighEnergyExp::HighEnergyExp(int order, int channel, void *params) { MUR2 = static_cast(std::pow(param.mur, 2)); MUF2 = static_cast(std::pow(param.muf, 2)); - LF = std::log(MH2 / MUF2); - LR = std::log(MH2 / MUR2); - - aass = static_cast( - param.alphas); // TODO; long double-check PI normalization + aass = static_cast(param.alphas); SROOT = static_cast(param.sroot); SIGMA0 = static_cast(param.sigma0); - - // Compute Beta Functions - Beta0 = (11. * CA - 2. * NF) / (12. * M_PIl); - Beta1 = ((17. * CA * CA - 5. * CA * NF - 3. * CF * NF) * 2. / 3.) / - (16. * M_PIl * M_PIl); - Beta2 = ((2857. / 54. * CA * CA * CA + - (CF * CF - 205. / 18. * CF * CA - 1415. / 54. * CA * CA) * NF + - (11. / 9. * CF + 79. / 54. * CA) * NF * NF)) / - std::pow(4. * M_PIl, 3); - - // One & too loop Cusp Anomalous Dimensions - // In the following, the 1/PI is contained in the definitions - // of the cusp Anomalous dimensions not in the normalization of as - Bth1g = -Beta0; - Ath1g = CA / M_PIl; - Ath1q = CF / M_PIl; - Bth1q = -3. / 4. * CF / M_PIl; - Ath2g = (CA / 2. * (CA * (67. / 18. - zeta2) - 5. / 9. * NF)) / - std::pow(M_PIl, 2); - Ath2q = (CF / 2. * (CA * (67. / 18. - zeta2) - 5. / 9. * NF)) / - std::pow(M_PIl, 2); } HighEnergyExp::~HighEnergyExp() {} @@ -74,6 +49,21 @@ HighEnergyExp::~HighEnergyExp() {} // gg-channel NLO pt-distributions // //------------------------------------------------------------------------------------------// +std::complex HighEnergyExp::C1ggx(long double x, + long double xp) { + std::complex result; + result = 2 * CA / M_PIl / xp; + return result; +} + +std::complex HighEnergyExp::C2ggx(long double x, + long double xp) { + std::complex result; + result = 4 * std::pow(CA, 2) / std::pow(M_PIl, 2) * (log(xp) / xp) * + std::log(x); + return result; +} + std::complex HighEnergyExp::C1gg(std::complex NN, long double xp) { std::complex result; @@ -131,3 +121,42 @@ std::complex HighEnergyExp::HighEnergyExpExpr( return 2. * pt / MH2 * SIGMA0 * result; } + +// TODO: change this into a vector +std::complex HighEnergyExp::HighEnergyExpExprX( + long double x, long double pt) { + // TODO: re-check definition MH2 vs. Qs2 + long double xp = std::pow(pt, 2) / MH2; + std::complex zero(0., 0.); + std::complex result(0., 0.); + + switch (ORD) { + // TODO: Match CASES with HpT-MON + case (0): // order as^1 + { + if ((CHANNEL == 0) || (CHANNEL == 5)) { + result += aass * C1ggx(x, xp); + } + if ((CHANNEL == 1) || (CHANNEL == 5)) { + result += zero; + } + if ((CHANNEL == 2) || (CHANNEL == 5)) { + result += zero; + } + } break; + case (1): // order as^2 + { + if ((CHANNEL == 0) || (CHANNEL == 5)) { + result += std::pow(aass, 2) * C2ggx(x, xp); + } + if ((CHANNEL == 1) || (CHANNEL == 5)) { + return zero; + } + if ((CHANNEL == 2) || (CHANNEL == 5)) { + return zero; + } + } break; + } + + return 2. * pt / MH2 * SIGMA0 * result; +} From 526ae91898b67e0a0e765bb5427b0f3d92fcfa14 Mon Sep 17 00:00:00 2001 From: Radonirinaunimi Date: Wed, 16 Jun 2021 16:41:41 +0200 Subject: [PATCH 3/7] clean up --- include/HighEnergyExp.h | 61 ++++------------------------------------- 1 file changed, 6 insertions(+), 55 deletions(-) diff --git a/include/HighEnergyExp.h b/include/HighEnergyExp.h index cccf60f..05a76bf 100644 --- a/include/HighEnergyExp.h +++ b/include/HighEnergyExp.h @@ -38,71 +38,22 @@ class HighEnergyExp { virtual ~HighEnergyExp(); // Attribute that compute the expanded results - /* std::vector> HighEnergyExpExpr( */ - /* std::complex N, long double xp */ - /* ); */ std::complex HighEnergyExpExpr(std::complex N, long double pt); + std::complex HighEnergyExpExprX(long double N, + long double pt); - // Matching Coefficients - long double Hth1gggH(long double xp); - long double Hth1gqqH(long double xp); - long double Hth1qqgH(long double xp); + // Coefficients in x space + std::complex C1ggx(long double x, long double xp); + std::complex C2ggx(long double x, long double xp); + // Coefficients in N space std::complex C1gg(std::complex NN, long double xp); std::complex C2gg(std::complex NN, long double xp); - // LO pt-distribution - std::complex LOgggH(std::complex NN, - long double xp); - std::complex LOgqqH(std::complex NN, - long double xp); - std::complex LOqqgH(std::complex NN, - long double xp); - - // Matching function G) - long double GOgggH(long double); - long double GOgqqH(long double); - long double GOqqgH(long double); private: int NC, NF, CA, ORD, CHANNEL; long double LF, LR, LQ; long double MH2, MUF2, MUR2, SROOT; long double CF, aass, SIGMA0; - - // Beta functions - long double Beta0; - long double Beta1; - long double Beta2; - - // Cusp Anomalous Dimensions - long double Ath1g; - long double Ath2g; - long double Ath1q; - long double Ath2q; - long double Bth1g; - long double Bth1q; - - // Sigma functions - // gg->g - long double Sigma22ggg(long double xp); - long double Sigma21ggg(long double xp); - long double Sigma20ggg(long double xp); - // gq->g - long double Sigma22gqg(long double xp); - long double Sigma21gqg(long double xp); - long double Sigma20gqg(long double xp); - // qq->g - long double Sigma22qqg(long double xp); - long double Sigma21qqg(long double xp); - long double Sigma20qqg(long double xp); - - // Zeta functions - const long double zeta2 = gsl_sf_zeta_int(2); - const long double zeta3 = gsl_sf_zeta_int(3); - const long double zeta4 = gsl_sf_zeta_int(4); - - // EulerGamma - // TODO: Move this to global - const long double EulerGamma = 0.5772156649; }; From 149ed884bc5d7fcbab29e279307cb54626087e23 Mon Sep 17 00:00:00 2001 From: Radonirinaunimi Date: Wed, 16 Jun 2021 16:42:15 +0200 Subject: [PATCH 4/7] add x-space combined results [small-pt not working yet] --- src/CombinedRes.cpp | 48 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/src/CombinedRes.cpp b/src/CombinedRes.cpp index d03b6dd..dbaf25c 100644 --- a/src/CombinedRes.cpp +++ b/src/CombinedRes.cpp @@ -34,6 +34,7 @@ CombinedRes::CombinedRes(int order, int channel, std::string pdfname, EXACT_ORD = order == 0 ? 0 : order - 1; SMALLPT = new SmallptExp(order, channel, params); + xTHRESHOLD = new ThresXspace(order, channel, params); THRESHOLD = new ThresExp(order, channel, params); HIGHENERGY = new HighEnergyExp(order, channel, params); MELLIN = new MellinTrans(order, channel, pdfname, params); @@ -95,13 +96,52 @@ std::complex CombinedRes::CombinedResExpr( return HighEnergyMellin; } else { std::complex SptMellin = SMALLPT->SmallptExpExpr(N, pt); - /* std::complex ThresMellin = THRESHOLD->ThresExpExpr(N, pt); - */ - std::complex xThresMellin = MELLIN->xSpaceThres(N, pt); + std::complex ThresMellin = THRESHOLD->ThresExpExpr(N, pt); + // std::complex xThresMellin = MELLIN->xSpaceThres(N, pt); /* std::complex ExactMellinCmpx(ExactMellin[0], 0.); */ mres = (1. - Matching(N, pt, scheme)) * SptMellin + - Matching(N, pt, scheme) * xThresMellin; + Matching(N, pt, scheme) * ThresMellin; + /* Matching(N, pt, scheme) * ThresMellin; */ + + /* return ExactMellinCmpx + mres; */ + return mres; + } +} + +std::complex CombinedRes::CombinedResExprX( + long double x, long double pt, int scheme) { + /* double pp = static_cast(pt); */ + // take only real part. Does not work for complex + /* double nn = static_cast(N.real()); */ + std::complex mres; + /* std::vector ResultsMellin; */ + /* std::vector zero(2, 0.0); */ + + // Compute exact FO from HpT-MON + /* if (ORD == 0) { */ + /* ResultsMellin = zero; */ + /* } else { */ + /* ResultsMellin = MELLINPARTONIC->partonichiggsdpt(pp, nn); */ + /* } */ + /* std::vector ExactMellin(ResultsMellin.begin(), */ + /* ResultsMellin.end()); */ + + // Compute approximation from resummations + if (scheme == 3) // High Energy + { + /* std::complex ExactMellinCmpx(ExactMellin[0], 0.); */ + std::complex HighEnergyMellin = + HIGHENERGY->HighEnergyExpExprX(x, pt); + /* return ExactMellinCmpx + HighEnergyMellin; */ + return HighEnergyMellin; + } else { + // std::complex SptMellin = SMALLPT->SmallptExpExpr(N, pt); + // std::complex ThresMellin = THRESHOLD->ThresExpExpr(N, pt); + std::complex xThresMellin = xTHRESHOLD->ThresXspaceExpr(x, 1, pt); + + /* std::complex ExactMellinCmpx(ExactMellin[0], 0.); */ + mres = xThresMellin; /* Matching(N, pt, scheme) * ThresMellin; */ /* return ExactMellinCmpx + mres; */ From 026b1b15f5d6d800b4b591ff065440a58a46d255 Mon Sep 17 00:00:00 2001 From: Radonirinaunimi Date: Wed, 16 Jun 2021 16:43:15 +0200 Subject: [PATCH 5/7] add routine for x-space combined expression --- include/CombinedRes.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/CombinedRes.h b/include/CombinedRes.h index 401fefa..c323b82 100644 --- a/include/CombinedRes.h +++ b/include/CombinedRes.h @@ -32,6 +32,7 @@ #include "./IntMellin.h" #include "./SmallptExp.h" #include "./ThresExp.h" +#include "./ThresXspace.h" #include "higgs-fo/partonic.h" class CombinedRes { @@ -42,6 +43,8 @@ class CombinedRes { // Attribute that compute the expanded results std::complex CombinedResExpr(std::complex N, long double pt, int scheme); + std::complex CombinedResExprX(long double x, + long double pt, int scheme); private: int ORD, EXACT_ORD; @@ -52,6 +55,7 @@ class CombinedRes { // Init. resummation classes SmallptExp *SMALLPT; ThresExp *THRESHOLD; + ThresXspace *xTHRESHOLD; HighEnergyExp *HIGHENERGY; MellinTrans *MELLIN; From cca10bfb64d331171a9274b7aaa3daa42f30a897 Mon Sep 17 00:00:00 2001 From: Radonirinaunimi Date: Wed, 16 Jun 2021 16:59:18 +0200 Subject: [PATCH 6/7] Generate executable for results as a function of x --- dSigmadptX.cpp | 153 ++++++++++++++++++++++++++++++++++++++++ include/CombinedRes.h | 4 +- include/HighEnergyExp.h | 6 +- meson.build | 9 +++ src/CombinedRes.cpp | 8 +-- src/HighEnergyExp.cpp | 16 ++--- 6 files changed, 178 insertions(+), 18 deletions(-) create mode 100644 dSigmadptX.cpp diff --git a/dSigmadptX.cpp b/dSigmadptX.cpp new file mode 100644 index 0000000..7538e1b --- /dev/null +++ b/dSigmadptX.cpp @@ -0,0 +1,153 @@ +/* + * ===================================================================================== + * + * Filename: main.cpp + * + * Description: Main file that computes either the full hadronic or the + * Mellin partonic cross section. + * + * Version: 1.0 + * Created: 17/02/2021 23:16:58 + * Revision: none + * Compiler: gcc + * + * Author: Tanjona R. Rabemananjara, Roy Stegeman + * Organization: N3PDF + * + * ===================================================================================== + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "higgs-fo/hadronic.h" +#include "higgs-fo/higgspt.h" +#include "higgs-fo/higgsptpartonic.h" +#include "higgs-fo/luminosity.h" +#include "higgs-fo/params.h" +#include "higgs-fo/partonic.h" +#include "include/CombinedRes.h" +#include "include/SmallptExp.h" +#include "include/ThresExp.h" +#include "include/HighEnergyExp.h" +#include "yaml-cpp/yaml.h" + +// Exception for wrong inputs +struct err_message : public std::exception { + const char *what() const throw() { return "Wrong Parameters!!"; } +}; + +int main(int argc, char *argv[]) { + LHAPDF::setVerbosity(0); + YAML::Node node = YAML::LoadFile(argv[1]); + + int inorm = node["inorm"].as(); + int order = node["order"].as(); + int _nf = node["nf"].as(); + int channel = node["channel"].as(); + int scheme = node["scheme"].as(); + + double _mh = node["mh"].as(); + double _mur = node["mur"].as(); + double _muf = node["muf"].as(); + + double _sroot = node["sroot"].as(); + long double xmin = node["xmin"].as(); + long double xmax = node["xmax"].as(); + long double xbin = node["xbin"].as(); + long double pt = node["pt"].as(); + + std::string pdfname = node["pdfname"].as(); + std::string filename = node["outfile"].as(); + + std::string ord_fixod[2] = {"_LO", "_NLO"}; + std::string par_chanl[5] = {"_gg_channel", "_gq_channel", "_qq_channel", + "_qqb_channel", "_all_channels"}; + std::string matsch[4] = {"_smallpt_asN.dat", "_threshold_asN.dat", + "_combined_asN.dat", "_highenergy_asN.dat"}; + + try { + if (order < 0 || order > 1) throw err_message(); + if (channel < 0 || channel > 5) throw err_message(); + filename += ord_fixod[order]; + filename += par_chanl[channel]; + filename += matsch[scheme]; + } catch (err_message &err) { + std::cout << err.what() << std::endl; + exit(EXIT_FAILURE); + } + + // Factors for Born cross-section + double factor; + double gf = 1.16637e-5; // Fermi Constant + double gevpb = 3.8937966e8; // GeV to pb + + if (inorm == 1) { + std::cout << "ERROR in inorm!" << std::endl; + exit(EXIT_FAILURE); // TODO: complete implementation! + } else if (inorm == 0) { + factor = gf / 288. / M_PI / sqrt(2.); // large-top mass limit + } else { + std::cout << "ERROR in inorm!" << std::endl; + exit(EXIT_FAILURE); + } + + // Initialize PDF and extract alpha_s + LHAPDF::initPDFSetByName(pdfname); + double _as = LHAPDF::alphasPDF(_mur); + double _sigma0 = factor * gevpb * std::pow(_as, 2); + + // Define parameters + PhysParams physparam; + physparam.nc = 3; + physparam.nf = _nf; + physparam.mh = _mh; + physparam.mur = _mur; + physparam.muf = _muf; + physparam.alphas = _as; + physparam.sroot = _sroot; + physparam.sigma0 = _sigma0; + + // Init. combined resummation class + CombinedRes combres(order, channel, pdfname, &physparam); + + // Construct output fie + std::ofstream output_file(filename); + output_file << "# PDF set name : " << pdfname << "\n" + << "# Matching scheme : " << scheme << "\n" + << "# Fixed Order : " << order << "\n" + << "# Partonic channel : " << channel << "\n" + << "# Center of M.E. (GeV) : " << _sroot << "\n" + << "# Higgs mass (GeV) : " << _mh << "\n" + << "# Renorm. scale (GeV) : " << _mur << "\n" + << "# Fact. scale (GeV) : " << _muf << "\n"; + const int space = 16; + output_file << "# [x values]" << std::setw(space) << "[dHpt (pb)]" + << "\n"; + + long double results; + long double xx = xmin; + while (xx <= xmax) { + results = combres.CombinedResExprX(xx, pt, scheme); + + // Generate some output logs & write to output file + printf("x=%Le: dHdpt = %Le \n", xx, results); + output_file.setf(std::ios_base::scientific); + output_file << xx << std::setw(space) << results << "\n"; + output_file.flush(); + + xx += xbin; + } + + output_file.close(); + + return 0; +} diff --git a/include/CombinedRes.h b/include/CombinedRes.h index c323b82..24654ff 100644 --- a/include/CombinedRes.h +++ b/include/CombinedRes.h @@ -41,9 +41,9 @@ class CombinedRes { virtual ~CombinedRes(); // Attribute that compute the expanded results - std::complex CombinedResExpr(std::complex N, + long double CombinedResExprX(long double x, long double pt, int scheme); - std::complex CombinedResExprX(long double x, + std::complex CombinedResExpr(std::complex N, long double pt, int scheme); private: diff --git a/include/HighEnergyExp.h b/include/HighEnergyExp.h index 05a76bf..0f553a6 100644 --- a/include/HighEnergyExp.h +++ b/include/HighEnergyExp.h @@ -40,12 +40,12 @@ class HighEnergyExp { // Attribute that compute the expanded results std::complex HighEnergyExpExpr(std::complex N, long double pt); - std::complex HighEnergyExpExprX(long double N, + long double HighEnergyExpExprX(long double x, long double pt); // Coefficients in x space - std::complex C1ggx(long double x, long double xp); - std::complex C2ggx(long double x, long double xp); + long double C1ggx(long double x, long double xp); + long double C2ggx(long double x, long double xp); // Coefficients in N space std::complex C1gg(std::complex NN, long double xp); diff --git a/meson.build b/meson.build index ccf0a61..d689e01 100644 --- a/meson.build +++ b/meson.build @@ -48,6 +48,15 @@ higgsexen = executable( c_args : extra_args ) +# create executable for cross section as a function of x +higgsexex = executable( + 'higgs-x', 'dSigmadptX.cpp', + include_directories : inc, + dependencies : [glib_dep, higgsfo_lib, yaml_lib], + link_with : higgslib, + c_args : extra_args +) + pkg_mod = import('pkgconfig') pkg_mod.generate( libraries : higgslib, diff --git a/src/CombinedRes.cpp b/src/CombinedRes.cpp index dbaf25c..958c1df 100644 --- a/src/CombinedRes.cpp +++ b/src/CombinedRes.cpp @@ -109,12 +109,12 @@ std::complex CombinedRes::CombinedResExpr( } } -std::complex CombinedRes::CombinedResExprX( +long double CombinedRes::CombinedResExprX( long double x, long double pt, int scheme) { /* double pp = static_cast(pt); */ // take only real part. Does not work for complex /* double nn = static_cast(N.real()); */ - std::complex mres; + // std::complex mres; /* std::vector ResultsMellin; */ /* std::vector zero(2, 0.0); */ @@ -131,7 +131,7 @@ std::complex CombinedRes::CombinedResExprX( if (scheme == 3) // High Energy { /* std::complex ExactMellinCmpx(ExactMellin[0], 0.); */ - std::complex HighEnergyMellin = + long double HighEnergyMellin = HIGHENERGY->HighEnergyExpExprX(x, pt); /* return ExactMellinCmpx + HighEnergyMellin; */ return HighEnergyMellin; @@ -141,7 +141,7 @@ std::complex CombinedRes::CombinedResExprX( std::complex xThresMellin = xTHRESHOLD->ThresXspaceExpr(x, 1, pt); /* std::complex ExactMellinCmpx(ExactMellin[0], 0.); */ - mres = xThresMellin; + long double mres = static_cast(xThresMellin.real()); /* Matching(N, pt, scheme) * ThresMellin; */ /* return ExactMellinCmpx + mres; */ diff --git a/src/HighEnergyExp.cpp b/src/HighEnergyExp.cpp index d85215a..9058305 100644 --- a/src/HighEnergyExp.cpp +++ b/src/HighEnergyExp.cpp @@ -49,17 +49,15 @@ HighEnergyExp::~HighEnergyExp() {} // gg-channel NLO pt-distributions // //------------------------------------------------------------------------------------------// -std::complex HighEnergyExp::C1ggx(long double x, +long double HighEnergyExp::C1ggx(long double x, long double xp) { - std::complex result; - result = 2 * CA / M_PIl / xp; + long double result = 2 * CA / M_PIl / xp; return result; } -std::complex HighEnergyExp::C2ggx(long double x, +long double HighEnergyExp::C2ggx(long double x, long double xp) { - std::complex result; - result = 4 * std::pow(CA, 2) / std::pow(M_PIl, 2) * (log(xp) / xp) * + long double result = 4 * std::pow(CA, 2) / std::pow(M_PIl, 2) * (log(xp) / xp) * std::log(x); return result; } @@ -123,12 +121,12 @@ std::complex HighEnergyExp::HighEnergyExpExpr( } // TODO: change this into a vector -std::complex HighEnergyExp::HighEnergyExpExprX( +long double HighEnergyExp::HighEnergyExpExprX( long double x, long double pt) { // TODO: re-check definition MH2 vs. Qs2 long double xp = std::pow(pt, 2) / MH2; - std::complex zero(0., 0.); - std::complex result(0., 0.); + long double zero = 0.; + long double result = 0.; switch (ORD) { // TODO: Match CASES with HpT-MON From 591172cad9f17d2c5ef187e067c97576b4529731 Mon Sep 17 00:00:00 2001 From: Radonirinaunimi Date: Wed, 16 Jun 2021 13:01:51 +0000 Subject: [PATCH 7/7] Committing clang-format changes --- include/CombinedRes.h | 3 +-- include/HighEnergyExp.h | 3 +-- src/CombinedRes.cpp | 10 +++++----- src/HighEnergyExp.cpp | 13 +++++-------- 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/include/CombinedRes.h b/include/CombinedRes.h index 24654ff..629a83e 100644 --- a/include/CombinedRes.h +++ b/include/CombinedRes.h @@ -41,8 +41,7 @@ class CombinedRes { virtual ~CombinedRes(); // Attribute that compute the expanded results - long double CombinedResExprX(long double x, - long double pt, int scheme); + long double CombinedResExprX(long double x, long double pt, int scheme); std::complex CombinedResExpr(std::complex N, long double pt, int scheme); diff --git a/include/HighEnergyExp.h b/include/HighEnergyExp.h index 0f553a6..b68539f 100644 --- a/include/HighEnergyExp.h +++ b/include/HighEnergyExp.h @@ -40,8 +40,7 @@ class HighEnergyExp { // Attribute that compute the expanded results std::complex HighEnergyExpExpr(std::complex N, long double pt); - long double HighEnergyExpExprX(long double x, - long double pt); + long double HighEnergyExpExprX(long double x, long double pt); // Coefficients in x space long double C1ggx(long double x, long double xp); diff --git a/src/CombinedRes.cpp b/src/CombinedRes.cpp index 958c1df..3305fa8 100644 --- a/src/CombinedRes.cpp +++ b/src/CombinedRes.cpp @@ -109,8 +109,8 @@ std::complex CombinedRes::CombinedResExpr( } } -long double CombinedRes::CombinedResExprX( - long double x, long double pt, int scheme) { +long double CombinedRes::CombinedResExprX(long double x, long double pt, + int scheme) { /* double pp = static_cast(pt); */ // take only real part. Does not work for complex /* double nn = static_cast(N.real()); */ @@ -131,14 +131,14 @@ long double CombinedRes::CombinedResExprX( if (scheme == 3) // High Energy { /* std::complex ExactMellinCmpx(ExactMellin[0], 0.); */ - long double HighEnergyMellin = - HIGHENERGY->HighEnergyExpExprX(x, pt); + long double HighEnergyMellin = HIGHENERGY->HighEnergyExpExprX(x, pt); /* return ExactMellinCmpx + HighEnergyMellin; */ return HighEnergyMellin; } else { // std::complex SptMellin = SMALLPT->SmallptExpExpr(N, pt); // std::complex ThresMellin = THRESHOLD->ThresExpExpr(N, pt); - std::complex xThresMellin = xTHRESHOLD->ThresXspaceExpr(x, 1, pt); + std::complex xThresMellin = + xTHRESHOLD->ThresXspaceExpr(x, 1, pt); /* std::complex ExactMellinCmpx(ExactMellin[0], 0.); */ long double mres = static_cast(xThresMellin.real()); diff --git a/src/HighEnergyExp.cpp b/src/HighEnergyExp.cpp index 9058305..ca48736 100644 --- a/src/HighEnergyExp.cpp +++ b/src/HighEnergyExp.cpp @@ -49,16 +49,14 @@ HighEnergyExp::~HighEnergyExp() {} // gg-channel NLO pt-distributions // //------------------------------------------------------------------------------------------// -long double HighEnergyExp::C1ggx(long double x, - long double xp) { +long double HighEnergyExp::C1ggx(long double x, long double xp) { long double result = 2 * CA / M_PIl / xp; return result; } -long double HighEnergyExp::C2ggx(long double x, - long double xp) { - long double result = 4 * std::pow(CA, 2) / std::pow(M_PIl, 2) * (log(xp) / xp) * - std::log(x); +long double HighEnergyExp::C2ggx(long double x, long double xp) { + long double result = + 4 * std::pow(CA, 2) / std::pow(M_PIl, 2) * (log(xp) / xp) * std::log(x); return result; } @@ -121,8 +119,7 @@ std::complex HighEnergyExp::HighEnergyExpExpr( } // TODO: change this into a vector -long double HighEnergyExp::HighEnergyExpExprX( - long double x, long double pt) { +long double HighEnergyExp::HighEnergyExpExprX(long double x, long double pt) { // TODO: re-check definition MH2 vs. Qs2 long double xp = std::pow(pt, 2) / MH2; long double zero = 0.;