LCOV - code coverage report
Current view: top level - PYTHIA8/pythia8210dev/include/Pythia8 - SigmaNewGaugeBosons.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 21 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 32 0.0 %

          Line data    Source code
       1             : // SigmaNewGaugeBosons.h is a part of the PYTHIA event generator.
       2             : // Copyright (C) 2015 Torbjorn Sjostrand.
       3             : // PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
       4             : // Please respect the MCnet Guidelines, see GUIDELINES for details.
       5             : 
       6             : // Header file for new-gauge-boson-process differential cross sections.
       7             : // Contains classes derived from SigmaProcess via Sigma1Process.
       8             : 
       9             : #ifndef Pythia8_SigmaNewGaugeBosons_H
      10             : #define Pythia8_SigmaNewGaugeBosons_H
      11             : 
      12             : #include "Pythia8/PythiaComplex.h"
      13             : #include "Pythia8/SigmaProcess.h"
      14             : 
      15             : namespace Pythia8 {
      16             : 
      17             : //==========================================================================
      18             : 
      19             : // An intermediate class for f fbar -> Z'/W' -> WW/WZ -> 4 fermions.
      20             : // Copied from SigmaEW for gauge-boson-pair production.
      21             : 
      22           0 : class Sigma1ffbarZprimeWprime: public Sigma1Process {
      23             : 
      24             : public:
      25             : 
      26             :   // Constructor.
      27           0 :   Sigma1ffbarZprimeWprime() {}
      28             : 
      29             : protected:
      30             : 
      31             :   // Internal products.
      32             :   Vec4    pRot[7];
      33             :   complex hA[7][7];
      34             :   complex hC[7][7];
      35             : 
      36             :   // Calculate and store internal products.
      37             :   void setupProd( Event& process, int i1, int i2, int i3, int i4,
      38             :     int i5, int i6);
      39             : 
      40             :   // Evaluate the F function of Gunion and Kunszt.
      41             :   complex fGK(int i1, int i2, int i3, int i4, int i5, int i6);
      42             : 
      43             :   // Evaluate the Xi function of Gunion and Kunszt.
      44             :   double xiGK( double tHnow, double uHnow, double s3now, double s4now);
      45             : 
      46             :   // Evaluate the Xj function of Gunion and Kunszt.
      47             :   double xjGK( double tHnow, double uHnow, double s3now, double s4now);
      48             : 
      49             : private:
      50             : 
      51             : };
      52             : 
      53             : //==========================================================================
      54             : 
      55             : // A derived class for f fbar -> gamma*/Z0/Z'0.
      56             : 
      57           0 : class Sigma1ffbar2gmZZprime : public Sigma1ffbarZprimeWprime {
      58             : 
      59             : public:
      60             : 
      61             :   // Constructor.
      62           0 :   Sigma1ffbar2gmZZprime() {}
      63             : 
      64             :   // Initialize process.
      65             :   virtual void initProc();
      66             : 
      67             :   // Calculate flavour-independent parts of cross section.
      68             :   virtual void sigmaKin();
      69             : 
      70             :   // Evaluate sigmaHat(sHat).
      71             :   virtual double sigmaHat();
      72             : 
      73             :   // Select flavour, colour and anticolour.
      74             :   virtual void setIdColAcol();
      75             : 
      76             :   // Evaluate weight for Z' decay angle.
      77             :   virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
      78             : 
      79             :   // Info on the subprocess.
      80           0 :   virtual string name()       const {return "f fbar -> gamma*/Z0/Zprime0";}
      81           0 :   virtual int    code()       const {return 3001;}
      82           0 :   virtual string inFlux()     const {return "ffbarSame";}
      83           0 :   virtual int    resonanceA() const {return 23;}
      84           0 :   virtual int    resonanceB() const {return 32;}
      85             : 
      86             : private:
      87             : 
      88             :   // Parameters set at initialization or for each new event.
      89             :   int    gmZmode, maxZpGen;
      90             :   double mRes, GammaRes, m2Res, GamMRat, sin2tW, cos2tW, thetaWRat,
      91             :          mZ, GammaZ, m2Z, GamMRatZ, afZp[20], vfZp[20], coupZpWW,
      92             :          anglesZpWW, gamSum, gamZSum, ZSum, gamZpSum, ZZpSum, ZpSum,
      93             :          gamNorm, gamZNorm, ZNorm, gamZpNorm, ZZpNorm, ZpNorm;
      94             : 
      95             :   // Pointer to properties of the particle species, to access decay channels.
      96             :   ParticleDataEntry* particlePtr;
      97             : 
      98             : };
      99             : 
     100             : //==========================================================================
     101             : 
     102             : // A derived class for f fbar' -> W'+-.
     103             : 
     104           0 : class Sigma1ffbar2Wprime : public Sigma1ffbarZprimeWprime {
     105             : 
     106             : public:
     107             : 
     108             :   // Constructor.
     109           0 :   Sigma1ffbar2Wprime() {}
     110             : 
     111             :   // Initialize process.
     112             :   virtual void initProc();
     113             : 
     114             :   // Calculate flavour-independent parts of cross section.
     115             :   virtual void sigmaKin();
     116             : 
     117             :   // Evaluate sigmaHat(sHat).
     118             :   virtual double sigmaHat();
     119             : 
     120             :   // Select flavour, colour and anticolour.
     121             :   virtual void setIdColAcol();
     122             : 
     123             :   // Evaluate weight for W decay angle.
     124             :   virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
     125             : 
     126             :   // Info on the subprocess.
     127           0 :   virtual string name()       const {return "f fbar' -> W'+-";}
     128           0 :   virtual int    code()       const {return 3021;}
     129           0 :   virtual string inFlux()     const {return "ffbarChg";}
     130           0 :   virtual int    resonanceA() const {return 34;}
     131             : 
     132             : private:
     133             : 
     134             :   // Parameters set at initialization.
     135             :   double mRes, GammaRes, m2Res, GamMRat, thetaWRat, sigma0Pos, sigma0Neg,
     136             :          aqWp, vqWp, alWp, vlWp, coupWpWZ, anglesWpWZ;
     137             : 
     138             :   // Pointer to properties of the particle species, to access decay channels.
     139             :   ParticleDataEntry* particlePtr;
     140             : 
     141             : };
     142             : //==========================================================================
     143             : 
     144             : // A derived class for f fbar' -> R^0 (horizontal gauge boson).
     145             : 
     146           0 : class Sigma1ffbar2Rhorizontal : public Sigma1Process {
     147             : 
     148             : public:
     149             : 
     150             :   // Constructor.
     151           0 :   Sigma1ffbar2Rhorizontal() {}
     152             : 
     153             :   // Initialize process.
     154             :   virtual void initProc();
     155             : 
     156             :   // Calculate flavour-independent parts of cross section.
     157             :   virtual void sigmaKin();
     158             : 
     159             :   // Evaluate sigmaHat(sHat).
     160             :   virtual double sigmaHat();
     161             : 
     162             :   // Select flavour, colour and anticolour.
     163             :   virtual void setIdColAcol();
     164             : 
     165             :   // Info on the subprocess.
     166           0 :   virtual string name()       const {return "f fbar' -> R^0";}
     167           0 :   virtual int    code()       const {return 3041;}
     168           0 :   virtual string inFlux()     const {return "ffbar";}
     169           0 :   virtual int    resonanceA() const {return 41;}
     170             : 
     171             : private:
     172             : 
     173             :   // Parameters set at initialization.
     174             :   double mRes, GammaRes, m2Res, GamMRat, thetaWRat, sigma0Pos, sigma0Neg;
     175             : 
     176             :   // Pointer to properties of the particle species, to access decay channels.
     177             :   ParticleDataEntry* particlePtr;
     178             : 
     179             : };
     180             : 
     181             : //==========================================================================
     182             : 
     183             : } // end namespace Pythia8
     184             : 
     185             : #endif // Pythia_SigmaNewGaugeBosons_H

Generated by: LCOV version 1.11