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