~madteam/mg5amcnlo/series2.0

« back to all changes in this revision

Viewing changes to tests/input_files/IOTestsComparison/IOExportPythia8Test/write_dec_multiprocess_files/write_dec_multiprocess_files.h

  • Committer: olivier Mattelaer
  • Date: 2015-03-05 00:14:16 UTC
  • mfrom: (258.1.9 2.3)
  • mto: (258.8.1 2.3)
  • mto: This revision was merged to the branch mainline in revision 259.
  • Revision ID: olivier.mattelaer@uclouvain.be-20150305001416-y9mzeykfzwnl9t0j
partial merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
//==========================================================================
 
7
 
 
8
#ifndef Pythia8_Sigma_sm_gd_ddxd_H
 
9
#define Pythia8_Sigma_sm_gd_ddxd_H
 
10
 
 
11
#include <complex> 
 
12
 
 
13
#include "Pythia8/SigmaProcess.h"
 
14
#include "Parameters_sm.h"
 
15
 
 
16
using namespace std; 
 
17
 
 
18
namespace Pythia8 
 
19
{
 
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
//--------------------------------------------------------------------------
 
59
 
 
60
class Sigma_sm_gd_ddxd : public Sigma3Process 
 
61
{
 
62
  public:
 
63
 
 
64
    // Constructor.
 
65
    Sigma_sm_gd_ddxd() {}
 
66
 
 
67
    // Initialize process.
 
68
    virtual void initProc(); 
 
69
 
 
70
    // Calculate flavour-independent parts of cross section.
 
71
    virtual void sigmaKin(); 
 
72
 
 
73
    // Evaluate sigmaHat(sHat).
 
74
    virtual double sigmaHat(); 
 
75
 
 
76
    // Select flavour, colour and anticolour.
 
77
    virtual void setIdColAcol(); 
 
78
 
 
79
    // Evaluate weight for decay angles.
 
80
    virtual double weightDecay(Event& process, int iResBeg, int iResEnd); 
 
81
 
 
82
    // Info on the subprocess.
 
83
    virtual string name() const {return "g d > d d~ d (sm)";}
 
84
 
 
85
    virtual int code() const {return 10000;}
 
86
 
 
87
    virtual string inFlux() const {return "qg";}
 
88
 
 
89
    virtual int resonanceA() const {return 23;}
 
90
    // Tell Pythia that sigmaHat returns the ME^2
 
91
    virtual bool convertM2() const {return true;}
 
92
 
 
93
  private:
 
94
 
 
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(); 
 
112
 
 
113
    // Constants for array limits
 
114
    static const int nexternal = 5; 
 
115
    static const int nprocesses = 20; 
 
116
 
 
117
    // Store the matrix element value from sigmaKin
 
118
    double matrix_element[nprocesses]; 
 
119
 
 
120
    // Color flows, used when selecting color
 
121
    double * jamp2[nprocesses]; 
 
122
 
 
123
    // Pointer to the model parameters
 
124
    Parameters_sm * pars; 
 
125
 
 
126
}; 
 
127
 
 
128
}  // end namespace Pythia8
 
129
 
 
130
#endif  // Pythia8_Sigma_sm_gd_ddxd_H
 
131