source: HiSusy/trunk/Pythia8/pythia8170/include/SigmaLeptoquark.h @ 1

Last change on this file since 1 was 1, checked in by zerwas, 11 years ago

first import of structure, PYTHIA8 and DELPHES

File size: 4.6 KB
Line 
1// SigmaLeptoquark.h is a part of the PYTHIA event generator.
2// Copyright (C) 2012 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 leptoquark-process differential cross sections.
7// Contains classes derived from SigmaProcess via Sigma(1/2)Process.
8// Note: since leptoquark assumed scalar no need for decay-angles routines.
9
10#ifndef Pythia8_SigmaLeptoquark_H
11#define Pythia8_SigmaLeptoquark_H
12
13#include "SigmaProcess.h"
14
15namespace Pythia8 {
16 
17//==========================================================================
18
19// A derived class for q l -> LQ (leptoquark).
20
21class Sigma1ql2LeptoQuark : public Sigma1Process {
22
23public:
24
25  // Constructor.
26  Sigma1ql2LeptoQuark() {}
27
28  // Initialize process.
29  virtual void initProc(); 
30
31  // Calculate flavour-independent parts of cross section.
32  virtual void sigmaKin();
33
34  // Evaluate sigmaHat(sHat).
35  virtual double sigmaHat();
36
37  // Select flavour, colour and anticolour.
38  virtual void setIdColAcol();
39
40  // Info on the subprocess.
41  virtual string name()       const {return "q l -> LQ (leptoquark)";}
42  virtual int    code()       const {return 3201;}
43  virtual string inFlux()     const {return "ff";}
44  virtual int    resonanceA() const {return 42;}
45
46private:
47
48  // Parameters set at initialization or for current kinematics.
49  int    idQuark, idLepton;
50  double mRes, GammaRes, m2Res, GamMRat, kCoup, widthIn, sigBW;
51
52  // Pointer to properties of the particle species, to access decay channel.
53  ParticleDataEntry* LQPtr;
54
55};
56 
57//==========================================================================
58
59// A derived class for q g -> LQ l (leptoquark).
60
61class Sigma2qg2LeptoQuarkl : public Sigma2Process {
62
63public:
64
65  // Constructor.
66  Sigma2qg2LeptoQuarkl() {}
67
68  // Initialize process.
69  virtual void initProc(); 
70
71  // Calculate flavour-independent parts of cross section.
72  virtual void sigmaKin();
73
74  // Evaluate sigmaHat(sHat).
75  virtual double sigmaHat();
76
77  // Select flavour, colour and anticolour.
78  virtual void setIdColAcol();
79
80  // Info on the subprocess.
81  virtual string name()    const {return "q g -> LQ l (leptoquark)";}
82  virtual int    code()    const {return 3202;}
83  virtual string inFlux()  const {return "qg";}
84  virtual int    id3Mass() const {return 42;}
85
86private:
87
88  // Parameters set at initialization or for current kinematics.
89  int    idQuark, idLepton;
90  double mRes, GammaRes, m2Res, GamMRat, kCoup, openFracPos, openFracNeg,
91         sigma0;
92
93};
94 
95//==========================================================================
96
97// A derived class for g g -> LQ LQbar (leptoquark).
98
99class Sigma2gg2LQLQbar : public Sigma2Process {
100
101public:
102
103  // Constructor.
104  Sigma2gg2LQLQbar() {}
105
106  // Initialize process.
107  virtual void initProc(); 
108
109  // Calculate flavour-independent parts of cross section.
110  virtual void sigmaKin();
111
112  // Evaluate sigmaHat(sHat).
113  virtual double sigmaHat() {return sigma;}
114
115  // Select flavour, colour and anticolour.
116  virtual void setIdColAcol();
117
118  // Info on the subprocess.
119  virtual string name()    const {return "g g -> LQ LQbar (leptoquark)";}
120  virtual int    code()    const {return 3203;}
121  virtual string inFlux()  const {return "gg";}
122  virtual int    id3Mass() const {return 42;}
123  virtual int    id4Mass() const {return 42;}
124
125private:
126
127  // Parameters set at initialization or for current kinematics.
128  double mRes, GammaRes, m2Res, GamMRat, openFrac, sigma;
129
130};
131 
132//==========================================================================
133
134// A derived class for q qbar -> LQ LQbar (leptoquark).
135
136class Sigma2qqbar2LQLQbar : public Sigma2Process {
137
138public:
139
140  // Constructor.
141  Sigma2qqbar2LQLQbar() {}
142
143  // Initialize process.
144  virtual void initProc(); 
145
146  // Calculate flavour-independent parts of cross section.
147  virtual void sigmaKin();
148
149  // Evaluate sigmaHat(sHat).
150  virtual double sigmaHat() {
151    return (abs(id1) == idQuark) ? sigmaSame : sigmaDiff;}
152
153  // Select flavour, colour and anticolour.
154  virtual void setIdColAcol();
155
156  // Info on the subprocess.
157  virtual string name()    const {return "q qbar -> LQ LQbar (leptoquark)";}
158  virtual int    code()    const {return 3204;}
159  virtual string inFlux()  const {return "qqbarSame";}
160  virtual int    id3Mass() const {return 42;}
161  virtual int    id4Mass() const {return 42;}
162
163private:
164
165  // Parameters set at initialization or for current kinematics.
166  int    idQuark;
167  double mRes, GammaRes, m2Res, GamMRat, kCoup, openFrac, sigmaDiff, 
168         sigmaSame;
169
170};
171 
172//==========================================================================
173
174} // end namespace Pythia8
175
176#endif // Pythia8_SigmaLeptoquark_H
Note: See TracBrowser for help on using the repository browser.