|
|
|||
File indexing completed on 2026-08-06 09:24:19
0001 // -*- C++ -*- 0002 #ifndef HERWIG_NMSSMPPHVertex_H 0003 #define HERWIG_NMSSMPPHVertex_H 0004 // 0005 // This is the declaration of the NMSSMPPHVertex class. 0006 // 0007 0008 #include "Herwig/Models/General/VVSLoopVertex.h" 0009 #include "Herwig/Models/StandardModel/StandardModel.fh" 0010 #include "Herwig/Models/Susy/MixingMatrix.h" 0011 0012 namespace Herwig { 0013 using namespace ThePEG; 0014 0015 /** 0016 * This class implements the effective vertex for a higgs coupling 0017 * to a pair of photons in the NMSSM. 0018 * 0019 * @see \ref NMSSMPPHVertexInterfaces "The interfaces" 0020 * defined for NMSSMPPHVertex. 0021 */ 0022 class NMSSMPPHVertex: public VVSLoopVertex { 0023 0024 public: 0025 0026 /** @name Standard constructors and destructors. */ 0027 //@{ 0028 /** 0029 * The default constructor. 0030 */ 0031 NMSSMPPHVertex(); 0032 //@} 0033 0034 public: 0035 0036 /** @name Functions used by the persistent I/O system. */ 0037 //@{ 0038 /** 0039 * Function used to write out object persistently. 0040 * @param os the persistent output stream written to. 0041 */ 0042 void persistentOutput(PersistentOStream & os) const; 0043 0044 /** 0045 * Function used to read in object persistently. 0046 * @param is the persistent input stream read from. 0047 * @param version the version number of the object when written. 0048 */ 0049 void persistentInput(PersistentIStream & is, int version); 0050 //@} 0051 0052 /** 0053 * The standard Init function used to initialize the interfaces. 0054 * Called exactly once for each class by the class description system 0055 * before the main function starts or 0056 * when this class is dynamically loaded. 0057 */ 0058 static void Init(); 0059 0060 /** 0061 * Calculate couplings 0062 *@param q2 Scale at which to evaluate coupling 0063 *@param p1 ParticleData pointer to first particle 0064 *@param p2 ParticleData pointer to second particle 0065 *@param p3 ParticleData pointer to third particle 0066 */ 0067 virtual void setCoupling(Energy2 q2, tcPDPtr p1, tcPDPtr p2, 0068 tcPDPtr p3); 0069 0070 protected: 0071 0072 /** @name Clone Methods. */ 0073 //@{ 0074 /** 0075 * Make a simple clone of this object. 0076 * @return a pointer to the new object. 0077 */ 0078 virtual IBPtr clone() const {return new_ptr(*this);} 0079 0080 /** Make a clone of this object, possibly modifying the cloned object 0081 * to make it sane. 0082 * @return a pointer to the new object. 0083 */ 0084 virtual IBPtr fullclone() const {return new_ptr(*this);} 0085 //@} 0086 0087 protected: 0088 0089 /** @name Standard Interfaced functions. */ 0090 //@{ 0091 /** 0092 * Initialize this object after the setup phase before saving an 0093 * EventGenerator to disk. 0094 * @throws InitException if object could not be initialized properly. 0095 */ 0096 virtual void doinit(); 0097 //@} 0098 0099 private: 0100 0101 /** 0102 * The assignment operator is private and must never be called. 0103 * In fact, it should not even be implemented. 0104 */ 0105 NMSSMPPHVertex & operator=(const NMSSMPPHVertex &) = delete; 0106 0107 private: 0108 0109 /** @name Stored parameters. */ 0110 //@{ 0111 /** 0112 * The SM pointer 0113 */ 0114 tcHwSMPtr _theSM; 0115 0116 /** 0117 * \f$ \sin\theta_W\f$ 0118 */ 0119 double _sw; 0120 0121 /** 0122 * \f$ \cos\theta_W\f$ 0123 */ 0124 double _cw; 0125 0126 /** 0127 * \f$ M_W\f$ 0128 */ 0129 Energy _mw; 0130 0131 /** 0132 * \f$ M_Z \f$ 0133 */ 0134 Energy _mz; 0135 0136 /** 0137 * The product \f$\lambda \langle S\rangle \f$. 0138 */ 0139 0140 Energy _lambdaVEV; 0141 0142 /** 0143 * The coefficient of the trilinear \f$SH_2 H_1\f$ term in the superpotential 0144 */ 0145 0146 double _lambda; 0147 0148 /** 0149 * The value of the VEV of the higgs that couples to the up-type sector 0150 * \f$ g*sqrt(2)M_W\cos\beta \f$ 0151 */ 0152 0153 Energy _v1; 0154 0155 /** 0156 * The value of the VEV of the higgs that couples to the down-type sector 0157 * \f$ g*sqrt(2)M_W\cos\beta \f$ 0158 */ 0159 Energy _v2; 0160 0161 /** 0162 * The top quark trilinear coupling 0163 */ 0164 complex<Energy> _triTp; 0165 0166 /** 0167 * The bottom quark trilinear coupling 0168 */ 0169 complex<Energy> _triBt; 0170 0171 /** 0172 * The tau quark trilinear coupling 0173 */ 0174 complex<Energy> _triTa; 0175 0176 /** 0177 * A pointer to the top quark 0178 */ 0179 tcPDPtr _top; 0180 0181 /** 0182 * A pointer to the bottom quark 0183 */ 0184 tcPDPtr _bt; 0185 0186 /** 0187 * A pointer to the tau lepton 0188 */ 0189 tcPDPtr _tau; 0190 0191 /** 0192 * CP-even Higgs mixing matrix 0193 */ 0194 MixingMatrixPtr _mixS; 0195 0196 /** 0197 * CP-even Higgs mixing matrix 0198 */ 0199 MixingMatrixPtr _mixP; 0200 0201 /** 0202 * \f$\tilde{t}\f$ mixing matrix 0203 */ 0204 MixingMatrixPtr _mixQt; 0205 0206 /** 0207 * \f$\tilde{b}\f$ mixing matrix 0208 */ 0209 MixingMatrixPtr _mixQb; 0210 0211 /** 0212 * \f$\tilde{\tau}\f$ mixing matrix 0213 */ 0214 MixingMatrixPtr _mixLt; 0215 0216 /** 0217 * \f$ \sin\beta\f$ 0218 */ 0219 double _sb; 0220 0221 /** 0222 * \f$ \cos\beta\f$ 0223 */ 0224 double _cb; 0225 0226 /** 0227 * The coefficient of the cubic singlet term in the superpotential 0228 */ 0229 double _kappa; 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 soft trilinear \f$SH_2 H_1\f$ coupling 0250 */ 0251 Energy _theAl; 0252 0253 /** 0254 * The U mixing matrix 0255 */ 0256 tMixingMatrixPtr _mixU; 0257 0258 /** 0259 * The V mixing matrix 0260 */ 0261 tMixingMatrixPtr _mixV; 0262 0263 /** 0264 * The top and bottom quark masses calculated at the last value 0265 * of \f$q^2\f$ 0266 */ 0267 pair<Energy, Energy> _masslast; 0268 0269 /** 0270 * The scale at which the coupling was last evaluated 0271 */ 0272 Energy2 _q2last; 0273 0274 /** 0275 * The value of the overall normalisation when the coupling was last 0276 * evaluated. 0277 */ 0278 double _couplast; 0279 0280 /** 0281 * The value of the weak coupling was last 0282 * evaluated. 0283 */ 0284 double _coup; 0285 0286 /** 0287 * The PDG code of the Higgs particle when the vertex was last evaluated 0288 */ 0289 long _hlast; 0290 0291 /** 0292 * Whether the tensor coefficient need recalculating or not 0293 */ 0294 bool _recalc; 0295 //@} 0296 }; 0297 0298 } 0299 0300 #endif /* HERWIG_NMSSMPPHVertex_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|