hej is hosted by Hepforge, IPPP Durham
HEJ 2 2.0
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
PDF.hh
Go to the documentation of this file.
1
10#pragma once
11
12#include <array>
13#include <memory>
14
15#include "LHAPDF/LHAPDF.h"
16
17#include "HEJ/PDG_codes.hh"
18
19namespace HEJ{
21 class PDF {
22 public:
29 PDF(int id, ParticleID beam1, ParticleID beam2);
30
41 double pdfpt(size_t beam_idx, double x, double q, ParticleID id) const;
42
48 double Halphas(double q) const;
49
51
55 bool inRangeQ(double q) const;
56
58
62 bool inRangeX(double x) const;
63
64#if defined LHAPDF_MAJOR_VERSION && LHAPDF_MAJOR_VERSION == 6
66 int id() const;
67#endif
68
69 private:
70
71#if defined LHAPDF_MAJOR_VERSION && LHAPDF_MAJOR_VERSION == 6
72 std::unique_ptr<LHAPDF::PDF> pdf;
73#endif
74
75 std::array<int, 2> beamtype;
76 };
77}
Contains the Particle IDs of all relevant SM particles.
Class for interaction with a PDF set.
Definition: PDF.hh:21
bool inRangeQ(double q) const
Check if the energy scale is within the range covered by the PDF set.
bool inRangeX(double x) const
Check if the momentum fraction is within the range covered by the PDF set.
double Halphas(double q) const
Value of the strong coupling at the given scale.
double pdfpt(size_t beam_idx, double x, double q, ParticleID id) const
Calculate the pdf value x*f(x, q)
PDF(int id, ParticleID beam1, ParticleID beam2)
PDF Constructor.
ParticleID
The possible particle identities. We use PDG IDs as standard.
Definition: PDG_codes.hh:23
Main HEJ 2 Namespace.
Definition: mainpage.dox:1