Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F9501439
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
View Options
diff --git a/FixedOrderGen/include/ParticleProperties.hh b/FixedOrderGen/include/ParticleProperties.hh
index d38a0ec..70f5e48 100644
--- a/FixedOrderGen/include/ParticleProperties.hh
+++ b/FixedOrderGen/include/ParticleProperties.hh
@@ -1,28 +1,31 @@
/**
* \authors The HEJ collaboration (see AUTHORS for details)
* \date 2019
* \copyright GPLv2 or later
*/
#pragma once
#include <vector>
#include <unordered_map>
+#include "HEJ/EWConstants.hh"
+
#include "Decay.hh"
namespace HEJFOG{
- struct ParticleProperties{
- double mass;
- double width;
+ struct ParticleProperties: public HEJ::ParticleProperties{
std::vector<Decay> decays;
+ ParticleProperties() = default;
+ ParticleProperties(double mass_, double width_, std::vector<Decay> decays_):
+ HEJ::ParticleProperties{mass_, width_}, decays{decays_}{}
};
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ < 6)
// gcc version < 6 explicitly needs hash function for enum
// see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60970
using ParticlesPropMap
= std::unordered_map<HEJ::ParticleID, ParticleProperties, std::hash<int>>;
#else
using ParticlesPropMap
= std::unordered_map<HEJ::ParticleID, ParticleProperties>;
#endif
}
diff --git a/include/HEJ/EWConstants.hh b/include/HEJ/EWConstants.hh
new file mode 100644
index 0000000..dedac59
--- /dev/null
+++ b/include/HEJ/EWConstants.hh
@@ -0,0 +1,65 @@
+/** \file
+ * \brief Defines the electro weak parameters
+ *
+ * \authors The HEJ collaboration (see AUTHORS for details)
+ * \date 2019
+ * \copyright GPLv2 or later
+ */
+#pragma once
+
+#include <cmath>
+
+#include "HEJ/exceptions.hh"
+
+namespace HEJ {
+ struct ParticleProperties{
+ double mass;
+ double width;
+ };
+
+ class EWConstants {
+ public:
+ EWConstants() = default;
+ //! initialise constants by Vacuum expectation value & boson properties
+ void set_vevWZH(
+ double vev,
+ ParticleProperties const & Wprop,
+ ParticleProperties const & Zprop,
+ ParticleProperties const & Hprop
+ ){
+ vev_= vev; Wprop_= Wprop; Zprop_= Zprop; Hprop_= Hprop;
+ set = true;
+ }
+ //! vacuum expectation value
+ double vev() const {check_set(); return vev_;}
+ //! Properties of the W boson
+ ParticleProperties const & Wprop() const {check_set(); return Wprop_;}
+ //! Properties of the Z boson
+ ParticleProperties const & Zprop() const {check_set(); return Zprop_;}
+ //! Properties of the Higgs boson
+ ParticleProperties const & Hprop() const {check_set(); return Hprop_;}
+ //! cosine of Weinberg angle
+ double cos_tw() const {return Wprop().mass/Zprop().mass;}
+ //! cosine square of Weinberg angle
+ double cos2_tw() const {return cos_tw()*cos_tw();}
+ //! sinus Weinberg angle
+ double sin_tw() const {return sqrt(sin2_tw());}
+ //! sinus square of Weinberg angle
+ double sin2_tw() const {return 1. - cos2_tw();}
+ //! elector magnetic coupling
+ double alpha_em() const {return e2()/4./M_PI;}
+ //! weak coupling
+ double alpha_w() const {return gw2()/2.;}
+ private:
+ double gw2() const {return 4*Wprop().mass/vev()*Wprop().mass/vev();}
+ double e2() const {return gw2()*sin2_tw();}
+ void check_set() const {
+ if(!set) throw std::invalid_argument("EW constants not specified");
+ }
+ bool set{false};
+ double vev_;
+ ParticleProperties Wprop_;
+ ParticleProperties Zprop_;
+ ParticleProperties Hprop_;
+ };
+}
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sun, Feb 23, 2:27 PM (16 h, 21 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4486598
Default Alt Text
(3 KB)
Attached To
rHEJ HEJ
Event Timeline
Log In to Comment