|
|
|||
File indexing completed on 2026-08-06 09:24:17
0001 // -*- C++ -*- 0002 #ifndef HERWIG_LeptoquarkModel_H 0003 #define HERWIG_LeptoquarkModel_H 0004 // 0005 // This is the declaration of the LeptoquarkModel class. 0006 // 0007 0008 #include "Herwig/Models/General/BSMModel.h" 0009 #include "ThePEG/Helicity/Vertex/AbstractVSSVertex.h" 0010 #include "ThePEG/Helicity/Vertex/AbstractVVSSVertex.h" 0011 #include "LeptoquarkModel.fh" 0012 0013 namespace Herwig { 0014 0015 using namespace ThePEG; 0016 using namespace ThePEG::Helicity; 0017 0018 /** 0019 * Here is the documentation of the LeptoquarkModel class. 0020 * 0021 * @see \ref LeptoquarkModelInterfaces "The interfaces" 0022 * defined for LeptoquarkModel. 0023 */ 0024 class LeptoquarkModel: public BSMModel { 0025 0026 public: 0027 0028 /** 0029 * The default constructor. 0030 */ 0031 LeptoquarkModel(); 0032 0033 /** @name Vertices */ 0034 //@{ 0035 /** 0036 * Pointer to the object handling S0S0barg vertex. 0037 */ 0038 tAbstractVSSVertexPtr vertexSLQSLQG() const {return _theSLQSLQGVertex;} 0039 0040 /** 0041 * Pointer to the object handling the S0S0bargg vertex. 0042 */ 0043 tAbstractVVSSVertexPtr vertexSLQSLQGG() const {return _theSLQSLQGGVertex;} 0044 0045 /** 0046 * Pointer to the object handling the S0ql vertex. 0047 */ 0048 tAbstractFFSVertexPtr vertexSLQFF() const {return _theSLQFFVertex;} 0049 0050 public: 0051 0052 /** @name Functions used by the persistent I/O system. */ 0053 //@{ 0054 /** 0055 * Function used to write out object persistently. 0056 * @param os the persistent output stream written to. 0057 */ 0058 void persistentOutput(PersistentOStream & os) const; 0059 0060 /** 0061 * Function used to read in object persistently. 0062 * @param is the persistent input stream read from. 0063 * @param version the version number of the object when written. 0064 */ 0065 void persistentInput(PersistentIStream & is, int version); 0066 //@} 0067 0068 /** 0069 * The standard Init function used to initialize the interfaces. 0070 * Called exactly once for each class by the class description system 0071 * before the main function starts or 0072 * when this class is dynamically loaded. 0073 */ 0074 static void Init(); 0075 0076 /** 0077 * Return the overall fermion coupling 0078 */ 0079 double cfermion() const {return _CouplFF;} 0080 0081 /** 0082 * Return the coupling of the leptoquark to left-handed leptons + right-handed quarks (S0) 0083 */ 0084 double cleft() const {return _leftcoup;} 0085 0086 /** 0087 * Return the coupling of the leptoquark to right-handed leptons + left-handed quarks (S0) 0088 */ 0089 double cright() const {return _rightcoup;} 0090 0091 /** 0092 * Return the coupling of the leptoquark to left-handed leptons + right-handed quarks (S1 triplet) 0093 */ 0094 double cleft1() const {return _leftcoup1;} 0095 0096 /** 0097 * Return the coupling of the leptoquark to right-handed leptons 0098 * + left-handed quarks (~S0) 0099 */ 0100 double crighttilde() const {return _rightcouptilde;} 0101 0102 /** 0103 * Return the coupling of the leptoquark to left-handed leptons + right-handed quarks (S1/2) 0104 */ 0105 double cleft12() const {return _leftcoup12;} 0106 0107 /** 0108 * Return the coupling of the leptoquark to right-handed leptons + left-handed quarks (S1/2) 0109 */ 0110 double cright12() const {return _rightcoup12;} 0111 0112 /** 0113 * Return the coupling of the leptoquark to left-handed leptons + right-handed quarks (S1/2) 0114 */ 0115 double cleft12tilde() const {return _leftcoup12t;} 0116 0117 /** 0118 * Return the coupling of the leptoquark to left-handed leptons + right-handed quarks (S0) 0119 */ 0120 double dcleft() const {return _dleftcoup;} 0121 /** 0122 * Return the coupling of the leptoquark to right-handed leptons + left-handed quarks (dS0) 0123 */ 0124 double dcright() const {return _drightcoup;} 0125 0126 /** 0127 * Return the coupling of the leptoquark to left-handed leptons + right-handed quarks (dS1 triplet) 0128 */ 0129 0130 double dcleft1() const {return _dleftcoup1;} 0131 0132 /** 0133 * Return the coupling of the leptoquark to right-handed leptons 0134 * + left-handed quarks (~dS0) 0135 */ 0136 double dcrighttilde() const {return _drightcouptilde;} 0137 0138 /** 0139 * Return the coupling of the leptoquark to left-handed leptons + right-handed quarks (dS1/2) 0140 */ 0141 double dcleft12() const {return _dleftcoup12;} 0142 0143 /** 0144 * Return the coupling of the leptoquark to right-handed leptons + left-handed quarks (dS1/2) 0145 */ 0146 double dcright12() const {return _drightcoup12;} 0147 0148 /** 0149 * Return the coupling of the leptoquark to left-handed leptons + right-handed quarks (dS1/2) 0150 */ 0151 0152 double dcleft12tilde() const {return _dleftcoup12t;} 0153 /** 0154 * Suppression scale for derivatively coupled scalar leptoquarks 0155 */ 0156 0157 Energy fscale() const {return _derivscalef;} 0158 0159 0160 0161 0162 0163 protected: 0164 0165 /** @name Standard Interfaced functions. */ 0166 //@{ 0167 /** 0168 * Initialize this object after the setup phase before saving an 0169 * EventGenerator to disk. 0170 * @throws InitException if object could not be initialized properly. 0171 */ 0172 virtual void doinit(); 0173 //@} 0174 0175 protected: 0176 0177 /** @name Clone Methods. */ 0178 //@{ 0179 /** 0180 * Make a simple clone of this object. 0181 * @return a pointer to the new object. 0182 */ 0183 virtual IBPtr clone() const; 0184 0185 /** Make a clone of this object, possibly modifying the cloned object 0186 * to make it sane. 0187 * @return a pointer to the new object. 0188 */ 0189 virtual IBPtr fullclone() const; 0190 0191 0192 0193 0194 //@} 0195 0196 0197 // If needed, insert declarations of virtual function defined in the 0198 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs). 0199 0200 0201 private: 0202 0203 /** 0204 * The assignment operator is private and must never be called. 0205 * In fact, it should not even be implemented. 0206 */ 0207 LeptoquarkModel & operator=(const LeptoquarkModel &) = delete; 0208 0209 0210 /** 0211 * Pointer to the object handling the G to SLQ SLQ vertex. 0212 */ 0213 AbstractVSSVertexPtr _theSLQSLQGVertex; 0214 0215 /** 0216 * Pointer to the object handling the GG to SLQ SLQ vertex. 0217 */ 0218 AbstractVVSSVertexPtr _theSLQSLQGGVertex; 0219 0220 0221 /** 0222 * Pointer to the object handling the SLQ to FF vertex. 0223 */ 0224 AbstractFFSVertexPtr _theSLQFFVertex; 0225 0226 0227 0228 /** 0229 * Overall coupling to fermions 0230 */ 0231 double _CouplFF; 0232 0233 0234 /** 0235 * Overall coupling to left-handed leptons (S0) 0236 */ 0237 double _leftcoup; 0238 0239 /** 0240 * Overall coupling to right-handed leptons (S0) 0241 */ 0242 double _rightcoup; 0243 0244 /** 0245 * Overall coupling to left-handed leptons (~S0) 0246 */ 0247 double _rightcouptilde; 0248 0249 /** 0250 * Overall coupling to left-handed leptons (S1 triplet) 0251 */ 0252 double _leftcoup1; 0253 0254 /** 0255 * Overall coupling to left-handed leptons (S1/2) 0256 */ 0257 double _leftcoup12; 0258 0259 /** 0260 * Overall coupling to right-handed leptons (S1/2) 0261 */ 0262 double _rightcoup12; 0263 0264 /** 0265 * Overall coupling to left-handed leptons (~S1/2) 0266 */ 0267 double _leftcoup12t; 0268 0269 /** 0270 * Overall coupling to left-handed leptons (dS0) 0271 */ 0272 double _dleftcoup; 0273 0274 /** 0275 * Overall coupling to right-handed leptons (dS0) 0276 */ 0277 double _drightcoup; 0278 0279 /** 0280 * Overall coupling to left-handed leptons (~dS0) 0281 */ 0282 double _drightcouptilde; 0283 0284 /** 0285 * Overall coupling to left-handed leptons (dS1 triplet) 0286 */ 0287 double _dleftcoup1; 0288 0289 /** 0290 * Overall coupling to left-handed leptons (dS1/2) 0291 */ 0292 double _dleftcoup12; 0293 0294 /** 0295 * Overall coupling to right-handed leptons (dS1/2) 0296 */ 0297 double _drightcoup12; 0298 0299 /** 0300 * Overall coupling to left-handed leptons (~dS1/2) 0301 */ 0302 double _dleftcoup12t; 0303 0304 /** 0305 * Suppression scale for derivatively coupled scalar leptoquarks, f 0306 */ 0307 Energy _derivscalef; 0308 0309 0310 0311 }; 0312 0313 } 0314 0315 #endif /* HERWIG_LeptoquarkModel_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|