|
|
|||
File indexing completed on 2026-08-06 09:24:19
0001 // -*- C++ -*- 0002 #ifndef HERWIG_NMSSMHHHVertex_H 0003 #define HERWIG_NMSSMHHHVertex_H 0004 // 0005 // This is the declaration of the NMSSMHHHVertex class. 0006 // 0007 #include "ThePEG/Helicity/Vertex/Scalar/SSSVertex.h" 0008 #include "Herwig/Models/StandardModel/StandardModel.h" 0009 #include "Herwig/Models/Susy/MixingMatrix.h" 0010 0011 namespace Herwig { 0012 using namespace ThePEG; 0013 using namespace ThePEG::Helicity; 0014 0015 /** \ingroup Helicity 0016 * The NMSSMHHHVertex defines the triple 0017 * Higgs coupling in the NMSSM. 0018 * 0019 * @see \ref NMSSMHHHVertexInterfaces "The interfaces" 0020 * defined for NMSSMHHHVertex. 0021 */ 0022 class NMSSMHHHVertex: public SSSVertex { 0023 0024 public: 0025 0026 /** 0027 * The default constructor. 0028 */ 0029 NMSSMHHHVertex(); 0030 0031 public: 0032 0033 /** @name Functions used by the persistent I/O system. */ 0034 //@{ 0035 /** 0036 * Function used to write out object persistently. 0037 * @param os the persistent output stream written to. 0038 */ 0039 void persistentOutput(PersistentOStream & os) const; 0040 0041 /** 0042 * Function used to read in object persistently. 0043 * @param is the persistent input stream read from. 0044 * @param version the version number of the object when written. 0045 */ 0046 void persistentInput(PersistentIStream & is, int version); 0047 //@} 0048 0049 /** 0050 * The standard Init function used to initialize the interfaces. 0051 * Called exactly once for each class by the class description system 0052 * before the main function starts or 0053 * when this class is dynamically loaded. 0054 */ 0055 static void Init(); 0056 0057 /** 0058 * Calculate the couplings. This method is virtual and must be implemented in 0059 * classes inheriting from this. 0060 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0061 * @param part1 The ParticleData pointer for the first particle. 0062 * @param part2 The ParticleData pointer for the second particle. 0063 * @param part3 The ParticleData pointer for the third particle. 0064 */ 0065 virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2, 0066 tcPDPtr part3); 0067 0068 protected: 0069 0070 /** @name Clone Methods. */ 0071 //@{ 0072 /** 0073 * Make a simple clone of this object. 0074 * @return a pointer to the new object. 0075 */ 0076 virtual IBPtr clone() const {return new_ptr(*this);} 0077 0078 /** Make a clone of this object, possibly modifying the cloned object 0079 * to make it sane. 0080 * @return a pointer to the new object. 0081 */ 0082 virtual IBPtr fullclone() const {return new_ptr(*this);} 0083 //@} 0084 0085 protected: 0086 0087 /** @name Standard Interfaced functions. */ 0088 //@{ 0089 /** 0090 * Initialize this object after the setup phase before saving an 0091 * EventGenerator to disk. 0092 */ 0093 virtual void doinit(); 0094 //@} 0095 0096 private: 0097 0098 /** 0099 * The assignment operator is private and must never be called. 0100 * In fact, it should not even be implemented. 0101 */ 0102 NMSSMHHHVertex & operator=(const NMSSMHHHVertex &) = delete; 0103 0104 private: 0105 0106 /** 0107 * The mixing matrix combination \f$U^S_{ai}U^S_{bj}U^S_{ck}\f$ 0108 * @param a The row element of the first CP-even mixing matrix 0109 * @param b The column element of the first CP-even mixing matrix 0110 * @param c The row element of the second CP-even mixing matrix 0111 * @param i The column element of the second CP-even mixing matrix 0112 * @param j The row element of the third CP-even mixing matrix 0113 * @param k The column element of the third CP-even mixing matrix 0114 */ 0115 Complex usMix(unsigned int a, unsigned int b, unsigned int c, 0116 unsigned int i, unsigned int j, unsigned int k) const { 0117 return (*_mixS)(a,i)*(*_mixS)(b,j)*(*_mixS)(c,k) + 0118 (*_mixS)(a,i)*(*_mixS)(c,j)*(*_mixS)(b,k) + 0119 (*_mixS)(b,i)*(*_mixS)(a,j)*(*_mixS)(c,k) + 0120 (*_mixS)(b,i)*(*_mixS)(c,j)*(*_mixS)(a,k) + 0121 (*_mixS)(c,i)*(*_mixS)(a,j)*(*_mixS)(b,k) + 0122 (*_mixS)(c,i)*(*_mixS)(b,j)*(*_mixS)(a,k); 0123 } 0124 0125 /** 0126 * The mixing matrix combination \f$U^S_{ai}U^P_{bj}U^P_{ck}\f$ 0127 * @param a The row element of the first CP-even mixing matrix 0128 * @param b The column element of the first CP-even mixing matrix 0129 * @param c The row element of the second CP-even mixing matrix 0130 * @param i The column element of the second CP-even mixing matrix 0131 * @param j The row element of the third CP-even mixing matrix 0132 * @param k The column element of the third CP-even mixing matrix 0133 */ 0134 Complex upMix(unsigned int a, unsigned int b, unsigned int c, 0135 unsigned int i, unsigned int j, unsigned int k) const { 0136 return (*_mixS)(a,i)*((*_mixP)(b,j)*(*_mixP)(c,k) + 0137 (*_mixP)(c,j)*(*_mixP)(b,k)); 0138 } 0139 0140 private: 0141 0142 /** 0143 * A pointer to the object containing the SM parameters 0144 */ 0145 tcHwSMPtr _theSM; 0146 0147 /** 0148 * The \f$W\f$ mass 0149 */ 0150 Energy _mw; 0151 0152 /** 0153 * The \f$Z\f$ mass 0154 */ 0155 Energy _mz; 0156 /** 0157 * The \f$b\f$ mass 0158 */ 0159 Energy _mb; 0160 0161 /** 0162 * The \f$t\f$ mass 0163 */ 0164 Energy _mt; 0165 0166 /** 0167 * \f$\sin^2\theta_W\f$ 0168 */ 0169 double _sw2; 0170 0171 /** 0172 * \f$\cos\theta_W\f$ 0173 */ 0174 double _cw; 0175 0176 /** 0177 * The CP-even Higgs mixing matrix 0178 */ 0179 MixingMatrixPtr _mixS; 0180 0181 /** 0182 * The CP-odd Higgs mixing matrix 0183 */ 0184 MixingMatrixPtr _mixP; 0185 0186 /** 0187 * The coefficient of the trilinear \f$SH_2 H_1\f$ term in the superpotential 0188 */ 0189 double _lambda; 0190 0191 /** 0192 * The coefficient of the cubic singlet term in the superpotential 0193 */ 0194 double _kappa; 0195 0196 /** 0197 * The product \f$\lambda \langle S\rangle \f$. 0198 */ 0199 Energy _lambdaVEV; 0200 0201 /** 0202 * The soft trilinear \f$SH_2 H_1\f$ coupling 0203 */ 0204 Energy _theAl; 0205 0206 /** 0207 * The soft cubic \f$S\f$ coupling 0208 */ 0209 Energy _theAk; 0210 0211 /** 0212 * \f$\sin\beta\f$ 0213 */ 0214 double _sb; 0215 0216 /** 0217 * \f$\cos\beta\f$ 0218 */ 0219 double _cb; 0220 0221 /** 0222 * \f$\sin2\beta\f$ 0223 */ 0224 double _s2b; 0225 0226 /** 0227 * \f$\cos2\beta\f$ 0228 */ 0229 double _c2b; 0230 0231 /** 0232 * The value of the VEV of the higgs that couples to the down-type sector 0233 * \f$ g*sqrt(2)M_W\cos\beta \f$ 0234 */ 0235 Energy _vu; 0236 0237 /** 0238 * The value of the VEV of the higgs that couples to the up-type sector 0239 * i.e. \f$ g*sqrt(2)M_W\sin\beta \f$ 0240 */ 0241 Energy _vd; 0242 0243 /** 0244 * The value of the VEV of the singlet higgs 0245 */ 0246 Energy _s; 0247 0248 /** 0249 * The scale at which this vertex was last evaluated 0250 */ 0251 Energy2 _q2last; 0252 0253 /** 0254 * The value of the EW coupling when it was last evaluated 0255 */ 0256 double _glast; 0257 /** 0258 * left 3rd generation scalar quark mass 0259 */ 0260 Energy _MQ3; 0261 0262 /** 0263 * right scalar top mass 0264 */ 0265 Energy _MU2; 0266 0267 /** 0268 * Whether or onto to include the radiative terms 0269 */ 0270 bool _includeRadiative; 0271 0272 }; 0273 0274 } 0275 0276 #endif /* HERWIG_NMSSMHHHVertex_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|