#include "PDF/Main/PDF_Base.H" #define COMPILE__Getter_Function #define OBJECT_TYPE PDF::PDF_Base #define PARAMETER_TYPE PDF::PDF_Arguments #include "ATOOLS/Org/Getter_Function.C" #include "ATOOLS/Org/CXXFLAGS_PACKAGES.H" #include "ATOOLS/Org/Message.H" #include "ATOOLS/Org/Run_Parameter.H" #include "ATOOLS/Org/Exception.H" #include "ATOOLS/Org/Scoped_Settings.H" using namespace PDF; using namespace ATOOLS; namespace PDF { PDF_Defaults *pdfdefs(nullptr); } PDF_Defaults::PDF_Defaults() { #ifdef USING__LHAPDF m_deflib[kf_p_plus] = "LHAPDFSherpa"; m_defset[kf_p_plus] = "PDF4LHC21_40_pdfas"; #else m_deflib[kf_p_plus] = "NNPDFSherpa"; m_defset[kf_p_plus] = "NNPDF31_nnlo_as_0118_mc"; #endif m_deflib[kf_e] = "PDFESherpa"; m_defset[kf_e] = "PDFe"; m_deflib[kf_photon] = "SASGSherpa"; m_defset[kf_photon] = "SAS1M"; } std::ostream &PDF::operator<<(std::ostream &ostr,const PDF::PDF_AS_Info &asi) { return ostr<<"\\alpha_s of order="<(); } PDF_Base::~PDF_Base() = default; void PDF_Base::RegisterDefaults() { Settings& s = Settings::GetMainSettings(); s["LHEF_PDF_NUMBER"].SetDefault(-1); s["INCLUDE_PHOTON_IN_PHOTON_PDF"].SetDefault(false); Scoped_Settings lhapdfsettings{ s["LHAPDF"] }; lhapdfsettings["NUMBER_OF_FLAVOURS"].SetDefault(5); lhapdfsettings["GRID_PATH"].SetDefault(""); lhapdfsettings.DeclareVectorSettingsWithEmptyDefault({ "DISALLOW_FLAVOUR" }); } double PDF_Base::GetDefaultAlpha() { return -1.0; } double PDF_Base::GetDefaultScale() { return -1.0; } int PDF_Base::GetFlavourScheme() { return 0; } double PDF_Base::AlphaSPDF(const double &q2) { THROW(not_implemented, "PDF doesn't implement alpha_s running.") } PDF_Base *PDF_Base::GetBasicPDF() { return this; } void PDF_Base::SetBounds() { m_rq2min=m_q2min; m_rq2max=m_q2max; } void PDF_Base::SetAlphaSInfo() { } void PDF_Base::SetPDFMember() { } void PDF_Base::Calculate(double x,double Q2) { if(Q2 " <m_q2max) { static double lasterr(-1.0); if (Q2!=lasterr) msg_Error()< "< " < " <m_xmax*m_rescale) { static double lasterr(-1.0); if (xR!=lasterr) msg_Error()< "< " <\n" <<" // or PDF_SET: [, ])\n" <<" // Default can be used as a placeholder to let Sherpa choose\n\n"; PDF_Getter_Function::PrintGetterInfo(msg->Out(),25); msg_Out()<<"\n}"<