Loading [MathJax]/extensions/tex2jax.js
hej is hosted by Hepforge, IPPP Durham
HEJ  2.3.0
High energy resummation for hadron colliders
EWConstants.hh
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include <cmath>
11 #include <memory>
12 
13 #include "HEJ/PDG_codes.hh"
14 #include "HEJ/exceptions.hh"
15 
16 namespace HEJ {
19  double mass;
20  double width;
21  };
22 
24  class EWConstants {
25  public:
27  EWConstants() = default;
29  constexpr EWConstants(
30  double vev,
34  ): set_{true}, vev_{vev}, Wprop_{std::move(Wprop)},
35  Zprop_{std::move(Zprop)}, Hprop_{std::move(Hprop)}
36  {}
38  void set_vevWZH(
39  double vev,
43  ){
44  set_ = true; vev_= vev; Wprop_= std::move(Wprop);
45  Zprop_= std::move(Zprop); Hprop_= std::move(Hprop);
46  }
48  double vev() const {check_set(); return vev_;}
50  ParticleProperties const & Wprop() const {check_set(); return Wprop_;}
52  ParticleProperties const & Zprop() const {check_set(); return Zprop_;}
54  ParticleProperties const & Hprop() const {check_set(); return Hprop_;}
56  ParticleProperties const & prop(ParticleID const id) const {
57  using namespace pid;
58  switch(id){
59  case Wp:
60  case Wm:
61  return Wprop();
62  case Z:
63  return Zprop();
64  case h:
65  return Hprop();
66  default:
67  throw std::invalid_argument("No properties available for particle "+name(id));
68  }
69  }
71  double cos_tw() const {return Wprop().mass/Zprop().mass;}
73  double cos2_tw() const {return cos_tw()*cos_tw();}
75  double sin_tw() const {return std::sqrt(sin2_tw());}
77  double sin2_tw() const {return 1. - cos2_tw();}
79  double alpha_em() const {return e2()/4./M_PI;}
81  double alpha_w() const {return gw2()/2.;}
82 
83  private:
84  double gw2() const {return 4*Wprop().mass/vev()*Wprop().mass/vev();}
85  double e2() const {return gw2()*sin2_tw();}
86  void check_set() const {
87  if(!set_) throw std::invalid_argument("EW constants not specified");
88  }
89  bool set_{false};
90  double vev_{};
91  ParticleProperties Wprop_{};
92  ParticleProperties Zprop_{};
93  ParticleProperties Hprop_{};
94  };
95 } // namespace HEJ
Contains the Particle IDs of all relevant SM particles.
Collection of electro-weak constants.
Definition: EWConstants.hh:24
ParticleProperties const & Hprop() const
Properties of the Higgs boson.
Definition: EWConstants.hh:54
double cos_tw() const
cosine of Weinberg angle
Definition: EWConstants.hh:71
ParticleProperties const & prop(ParticleID const id) const
access Properties by boson id
Definition: EWConstants.hh:56
double vev() const
vacuum expectation value
Definition: EWConstants.hh:48
ParticleProperties const & Wprop() const
Properties of the W boson.
Definition: EWConstants.hh:50
double sin_tw() const
sinus Weinberg angle
Definition: EWConstants.hh:75
double sin2_tw() const
sinus square of Weinberg angle
Definition: EWConstants.hh:77
double alpha_w() const
weak coupling
Definition: EWConstants.hh:81
constexpr EWConstants(double vev, ParticleProperties Wprop, ParticleProperties Zprop, ParticleProperties Hprop)
initialise by Vacuum expectation value & boson properties
Definition: EWConstants.hh:29
void set_vevWZH(double vev, ParticleProperties Wprop, ParticleProperties Zprop, ParticleProperties Hprop)
set constants by Vacuum expectation value & boson properties
Definition: EWConstants.hh:38
double alpha_em() const
elector magnetic coupling
Definition: EWConstants.hh:79
EWConstants()=default
Default constructor, values have to be initialised separately.
double cos2_tw() const
cosine square of Weinberg angle
Definition: EWConstants.hh:73
ParticleProperties const & Zprop() const
Properties of the Z boson.
Definition: EWConstants.hh:52
Custom exception classes.
std::string name(EventType type)
Event type names.
Definition: event_types.hh:57
ParticleID
The possible particle identities. We use PDG IDs as standard.
Definition: PDG_codes.hh:25
@ Wp
Definition: PDG_codes.hh:83
@ h
Definition: PDG_codes.hh:85
@ Z
Definition: PDG_codes.hh:80
@ Wm
Definition: PDG_codes.hh:84
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
collection of basic particle properties
Definition: EWConstants.hh:18
double mass
Mass.
Definition: EWConstants.hh:19
double width
Decay width.
Definition: EWConstants.hh:20