Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:24:20

0001 // -*- C++ -*-
0002 #ifndef HERWIG_ZprimeModel_H
0003 #define HERWIG_ZprimeModel_H
0004 //
0005 // This is the declaration of the ZprimeModel class.
0006 //
0007 
0008 #include "Herwig/Models/General/BSMModel.h"
0009 #include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
0010 #include "ZprimeModel.fh"
0011 
0012 namespace Herwig {
0013 
0014 using namespace ThePEG;
0015 using namespace ThePEG::Helicity;
0016 
0017 /**
0018  * Here is the documentation of the ZprimeModel class.
0019  *
0020  * @see \ref ZprimeModelInterfaces "The interfaces"
0021  * defined for ZprimeModel.
0022  */
0023 class ZprimeModel: public BSMModel {
0024 
0025 public:
0026 
0027   /**
0028    * The default constructor.
0029    */
0030   ZprimeModel();
0031  
0032   /** @name Vertices */
0033   //@{
0034  
0035   /**
0036    * Pointer to the object handling Z prime quark-anti-quark vertex.
0037    */
0038   tAbstractFFVVertexPtr vertexZPQQ() const {return _theZPQQVertex;}
0039 
0040 public:
0041 
0042   /** @name Functions used by the persistent I/O system. */
0043   //@{
0044   /**
0045    * Function used to write out object persistently.
0046    * @param os the persistent output stream written to.
0047    */
0048   void persistentOutput(PersistentOStream & os) const;
0049 
0050   /**
0051    * Function used to read in object persistently.
0052    * @param is the persistent input stream read from.
0053    * @param version the version number of the object when written.
0054    */
0055   void persistentInput(PersistentIStream & is, int version);
0056   //@}
0057 
0058   /**
0059    * The standard Init function used to initialize the interfaces.
0060    * Called exactly once for each class by the class description system
0061    * before the main function starts or
0062    * when this class is dynamically loaded.
0063    */
0064   static void Init();
0065 
0066   
0067   /**
0068    * Return the Z prime top-up left-handed coupling
0069    */
0070   double _cZPTU_left() const {return _gZPTU_L;}
0071 
0072   /**
0073    * Return the Z prime top-up right-handed coupling
0074    */
0075   double _cZPTU_right() const {return _gZPTU_R;}
0076 
0077   /**
0078    * Return the Z prime d-dbar left-handed coupling
0079    */
0080   double _cZPDD_left() const {return _gZPDD_L;}
0081 
0082   /**
0083    * Return the Z prime d-dbar right-handed coupling
0084    */
0085   double _cZPDD_right() const {return _gZPDD_R;}
0086 
0087   /**
0088    * Return the Z prime top-anti-top left-handed coupling
0089    */
0090   double _cZPTT_left() const {return _gZPTT_L;}
0091 
0092   /**
0093    * Return the Z prime top-anti-top right-handed coupling
0094    */
0095   double _cZPTT_right() const {return _gZPTT_R;}
0096 
0097   /**
0098    * Return the Z prime u-ubar left-handed coupling
0099    */
0100   double _cZPUU_left() const {return _gZPUU_L;}
0101 
0102   /**
0103    * Return the Z prime u-ubar right-handed coupling
0104    */
0105   double _cZPUU_right() const {return _gZPUU_R;}
0106 
0107     /**
0108    * Return the Z prime c-cbar left-handed coupling
0109    */
0110   double _cZPCC_left() const {return _gZPCC_L;}
0111 
0112   /**
0113    * Return the Z prime c-cbar right-handed coupling
0114    */
0115   double _cZPCC_right() const {return _gZPCC_R;}
0116 
0117   /**
0118    * Return the Z prime b-bbar left-handed coupling
0119    */
0120   double _cZPBB_left() const {return _gZPBB_L;}
0121 
0122   /**
0123    * Return the Z prime b-bbar right-handed coupling
0124    */
0125   double _cZPBB_right() const {return _gZPBB_R;}
0126   
0127     /**
0128    * Return the Z prime s-sbar left-handed coupling
0129    */
0130   double _cZPSS_left() const {return _gZPSS_L;}
0131 
0132   /**
0133    * Return the Z prime c-cbar right-handed coupling
0134    */
0135   double _cZPSS_right() const {return _gZPSS_R;}
0136 
0137 
0138   /**
0139    * Return the Z prime e+e- left-handed coupling
0140    */
0141   double _cZPee_left() const {return _gZPee_L;}
0142 
0143   /**
0144    * Return the Z prime e+e- right-handed coupling
0145    */
0146   double _cZPee_right() const {return _gZPee_R;}
0147 
0148   /**
0149    * Return the Z prime mu+mu- left-handed coupling
0150    */
0151   double _cZPmm_left() const {return _gZPmm_L;}
0152 
0153   /**
0154    * Return the Z prime mu+mu- right-handed coupling
0155    */
0156   double _cZPmm_right() const {return _gZPmm_R;}
0157   
0158     /**
0159    * Return the Z prime tau+tau- left-handed coupling
0160    */
0161   double _cZPtt_left() const {return _gZPtt_L;}
0162 
0163   /**
0164    * Return the Z prime tau+tau- right-handed coupling
0165    */
0166   double _cZPtt_right() const {return _gZPtt_R;}
0167 
0168   /**
0169    * Return the Z prime nu_e nu_ebar left-handed coupling
0170    */
0171   double _cZPnuenue_left() const {return _gZPnuenue_L;}
0172 
0173   /**
0174    * Return the Z prime nu_e nu_ebar right-handed coupling
0175    */
0176   double _cZPnuenue_right() const {return _gZPnuenue_R;}
0177 
0178   /**
0179    * Return the Z prime nu_mu nu_mubar left-handed coupling
0180    */
0181   double _cZPnumnum_left() const {return _gZPnumnum_L;}
0182 
0183   /**
0184    * Return the Z prime nu_mu nu_mubar right-handed coupling
0185    */
0186   double _cZPnumnum_right() const {return _gZPnumnum_R;}
0187   
0188     /**
0189    * Return the Z prime nu_tau nu_taubar left-handed coupling
0190    */
0191   double _cZPnutnut_left() const {return _gZPnutnut_L;}
0192 
0193   /**
0194    * Return the Z prime nu_tau nu_taubar right-handed coupling
0195    */
0196   double _cZPnutnut_right() const {return _gZPnutnut_R;}
0197 
0198 
0199 
0200   /**
0201    * Return the overall coupling of the Z prime to quark-anti-quark
0202    */
0203   double _cZPoverallCoup() const {return _ZPoverall;}
0204 
0205 
0206 
0207 protected:
0208 
0209   /** @name Standard Interfaced functions. */
0210   //@{
0211   /**
0212    * Initialize this object after the setup phase before saving an
0213    * EventGenerator to disk.
0214    * @throws InitException if object could not be initialized properly.
0215    */
0216   virtual void doinit();
0217   //@}
0218 
0219 protected:
0220 
0221   /** @name Clone Methods. */
0222   //@{
0223   /**
0224    * Make a simple clone of this object.
0225    * @return a pointer to the new object.
0226    */
0227   virtual IBPtr clone() const;
0228 
0229   /** Make a clone of this object, possibly modifying the cloned object
0230    * to make it sane.
0231    * @return a pointer to the new object.
0232    */
0233   virtual IBPtr fullclone() const;
0234 
0235   
0236     
0237   
0238   //@}
0239 
0240 
0241 // If needed, insert declarations of virtual function defined in the
0242 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
0243 
0244 
0245 private:
0246 
0247   /**
0248    * The assignment operator is private and must never be called.
0249    * In fact, it should not even be implemented.
0250    */
0251   ZprimeModel & operator=(const ZprimeModel &) = delete;
0252 
0253   
0254   /**
0255    * Pointer to the object handling the Zp to Quark-antiQuark vertex.
0256    */
0257   AbstractFFVVertexPtr  _theZPQQVertex;
0258 
0259     /**
0260    *  Z prime coupling to u-ubar (left-handed)
0261    */
0262   double _gZPUU_L;
0263   
0264 
0265   /**
0266    *  Z prime coupling to u-ubar (right-handed)
0267    */
0268   double _gZPUU_R;
0269  /**
0270    *  Z prime coupling to d-dbar (left-handed)
0271    */
0272   double _gZPDD_L;
0273   
0274 
0275   /**
0276    *  Z prime coupling to d-dbar (right-handed)
0277    */
0278   double _gZPDD_R;
0279 
0280  /**
0281    *  Z prime coupling to c-cbar (left-handed)
0282    */
0283   double _gZPCC_L;
0284   
0285 
0286   /**
0287    *  Z prime coupling to c-cbar (right-handed)
0288    */
0289   double _gZPCC_R;
0290 
0291  
0292  /**
0293    *  Z prime coupling to s-sbar (left-handed)
0294    */
0295   double _gZPSS_L;
0296   
0297 
0298   /**
0299    *  Z prime coupling to s-sbar (right-handed)
0300    */
0301   double _gZPSS_R;
0302 
0303 
0304 
0305   
0306  
0307 /**
0308    *  Z prime coupling to b-bbar (left-handed)
0309    */
0310   double _gZPBB_L;
0311   
0312 
0313   /**
0314    *  Z prime coupling to b-bbar (right-handed)
0315    */
0316   double _gZPBB_R;
0317 
0318  /**
0319    *  Z prime coupling to top-up (left-handed)
0320    */
0321   double _gZPTU_L;
0322   
0323 
0324   /**
0325    *  Z prime coupling to top-up (right-handed)
0326    */
0327   double _gZPTU_R;
0328 
0329  /**
0330    *  Z prime coupling to top-anti-top (left-handed)
0331    */
0332   double _gZPTT_L;
0333   
0334 
0335   /**
0336    *  Z prime coupling to top-anti-top (right-handed)
0337    */
0338   double _gZPTT_R;
0339 
0340 
0341 
0342    /**
0343    *  Z prime coupling to e+e- (left-handed)
0344    */
0345   double _gZPee_L;
0346   
0347 
0348   /**
0349    *  Z prime coupling to e+e- (right-handed)
0350    */
0351   double _gZPee_R;
0352 
0353  
0354 /**
0355    *  Z prime coupling to mu+mu- (left-handed)
0356    */
0357   double _gZPmm_L;
0358   
0359 
0360   /**
0361    *  Z prime coupling to mu+mu- (right-handed)
0362    */
0363   double _gZPmm_R;
0364 
0365  /**
0366    *  Z prime coupling to tau+tau- (left-handed)
0367    */
0368   double _gZPtt_L;
0369   
0370 
0371   /**
0372    *  Z prime coupling to tau+tau- (right-handed)
0373    */
0374   double _gZPtt_R;
0375 
0376 
0377    /**
0378    *  Z prime coupling to nu_e nu_ebar (left-handed)
0379    */
0380   double _gZPnuenue_L;
0381   
0382 
0383   /**
0384    *  Z prime coupling to nu_e nu_ebar (right-handed)
0385    */
0386   double _gZPnuenue_R;
0387 
0388  
0389 /**
0390    *  Z prime coupling to nu_mu nu_mubar (left-handed)
0391    */
0392   double _gZPnumnum_L;
0393   
0394 
0395   /**
0396    *  Z prime coupling to nu_mu nu_mubar (right-handed)
0397    */
0398   double _gZPnumnum_R;
0399 
0400  /**
0401    *  Z prime coupling to nu_tau nu_taubar (left-handed)
0402    */
0403   double _gZPnutnut_L;
0404   
0405 
0406   /**
0407    *  Z prime coupling to nu_tau nu_taubar (right-handed)
0408    */
0409   double _gZPnutnut_R;
0410 
0411 
0412  /**
0413    *  Z prime overall coupling
0414    */
0415   double _ZPoverall;
0416   
0417 
0418 
0419 
0420 };
0421 
0422 }
0423 
0424 #endif /* HERWIG_ZprimeModel_H */