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

          Line data    Source code
       1             : // SigmaGeneric.h is a part of the PYTHIA event generator.
       2             : // Copyright (C) 2015 Johan Bijnens,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 various generic production processes, to be used as
       7             : // building blocks for some BSM processes.
       8             : // Currently represented by QCD pair production of colour triplet objects,
       9             : // with spin either 0, 1/2 or 1.
      10             : 
      11             : #ifndef Pythia8_SigmaGeneric_H
      12             : #define Pythia8_SigmaGeneric_H
      13             : 
      14             : #include "Pythia8/SigmaProcess.h"
      15             : 
      16             : namespace Pythia8 {
      17             : 
      18             : //==========================================================================
      19             : 
      20             : // A derived class for g g -> qG qGbar (generic quark of spin 0, 1/2 or 1).
      21             : 
      22           0 : class Sigma2gg2qGqGbar : public Sigma2Process {
      23             : 
      24             : public:
      25             : 
      26             :   // Constructor.
      27           0 :   Sigma2gg2qGqGbar(int idIn, int codeIn, int spinIn,
      28           0 :     string nameIn = "g g -> qG qGbar") : idNew(idIn), codeSave(codeIn),
      29           0 :     spinSave(spinIn), nameSave(nameIn) {}
      30             : 
      31             :   // Initialize process.
      32             :   virtual void initProc();
      33             : 
      34             :   // Calculate flavour-independent parts of cross section.
      35             :   virtual void sigmaKin();
      36             : 
      37             :   // Evaluate sigmaHat(sHat).
      38           0 :   virtual double sigmaHat() {return sigma;}
      39             : 
      40             :   // Select flavour, colour and anticolour.
      41             :   virtual void setIdColAcol();
      42             : 
      43             :   // Info on the subprocess.
      44           0 :   virtual string name()    const {return nameSave;}
      45           0 :   virtual int    code()    const {return codeSave;}
      46           0 :   virtual string inFlux()  const {return "gg";}
      47           0 :   virtual int    id3Mass() const {return idNew;}
      48           0 :   virtual int    id4Mass() const {return idNew;}
      49             : 
      50             : private:
      51             : 
      52             :   // Values stored for process type and colour flow selection.
      53             :   int    idNew, codeSave, spinSave, nCHV;
      54             :   string nameSave;
      55             :   bool   hasKappa;
      56             :   double openFracPair, sigma, sigTS, sigUS, sigSum, kappam1;
      57             : 
      58             : };
      59             : 
      60             : //==========================================================================
      61             : 
      62             : // A derived class for q qbar -> qG qGbar (generic quark of spin 0, 1/2 or 1).
      63             : 
      64           0 : class Sigma2qqbar2qGqGbar : public Sigma2Process {
      65             : 
      66             : public:
      67             : 
      68             :   // Constructor.
      69           0 :   Sigma2qqbar2qGqGbar(int idIn, int codeIn, int spinIn,
      70           0 :     string nameIn = "q qbar -> qG qGbar") : idNew(idIn), codeSave(codeIn),
      71           0 :     spinSave(spinIn), nameSave(nameIn) {}
      72             : 
      73             :   // Initialize process.
      74             :   virtual void initProc();
      75             : 
      76             :   // Calculate flavour-independent parts of cross section.
      77             :   virtual void sigmaKin();
      78             : 
      79             :   // Evaluate sigmaHat(sHat).
      80           0 :   virtual double sigmaHat() {return sigma;}
      81             : 
      82             :   // Select flavour, colour and anticolour.
      83             :   virtual void setIdColAcol();
      84             : 
      85             :   // Info on the subprocess.
      86           0 :   virtual string name()    const {return nameSave;}
      87           0 :   virtual int    code()    const {return codeSave;}
      88           0 :   virtual string inFlux()  const {return "qqbarSame";}
      89           0 :   virtual int    id3Mass() const {return idNew;}
      90           0 :   virtual int    id4Mass() const {return idNew;}
      91             : 
      92             : private:
      93             : 
      94             :   // Values stored for process type and colour flow selection.
      95             :   int    idNew, codeSave, spinSave, nCHV;
      96             :   string nameSave;
      97             :   double openFracPair, sigma, sigSum, kappa;
      98             : 
      99             : };
     100             : 
     101             : //==========================================================================
     102             : 
     103             : // A derived class for f fbar -> fG fGbar (generic spin 0, 1/2 or 1 particle)
     104             : // via gamma^*/Z^* s-channel exchange. Still under development!! ??
     105             : 
     106           0 : class Sigma2ffbar2fGfGbar : public Sigma2Process {
     107             : 
     108             : public:
     109             : 
     110             :   // Constructor.
     111           0 :   Sigma2ffbar2fGfGbar(int idIn, int codeIn, int spinIn,
     112           0 :     string nameIn = "q qbar -> qG qGbar") : idNew(idIn), codeSave(codeIn),
     113           0 :     spinSave(spinIn), nameSave(nameIn) {}
     114             : 
     115             :   // Initialize process.
     116             :   virtual void initProc();
     117             : 
     118             :   // Calculate flavour-independent parts of cross section.
     119             :   virtual void sigmaKin();
     120             : 
     121             :   // Evaluate sigmaHat(sHat).
     122             :   virtual double sigmaHat();
     123             : 
     124             :   // Select flavour, colour and anticolour.
     125             :   virtual void setIdColAcol();
     126             : 
     127             :   // Info on the subprocess.
     128           0 :   virtual string name()    const {return nameSave;}
     129           0 :   virtual int    code()    const {return codeSave;}
     130           0 :   virtual string inFlux()  const {return "ffbarSame";}
     131           0 :   virtual int    id3Mass() const {return idNew;}
     132           0 :   virtual int    id4Mass() const {return idNew;}
     133             : 
     134             : private:
     135             : 
     136             :   // Values stored for process type and colour flow selection.
     137             :   int    idNew, codeSave, spinSave, nCHV;
     138             :   string nameSave;
     139             :   bool   hasColour;
     140             :   double eQHV2, openFracPair, sigma0, sigSum, kappa, colFac;
     141             : 
     142             : };
     143             : 
     144             : //==========================================================================
     145             : 
     146             : // A derived class for f fbar -> Zv, where Zv couples both to the SM and
     147             : // to a hidden sector. Primitive coupling structure.
     148             : 
     149           0 : class Sigma1ffbar2Zv : public Sigma1Process {
     150             : 
     151             : public:
     152             : 
     153             :   // Constructor.
     154           0 :   Sigma1ffbar2Zv() {}
     155             : 
     156             :   // Initialize process.
     157             :   virtual void initProc();
     158             : 
     159             :   // Calculate flavour-independent parts of cross section.
     160             :   virtual void sigmaKin();
     161             : 
     162             :   // Evaluate sigmaHat(sHat) for given inflavours.
     163             :   virtual double sigmaHat();
     164             : 
     165             :   // Select flavour, colour and anticolour.
     166             :   virtual void setIdColAcol();
     167             : 
     168             :   // Evaluate weight for decay angles.
     169             :   virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
     170             : 
     171             :   // Info on the subprocess.
     172           0 :   virtual string name()       const {return "f fbar -> Zv";}
     173           0 :   virtual int    code()       const {return 4941;}
     174           0 :   virtual string inFlux()     const {return "ffbarSame";}
     175           0 :   virtual int    resonanceA() const {return 4900023;}
     176             : 
     177             : private:
     178             : 
     179             :   // Store flavour-specific process information and standard prefactor.
     180             :   int    idZv;
     181             :   double mRes, GammaRes, m2Res, GamMRat, sigOut;
     182             : 
     183             :   // Pointer to properties of Zv, to access decay width.
     184             :   ParticleDataEntry* particlePtr;
     185             : 
     186             : };
     187             : 
     188             : //==========================================================================
     189             : 
     190             : } // end namespace Pythia8
     191             : 
     192             : #endif // Pythia8_SigmaGeneric_H

Generated by: LCOV version 1.11