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

          Line data    Source code
       1             : // SigmaCompositeness.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 compositiness-process differential cross sections.
       7             : // Contains classes derived from SigmaProcess via Sigma(1/2)Process.
       8             : 
       9             : #ifndef Pythia8_SigmaCompositeness_H
      10             : #define Pythia8_SigmaCompositeness_H
      11             : 
      12             : #include "Pythia8/SigmaProcess.h"
      13             : 
      14             : namespace Pythia8 {
      15             : 
      16             : //==========================================================================
      17             : 
      18             : // A derived class for q g -> q^* (excited quark state).
      19             : 
      20           0 : class Sigma1qg2qStar : public Sigma1Process {
      21             : 
      22             : public:
      23             : 
      24             :   // Constructor.
      25           0 :   Sigma1qg2qStar(int idqIn) : idq(idqIn) {}
      26             : 
      27             :   // Initialize process.
      28             :   virtual void initProc();
      29             : 
      30             :   // Calculate flavour-independent parts of cross section.
      31             :   virtual void sigmaKin();
      32             : 
      33             :   // Evaluate sigmaHat(sHat).
      34             :   virtual double sigmaHat();
      35             : 
      36             :   // Select flavour, colour and anticolour.
      37             :   virtual void setIdColAcol();
      38             : 
      39             :   // Evaluate weight for q* decay angles (else inactive).
      40             :   virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
      41             : 
      42             :   // Info on the subprocess.
      43           0 :   virtual string name()       const {return nameSave;}
      44           0 :   virtual int    code()       const {return codeSave;}
      45           0 :   virtual string inFlux()     const {return "qg";}
      46           0 :   virtual int    resonanceA() const {return idRes;}
      47             : 
      48             : private:
      49             : 
      50             :   // Parameters set at initialization or for current kinematics.
      51             :   int    idq, idRes, codeSave;
      52             :   string nameSave;
      53             :   double mRes, GammaRes, m2Res, GamMRat, Lambda, coupFcol, widthIn, sigBW;
      54             : 
      55             :   // Pointer to properties of the particle species, to access decay channels.
      56             :   ParticleDataEntry* qStarPtr;
      57             : 
      58             : };
      59             : 
      60             : //==========================================================================
      61             : 
      62             : // A derived class for l gamma -> l^* (excited lepton state).
      63             : 
      64           0 : class Sigma1lgm2lStar : public Sigma1Process {
      65             : 
      66             : public:
      67             : 
      68             :   // Constructor.
      69           0 :   Sigma1lgm2lStar(int idlIn) : idl(idlIn) {}
      70             : 
      71             :   // Initialize process.
      72             :   virtual void initProc();
      73             : 
      74             :   // Calculate flavour-independent parts of cross section.
      75             :   virtual void sigmaKin();
      76             : 
      77             :   // Evaluate sigmaHat(sHat).
      78             :   virtual double sigmaHat();
      79             : 
      80             :   // Select flavour, colour and anticolour.
      81             :   virtual void setIdColAcol();
      82             : 
      83             :   // Evaluate weight for l* decay angles (else inactive).
      84             :   virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
      85             : 
      86             :   // Info on the subprocess.
      87           0 :   virtual string name()       const {return nameSave;}
      88           0 :   virtual int    code()       const {return codeSave;}
      89           0 :   virtual string inFlux()     const {return "fgm";}
      90           0 :   virtual int    resonanceA() const {return idRes;}
      91             : 
      92             : private:
      93             : 
      94             :   // Parameters set at initialization or for current kinematics.
      95             :   int    idl, idRes, codeSave;
      96             :   string nameSave;
      97             :   double mRes, GammaRes, m2Res, GamMRat, Lambda, coupChg, widthIn, sigBW;
      98             : 
      99             :   // Pointer to properties of the particle species, to access decay channels.
     100             :   ParticleDataEntry* qStarPtr;
     101             : 
     102             : };
     103             : 
     104             : //==========================================================================
     105             : 
     106             : // A derived class for q q' -> q^* q' (excited quark state).
     107             : 
     108           0 : class Sigma2qq2qStarq : public Sigma2Process {
     109             : 
     110             : public:
     111             : 
     112             :   // Constructor.
     113           0 :   Sigma2qq2qStarq(int idqIn) : idq(idqIn) {}
     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             :   // Evaluate weight for q* decay angles (else inactive).
     128             :   virtual double weightDecay(Event& process, int iResBeg, int iResEnd);
     129             : 
     130             :   // Info on the subprocess.
     131           0 :   virtual string name()       const {return nameSave;}
     132           0 :   virtual int    code()       const {return codeSave;}
     133           0 :   virtual string inFlux()     const {return "qq";}
     134           0 :   virtual int    id3Mass()    const {return idRes;}
     135             : 
     136             : private:
     137             : 
     138             :   // Parameters set at initialization or for current kinematics.
     139             :   int    idq, idRes, codeSave;
     140             :   string nameSave;
     141             :   double Lambda, preFac, openFracPos, openFracNeg, sigmaA, sigmaB;
     142             : 
     143             : };
     144             : 
     145             : //==========================================================================
     146             : 
     147             : // A derived class for q qbar -> l^* lbar (excited lepton state).
     148             : 
     149           0 : class Sigma2qqbar2lStarlbar : public Sigma2Process {
     150             : 
     151             : public:
     152             : 
     153             :   // Constructor.
     154           0 :   Sigma2qqbar2lStarlbar(int idlIn) : idl(idlIn) {}
     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).
     163           0 :   virtual double sigmaHat() {return sigma;}
     164             : 
     165             :   // Select flavour, colour and anticolour.
     166             :   virtual void setIdColAcol();
     167             : 
     168             :   // Evaluate weight for l* decay angles (else inactive).
     169             :   virtual double weightDecay(Event& process, int iResBeg, int iResEnd);
     170             : 
     171             :   // Info on the subprocess.
     172           0 :   virtual string name()       const {return nameSave;}
     173           0 :   virtual int    code()       const {return codeSave;}
     174           0 :   virtual string inFlux()     const {return "qqbarSame";}
     175           0 :   virtual int    id3Mass()    const {return idRes;}
     176             : 
     177             : private:
     178             : 
     179             :   // Parameters set at initialization or for current kinematics.
     180             :   int    idl, idRes, codeSave;
     181             :   string nameSave;
     182             :   double Lambda, preFac, openFracPos, openFracNeg, sigma;
     183             : 
     184             : };
     185             : 
     186             : //==========================================================================
     187             : 
     188             : // A derived class for q qbar -> lStar lStarBar.
     189             : // Code contributed by Olga Igonkina.
     190             : 
     191           0 : class Sigma2qqbar2lStarlStarBar: public Sigma2Process {
     192             : 
     193             : public:
     194             : 
     195             :   // Constructor.
     196           0 :   Sigma2qqbar2lStarlStarBar(int idlIn) : idl(idlIn) {}
     197             : 
     198             :   // Initialize process.
     199             :   void initProc();
     200             : 
     201             :   // Calculate flavour-independent parts of cross section.
     202             :   void sigmaKin();
     203             : 
     204             :   // Evaluate sigmaHat(sHat).
     205           0 :   virtual double sigmaHat() {return sigma;}
     206             : 
     207             :   // Select flavour, colour and anticolour.
     208             :   void setIdColAcol();
     209             : 
     210             :   // Evaluate weight for l* decay angles (else inactive).
     211             :   virtual double weightDecay(Event& process, int iResBeg, int iResEnd);
     212             : 
     213             :   // Info on the subprocess.
     214           0 :   virtual string name()       const {return nameSave;}
     215           0 :   virtual int    code()       const {return codeSave;}
     216           0 :   virtual string inFlux()     const {return "qqbarSame";}
     217           0 :   virtual int    id3Mass()    const {return idRes;}
     218           0 :   virtual int    id4Mass()    const {return idRes;}
     219             : 
     220             : private:
     221             : 
     222             :   // Parameters set at initialization or for current kinematics.
     223             :   int    idl, idRes, codeSave;
     224             :   string nameSave;
     225             :   double Lambda, preFac, openFracPos, openFracNeg, sigma;
     226             : 
     227             : };
     228             : 
     229             : //==========================================================================
     230             : 
     231             : // A derived class for q q -> q q (quark contact interactions).
     232             : // Based on, Sigma2qq2qq (QCD).
     233             : 
     234           0 : class Sigma2QCqq2qq : public Sigma2Process {
     235             : 
     236             : public:
     237             : 
     238             :   // Constructor.
     239           0 :   Sigma2QCqq2qq(){}
     240             : 
     241             :   // Initialize process.
     242             :   virtual void initProc();
     243             : 
     244             :   // Calculate flavour-independent parts of cross section.
     245             :   virtual void sigmaKin();
     246             : 
     247             :   // Evaluate d(sigmaHat)/d(tHat).
     248             :   virtual double sigmaHat();
     249             : 
     250             :   // Select flavour, colour and anticolour.
     251             :   virtual void setIdColAcol();
     252             : 
     253             :   // Info on the subprocess.
     254           0 :   virtual string name()   const {return "q q(bar)' -> (QC) -> q q(bar)'";}
     255           0 :   virtual int    code()   const {return 4201;}
     256           0 :   virtual string inFlux() const {return "qq";}
     257             : 
     258             :  private:
     259             : 
     260             :   // Values stored for colour flow selection.
     261             :   double sigT, sigU, sigTU, sigST, sigSum, sigQCSTU, sigQCUTS;
     262             : 
     263             :   // Compositeness parameters.
     264             :   double qCLambda2;
     265             :   int    qCetaLL, qCetaRR, qCetaLR;
     266             : 
     267             : };
     268             : 
     269             : //==========================================================================
     270             : 
     271             : // A derived class for q qbar -> q' qbar' (quark contact interactions).
     272             : // Based on, Sigma2qqbar2qqbarNew(QCD).
     273             : // Note: This process give the same contributions for q == q' and q != q'.
     274             : 
     275           0 : class Sigma2QCqqbar2qqbar : public Sigma2Process {
     276             : 
     277             : public:
     278             : 
     279             :   // Constructor.
     280           0 :   Sigma2QCqqbar2qqbar(){}
     281             : 
     282             :   // Initialize process.
     283             :   virtual void initProc();
     284             : 
     285             :   // Calculate flavour-independent parts of cross section.
     286             :   virtual void sigmaKin();
     287             : 
     288             :   // Evaluate d(sigmaHat)/d(tHat).
     289           0 :   virtual double sigmaHat() {return sigma;}
     290             : 
     291             :   // Select flavour, colour and anticolour.
     292             :   virtual void setIdColAcol();
     293             : 
     294             :   // Info on the subprocess.
     295           0 :   virtual string name()   const {return "q qbar -> (QC) -> q' qbar' (uds)";}
     296           0 :   virtual int    code()   const {return 4202;}
     297           0 :   virtual string inFlux() const {return "qqbarSame";}
     298             : 
     299             :  private:
     300             : 
     301             :   // Number of outgoing quark flavours to be considered, given that
     302             :   // matrix elements are calculated in the massless approximation.
     303             :   int    qCnQuarkNew;
     304             : 
     305             :   // Values stored for colour flow selection.
     306             :   int    idNew;
     307             :   double mNew, m2New, sigS, sigma;
     308             : 
     309             :   // Compositeness parameters.
     310             :   double qCLambda2;
     311             :   int    qCetaLL, qCetaRR, qCetaLR;
     312             : 
     313             : };
     314             : 
     315             : //==========================================================================
     316             : 
     317             : // A derived class for f fbar -> l lbar
     318             : // (contact interactions).
     319             : // Does not include t-channel contributions relevant for e^+e^- to e^+e^-
     320             : 
     321           0 : class Sigma2QCffbar2llbar : public Sigma2Process {
     322             : 
     323             : public:
     324             : 
     325             :   // Constructor: bool Graviton  = true, to use LED graviton settings.
     326           0 :   Sigma2QCffbar2llbar (int idIn, int codeIn) : idNew(idIn), codeNew(codeIn) {}
     327             : 
     328             :   // Initialize process.
     329             :   virtual void initProc();
     330             : 
     331             :   // Calculate flavour-independent parts of cross section;
     332             :   // first step when inflavours unknown.
     333             :   virtual void sigmaKin();
     334             : 
     335             :   // Evaluate sigmaHat(sHat); second step for given inflavours.
     336             :   virtual double sigmaHat();
     337             : 
     338             :   // Select flavour, colour and anticolour.
     339             :   virtual void setIdColAcol();
     340             : 
     341             :   // Info on the subprocess.
     342           0 :   virtual string name()       const {return nameNew;}
     343           0 :   virtual int    code()       const {return codeNew;}
     344           0 :   virtual string inFlux()     const {return "ffbarSame";}
     345           0 :   virtual bool   isSChannel() const {return true;}
     346             : 
     347             : private:
     348             : 
     349             :   // Process values.
     350             :   string nameNew;
     351             :   int    idNew, codeNew;
     352             :   double qCmNew, qCmNew2, qCmZ, qCmZ2, qCGZ, qCGZ2, sigma0;
     353             : 
     354             :   // Compositeness parameters.
     355             :   double qCLambda2;
     356             :   int    qCetaLL, qCetaRR, qCetaLR;
     357             :   double qCPropGm, qCrePropZ, qCimPropZ;
     358             : 
     359             : };
     360             : 
     361             : //==========================================================================
     362             : 
     363             : } // end namespace Pythia8
     364             : 
     365             : #endif // Pythia8_SigmaCompositeness_H

Generated by: LCOV version 1.11