herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
NMSSMHHHVertex.h
1// -*- C++ -*-
2#ifndef HERWIG_NMSSMHHHVertex_H
3#define HERWIG_NMSSMHHHVertex_H
4//
5// This is the declaration of the NMSSMHHHVertex class.
6//
7#include "ThePEG/Helicity/Vertex/Scalar/SSSVertex.h"
8#include "Herwig/Models/StandardModel/StandardModel.h"
9#include "Herwig/Models/Susy/MixingMatrix.h"
10
11namespace Herwig {
12using namespace ThePEG;
13using namespace ThePEG::Helicity;
14
23
24public:
25
30
31public:
32
40
46 void persistentInput(PersistentIStream & is, int version);
48
55 static void Init();
56
65 virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,
66 tcPDPtr part3);
67
68protected:
69
76 virtual IBPtr clone() const {return new_ptr(*this);}
77
82 virtual IBPtr fullclone() const {return new_ptr(*this);}
84
85protected:
86
93 virtual void doinit();
95
96private:
97
103
104private:
105
115 Complex usMix(unsigned int a, unsigned int b, unsigned int c,
116 unsigned int i, unsigned int j, unsigned int k) const {
117 return (*_mixS)(a,i)*(*_mixS)(b,j)*(*_mixS)(c,k) +
118 (*_mixS)(a,i)*(*_mixS)(c,j)*(*_mixS)(b,k) +
119 (*_mixS)(b,i)*(*_mixS)(a,j)*(*_mixS)(c,k) +
120 (*_mixS)(b,i)*(*_mixS)(c,j)*(*_mixS)(a,k) +
121 (*_mixS)(c,i)*(*_mixS)(a,j)*(*_mixS)(b,k) +
122 (*_mixS)(c,i)*(*_mixS)(b,j)*(*_mixS)(a,k);
123 }
124
134 Complex upMix(unsigned int a, unsigned int b, unsigned int c,
135 unsigned int i, unsigned int j, unsigned int k) const {
136 return (*_mixS)(a,i)*((*_mixP)(b,j)*(*_mixP)(c,k) +
137 (*_mixP)(c,j)*(*_mixP)(b,k));
138 }
139
140private:
141
145 tcHwSMPtr _theSM;
146
150 Energy _mw;
151
155 Energy _mz;
159 Energy _mb;
160
164 Energy _mt;
165
169 double _sw2;
170
174 double _cw;
175
179 MixingMatrixPtr _mixS;
180
184 MixingMatrixPtr _mixP;
185
189 double _lambda;
190
194 double _kappa;
195
200
204 Energy _theAl;
205
209 Energy _theAk;
210
214 double _sb;
215
219 double _cb;
220
224 double _s2b;
225
229 double _c2b;
230
235 Energy _vu;
236
241 Energy _vd;
242
246 Energy _s;
247
251 Energy2 _q2last;
252
256 double _glast;
260 Energy _MQ3;
261
265 Energy _MU2;
266
271
272};
273
274}
275
276#endif /* HERWIG_NMSSMHHHVertex_H */
The NMSSMHHHVertex defines the triple Higgs coupling in the NMSSM.
MixingMatrixPtr _mixP
The CP-odd Higgs mixing matrix.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
double _glast
The value of the EW coupling when it was last evaluated.
NMSSMHHHVertex & operator=(const NMSSMHHHVertex &)=delete
The assignment operator is private and must never be called.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Energy _theAk
The soft cubic coupling.
tcHwSMPtr _theSM
A pointer to the object containing the SM parameters.
Energy _vu
The value of the VEV of the higgs that couples to the down-type sector .
Energy _theAl
The soft trilinear coupling.
Energy _MQ3
left 3rd generation scalar quark mass
Energy _lambdaVEV
The product .
bool _includeRadiative
Whether or onto to include the radiative terms.
static void Init()
The standard Init function used to initialize the interfaces.
Complex usMix(unsigned int a, unsigned int b, unsigned int c, unsigned int i, unsigned int j, unsigned int k) const
The mixing matrix combination .
MixingMatrixPtr _mixS
The CP-even Higgs mixing matrix.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
double _lambda
The coefficient of the trilinear term in the superpotential.
Energy _s
The value of the VEV of the singlet higgs.
Complex upMix(unsigned int a, unsigned int b, unsigned int c, unsigned int i, unsigned int j, unsigned int k) const
The mixing matrix combination .
double _kappa
The coefficient of the cubic singlet term in the superpotential.
Energy _MU2
right scalar top mass
NMSSMHHHVertex()
The default constructor.
virtual IBPtr clone() const
Make a simple clone of this object.
Energy2 _q2last
The scale at which this vertex was last evaluated.
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)
Calculate the couplings.
Energy _vd
The value of the VEV of the higgs that couples to the up-type sector i.e.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr