hej is hosted by Hepforge, IPPP Durham
HEJ 2  2.0
High energy resummation for hadron colliders
MatrixElement.hh
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include <functional>
11 #include <vector>
12 
13 #include "fastjet/PseudoJet.hh"
14 
15 #include "HEJ/PDG_codes.hh"
16 #include "HEJ/Weights.hh"
17 #include "HEJ/config.hh"
18 
19 namespace CLHEP {
20  class HepLorentzVector;
21 }
22 
23 namespace HEJ{
24  class Event;
25  class Particle;
26 
29  public:
36  std::function<double (double)> alpha_s,
38  );
39 
49  Weights operator()(Event const & event) const;
50 
52 
58  Weights tree(Event const & event) const;
59 
72  Weights virtual_corrections(Event const & event) const;
73 
74  private:
75 
76  Weights tree_param(
77  Event const & event
78  ) const;
79 
80  double tree_kin(Event const & event) const;
81 
82  double tree_param(
83  Event const & event,
84  double mur
85  ) const;
86 
87  double virtual_corrections(
88  Event const & event,
89  double mur
90  ) const;
91 
93  double omega0(
94  double alpha_s, double mur,
95  fastjet::PseudoJet const & q_j, double lambda
96  ) const;
97 
98  double tree_kin_jets(
99  Event const & ev
100  ) const;
101  double tree_kin_Higgs(
102  Event const & ev
103  ) const;
104  double tree_kin_Higgs_first(
105  Event const & ev
106  ) const;
107  double tree_kin_Higgs_last(
108  Event const & ev
109  ) const;
110 
119  double tree_kin_Higgs_between(
120  Event const & ev
121  ) const;
122 
123 
124  double tree_param_partons(
125  double alpha_s, double mur,
126  std::vector<Particle> const & partons
127  ) const;
128 
129 
130  std::vector<int> in_extremal_jet_indices(
131  std::vector<fastjet::PseudoJet> const & partons
132  ) const;
133 
134 
135  std::vector<Particle> tag_extremal_jet_partons(
136  Event const & ev
137  ) const;
138 
139  double MH2_forwardH(
140  CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
141  pid::ParticleID type2,
142  CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in,
143  CLHEP::HepLorentzVector pH,
144  double t1, double t2
145  ) const;
146 
147  std::function<double (double)> alpha_s_;
148 
149  MatrixElementConfig param_;
150  };
151 
152 
153 }
Contains the Particle IDs of all relevant SM particles.
Container for event weights.
Definition: Event.hh:84
Class to calculate the squares of matrix elements.
Definition: MatrixElement.hh:28
Weights operator()(Event const &event) const
squares of regulated HEJ matrix elements
Weights tree(Event const &event) const
Squares of HEJ tree-level matrix elements.
Weights virtual_corrections(Event const &event) const
Virtual corrections to matrix element squares.
MatrixElement(std::function< double(double)> alpha_s, MatrixElementConfig conf)
MatrixElement Constructor.
HEJ 2 configuration parameters.
Definition: MatrixElement.hh:19
ParticleID
The possible particle identities. We use PDG IDs as standard.
Definition: PDG_codes.hh:23
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
Configuration options for the MatrixElement class.
Definition: config.hh:116
Collection of weights assigned to a single event.
Definition: Weights.hh:19