using option '-treename HLTesdTree' for EsdCollector, adding default parameter for...
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8130 / include / SigmaSUSY.h
CommitLineData
5ad4eb21 1// SigmaSUSY.h is a part of the PYTHIA event generator.
2// Copyright (C) 2008 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 Supersymmetric process differential cross sections.
7// Contains classes derived from SigmaProcess via Sigma2Process.
8
9#ifndef Pythia8_SigmaSUSY_H
10#define Pythia8_SigmaSUSY_H
11
12#include "PythiaComplex.h"
13#include "SigmaProcess.h"
14
15namespace Pythia8 {
16
17//**************************************************************************
18
19// A derived class for q qbar -> gaugino_i gaugino_j.
20
21class Sigma2qqbar2gauginogaugino : public Sigma2Process {
22
23public:
24
25 // Constructor.
26 Sigma2qqbar2gauginogaugino() { }
27
28 // Initialize process.
29 virtual void initProc();
30
31 // Calculate flavour-independent parts of cross section.
32 virtual void sigmaKin();
33
34 // Evaluate d(sigmaHat)/d(tHat).
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 nameSave;}
42 virtual int code() const {return codeSave;}
43 virtual string inFlux() const {return "qq";}
44 virtual int id3Mass() const {return id3;}
45 virtual int id4Mass() const {return id4;}
46
47 protected:
48
49 // Values stored for later use.
50 int id3chi, id4chi, codeSave;
51 string nameSave;
52 double sigma0, ui, uj, ti, tj, sz, d;
53 complex propZ;
54
55 // Couplings.
56 // Shorthand for sin2thetaW, mZ, and GammaZ.
57 double sin2W, mZpole, wZpole;
58 // qqZ couplings.
59 double LqqZ[10], RqqZ[10];
60 // qsqchi_i couplings.
61 complex LsqXi[10][10], RsqXi[10][10];
62 complex LsqCi[10][10], RsqCi[10][10];
63 // qsqchi_j couplings.
64 complex LsqXj[10][10], RsqXj[10][10];
65 complex LsqCj[10][10], RsqCj[10][10];
66 // W/Z chi chi couplings
67 complex OL, OR, OLp, ORp, OLpp, ORpp;
68
69 // Code to say whether it is chi0chi0, chi+chi0, or chi+chi+
70 int nCharged;
71
72};
73
74class Sigma2qqbar2chi0chi0 : public Sigma2qqbar2gauginogaugino {
75
76public:
77
78 // Constructor.
79 Sigma2qqbar2chi0chi0(int id3chiIn, int id4chiIn, int codeIn) {
80
81 // Save ordering indices and process code
82 id3chi=id3chiIn;
83 id4chi=id4chiIn;
84 codeSave=codeIn;
85
86 // Construct id codes from ordering indices.
87 id3 = 1000022;
88 if (id3chi == 2) id3 = 1000023;
89 if (id3chi == 3) id3 = 1000025;
90 if (id3chi == 4) id3 = 1000035;
91 if (id3chi == 5) id3 = 1000045;
92 id4 = 1000022;
93 if (id4chi == 2) id4 = 1000023;
94 if (id4chi == 3) id4 = 1000025;
95 if (id4chi == 4) id4 = 1000035;
96 if (id4chi == 5) id4 = 1000045;
97
98 }
99
100};
101
102// A derived class for q qbar -> neutralino_i chargino_j.
103
104class Sigma2qqbar2chi0char : public Sigma2qqbar2gauginogaugino {
105
106public:
107
108 // Constructor.
109 Sigma2qqbar2chi0char(int id3chiIn, int id4chiIn, int codeIn) {
110
111 // Save ordering indices and process code
112 id3chi=id3chiIn;
113 id4chi=id4chiIn;
114 codeSave=codeIn;
115
116 // Construct id codes from ordering indices.
117 id3 = 1000022;
118 if (id3chi == 2) id3 = 1000023;
119 if (id3chi == 3) id3 = 1000025;
120 if (id3chi == 4) id3 = 1000035;
121 if (id3chi == 5) id3 = 1000045;
122 id4 = 1000024;
123 if (id4chi == 2) id4 = 1000037;
124
125 }
126
127 // Evaluate d(sigmaHat)/d(tHat).
128 virtual double sigmaHat();
129
130};
131
132// A derived class for q qbar -> chargino_i chargino_j.
133
134class Sigma2qqbar2charchar : public Sigma2qqbar2gauginogaugino {
135
136public:
137
138 // Constructor.
139 Sigma2qqbar2charchar(int id3chiIn, int id4chiIn, int codeIn) {
140
141 // Save ordering indices and process code
142 id3chi=id3chiIn;
143 id4chi=id4chiIn;
144 codeSave=codeIn;
145
146 // Construct id codes from ordering indices.
147 id3 = -1000024;
148 if (id3chi == 2) id3 = -1000037;
149 id4 = 1000024;
150 if (id4chi == 2) id4 = 1000037;
151
152 }
153
154 // Evaluate d(sigmaHat)/d(tHat).
155 virtual double sigmaHat();
156
157};
158
159//**************************************************************************
160
161} // end namespace Pythia8
162
163#endif // Pythia8_SigmaSUSY_H
164