File indexing completed on 2025-10-30 08:49:54
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 #ifndef Pythia8_SigmaNewGaugeBosons_H
0010 #define Pythia8_SigmaNewGaugeBosons_H
0011 
0012 #include "Pythia8/PythiaComplex.h"
0013 #include "Pythia8/SigmaProcess.h"
0014 
0015 namespace Pythia8 {
0016 
0017 
0018 
0019 
0020 
0021 
0022 class Sigma1ffbarZprimeWprime: public Sigma1Process {
0023 
0024 public:
0025 
0026   
0027   Sigma1ffbarZprimeWprime() {}
0028 
0029 protected:
0030 
0031   
0032   Vec4    pRot[7];
0033   complex hA[7][7];
0034   complex hC[7][7];
0035 
0036   
0037   void setupProd( Event& process, int i1, int i2, int i3, int i4,
0038     int i5, int i6);
0039 
0040   
0041   complex fGK(int i1, int i2, int i3, int i4, int i5, int i6);
0042 
0043   
0044   double xiGK( double tHnow, double uHnow, double s3now, double s4now);
0045 
0046   
0047   double xjGK( double tHnow, double uHnow, double s3now, double s4now);
0048 
0049 private:
0050 
0051 };
0052 
0053 
0054 
0055 
0056 
0057 class Sigma1ffbar2gmZZprime : public Sigma1ffbarZprimeWprime {
0058 
0059 public:
0060 
0061   
0062   Sigma1ffbar2gmZZprime() : gmZmode(), maxZpGen(), mRes(), GammaRes(),
0063     m2Res(), GamMRat(), sin2tW(), cos2tW(), thetaWRat(), mZ(), GammaZ(), m2Z(),
0064     GamMRatZ(), afZp(), vfZp(), coupZpWW(), anglesZpWW(), gamSum(), gamZSum(),
0065     ZSum(), gamZpSum(), ZZpSum(), ZpSum(), gamNorm(), gamZNorm(), ZNorm(),
0066     gamZpNorm(), ZZpNorm(), ZpNorm(), particlePtr() {}
0067 
0068   
0069   virtual void initProc();
0070 
0071   
0072   virtual void sigmaKin();
0073 
0074   
0075   virtual double sigmaHat();
0076 
0077   
0078   virtual void setIdColAcol();
0079 
0080   
0081   virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0082 
0083   
0084   virtual string name()       const {return "f fbar -> gamma*/Z0/Zprime0";}
0085   virtual int    code()       const {return 3001;}
0086   virtual string inFlux()     const {return "ffbarSame";}
0087   virtual int    resonanceA() const {return 23;}
0088   virtual int    resonanceB() const {return 32;}
0089 
0090 private:
0091 
0092   
0093   int    gmZmode, maxZpGen;
0094   double mRes, GammaRes, m2Res, GamMRat, sin2tW, cos2tW, thetaWRat,
0095          mZ, GammaZ, m2Z, GamMRatZ, afZp[20], vfZp[20], coupZpWW,
0096          anglesZpWW, gamSum, gamZSum, ZSum, gamZpSum, ZZpSum, ZpSum,
0097          gamNorm, gamZNorm, ZNorm, gamZpNorm, ZZpNorm, ZpNorm;
0098 
0099   
0100   ParticleDataEntryPtr particlePtr;
0101 
0102 };
0103 
0104 
0105 
0106 
0107 
0108 class Sigma1ffbar2Wprime : public Sigma1ffbarZprimeWprime {
0109 
0110 public:
0111 
0112   
0113   Sigma1ffbar2Wprime() : mRes(), GammaRes(), m2Res(), GamMRat(), thetaWRat(),
0114     sigma0Pos(), sigma0Neg(), aqWp(), vqWp(), alWp(), vlWp(), coupWpWZ(),
0115     anglesWpWZ(), particlePtr() {}
0116 
0117   
0118   virtual void initProc();
0119 
0120   
0121   virtual void sigmaKin();
0122 
0123   
0124   virtual double sigmaHat();
0125 
0126   
0127   virtual void setIdColAcol();
0128 
0129   
0130   virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0131 
0132   
0133   virtual string name()       const {return "f fbar' -> W'+-";}
0134   virtual int    code()       const {return 3021;}
0135   virtual string inFlux()     const {return "ffbarChg";}
0136   virtual int    resonanceA() const {return 34;}
0137 
0138 private:
0139 
0140   
0141   double mRes, GammaRes, m2Res, GamMRat, thetaWRat, sigma0Pos, sigma0Neg,
0142          aqWp, vqWp, alWp, vlWp, coupWpWZ, anglesWpWZ;
0143 
0144   
0145   ParticleDataEntryPtr particlePtr;
0146 
0147 };
0148 
0149 
0150 
0151 
0152 class Sigma1ffbar2Rhorizontal : public Sigma1Process {
0153 
0154 public:
0155 
0156   
0157   Sigma1ffbar2Rhorizontal() : mRes(), GammaRes(), m2Res(), GamMRat(),
0158     thetaWRat(), sigma0Pos(), sigma0Neg(), particlePtr() {}
0159 
0160   
0161   virtual void initProc();
0162 
0163   
0164   virtual void sigmaKin();
0165 
0166   
0167   virtual double sigmaHat();
0168 
0169   
0170   virtual void setIdColAcol();
0171 
0172   
0173   virtual string name()       const {return "f fbar' -> R^0";}
0174   virtual int    code()       const {return 3041;}
0175   virtual string inFlux()     const {return "ffbar";}
0176   virtual int    resonanceA() const {return 41;}
0177 
0178 private:
0179 
0180   
0181   double mRes, GammaRes, m2Res, GamMRat, thetaWRat, sigma0Pos, sigma0Neg;
0182 
0183   
0184   ParticleDataEntryPtr particlePtr;
0185 
0186 };
0187 
0188 
0189 
0190 } 
0191 
0192 #endif