1
//==========================================================================
2
// This file has been automatically generated for Pythia 8
3
// MadGraph5_aMC@NLO v. %(version)s, %(date)s
4
// By the MadGraph5_aMC@NLO Development Team
5
// Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch
6
//==========================================================================
8
#ifndef Pythia8_Sigma_sm_gd_ddxd_H
9
#define Pythia8_Sigma_sm_gd_ddxd_H
13
#include "Pythia8/SigmaProcess.h"
14
#include "Parameters_sm.h"
20
//==========================================================================
21
// A class for calculating the matrix elements for
22
// Process: g d > z d WEIGHTED=3
23
// * Decay: z > d d~ WEIGHTED=2
24
// Process: g s > z s WEIGHTED=3
25
// * Decay: z > d d~ WEIGHTED=2
26
// Process: g d > z d WEIGHTED=3
27
// * Decay: z > u u~ WEIGHTED=2
28
// Process: g s > z s WEIGHTED=3
29
// * Decay: z > u u~ WEIGHTED=2
30
// Process: g d > z d WEIGHTED=3
31
// * Decay: z > s s~ WEIGHTED=2
32
// Process: g s > z s WEIGHTED=3
33
// * Decay: z > s s~ WEIGHTED=2
34
// Process: g u > z u WEIGHTED=3
35
// * Decay: z > d d~ WEIGHTED=2
36
// Process: g u > z u WEIGHTED=3
37
// * Decay: z > s s~ WEIGHTED=2
38
// Process: g u > z u WEIGHTED=3
39
// * Decay: z > u u~ WEIGHTED=2
40
// Process: g d~ > z d~ WEIGHTED=3
41
// * Decay: z > d d~ WEIGHTED=2
42
// Process: g s~ > z s~ WEIGHTED=3
43
// * Decay: z > d d~ WEIGHTED=2
44
// Process: g d~ > z d~ WEIGHTED=3
45
// * Decay: z > u u~ WEIGHTED=2
46
// Process: g s~ > z s~ WEIGHTED=3
47
// * Decay: z > u u~ WEIGHTED=2
48
// Process: g d~ > z d~ WEIGHTED=3
49
// * Decay: z > s s~ WEIGHTED=2
50
// Process: g s~ > z s~ WEIGHTED=3
51
// * Decay: z > s s~ WEIGHTED=2
52
// Process: g u~ > z u~ WEIGHTED=3
53
// * Decay: z > d d~ WEIGHTED=2
54
// Process: g u~ > z u~ WEIGHTED=3
55
// * Decay: z > s s~ WEIGHTED=2
56
// Process: g u~ > z u~ WEIGHTED=3
57
// * Decay: z > u u~ WEIGHTED=2
58
//--------------------------------------------------------------------------
60
class Sigma_sm_gd_ddxd : public Sigma3Process
67
// Initialize process.
68
virtual void initProc();
70
// Calculate flavour-independent parts of cross section.
71
virtual void sigmaKin();
73
// Evaluate sigmaHat(sHat).
74
virtual double sigmaHat();
76
// Select flavour, colour and anticolour.
77
virtual void setIdColAcol();
79
// Evaluate weight for decay angles.
80
virtual double weightDecay(Event& process, int iResBeg, int iResEnd);
82
// Info on the subprocess.
83
virtual string name() const {return "g d > d d~ d (sm)";}
85
virtual int code() const {return 10000;}
87
virtual string inFlux() const {return "qg";}
89
virtual int resonanceA() const {return 23;}
90
// Tell Pythia that sigmaHat returns the ME^2
91
virtual bool convertM2() const {return true;}
95
// Private functions to calculate the matrix element for all subprocesses
96
// Calculate wavefunctions
97
void calculate_wavefunctions(const int perm[], const int hel[]);
98
static const int nwavefuncs = 13;
99
std::complex<double> w[nwavefuncs][18];
100
static const int namplitudes = 18;
101
std::complex<double> amp[namplitudes];
102
double matrix_gd_zd_z_ddx();
103
double matrix_gd_zd_z_uux();
104
double matrix_gd_zd_z_ssx();
105
double matrix_gu_zu_z_ddx();
106
double matrix_gu_zu_z_uux();
107
double matrix_gdx_zdx_z_ddx();
108
double matrix_gdx_zdx_z_uux();
109
double matrix_gdx_zdx_z_ssx();
110
double matrix_gux_zux_z_ddx();
111
double matrix_gux_zux_z_uux();
113
// Constants for array limits
114
static const int nexternal = 5;
115
static const int nprocesses = 20;
117
// Store the matrix element value from sigmaKin
118
double matrix_element[nprocesses];
120
// Color flows, used when selecting color
121
double * jamp2[nprocesses];
123
// Pointer to the model parameters
124
Parameters_sm * pars;
128
} // end namespace Pythia8
130
#endif // Pythia8_Sigma_sm_gd_ddxd_H