StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
SimpleWeakShowerMEs.h
1 // SimpleWeakShowerMEs.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2020 Torbjorn Sjostrand.
3 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
4 // Please respect the MCnet Guidelines, see GUIDELINES for details.
5 
6 // Header file for the class containg matrix elements needed for
7 // W/Z emission corrections in both the initial and final state shower.
8 // SimpleWeakShowerMEs: contains the matrix elements.
9 
10 #ifndef Pythia8_SimpleWeakShowerMEs_H
11 #define Pythia8_SimpleWeakShowerMEs_H
12 
13 #include "Pythia8/Basics.h"
14 
15 namespace Pythia8 {
16 
17 //==========================================================================
18 
19 // The SimpleWeakShowerMEs provides ME's needed for W/Z emission in ISR or FSR.
20 // The 2 -> 2 MEs contain the correct kinematics, but for some of
21 // the 2 -> 3 MEs some couplings have been switched off.
22 // This class is used for ME corrections in the weak shower and for merging
23 // whenever weak reclusterings are allowed.
24 // Also be aware that no phase-space factors are included.
25 
27 
28 public:
29 
30  // Constructor.
32 
33  // Calculate the 2 to 2 ME qg -> qg, up to a known overall factor.
34  double getMEqg2qg(double sH, double tH, double uH);
35 
36  // Calculate the 2 to 2 ME qq -> qq, up to a known overall factor.
37  double getMEqq2qq(double sH, double tH, double uH, bool sameID);
38 
39  // Calculate the 2 to 2 ME gg -> gg, up to a known overall factor.
40  double getMEgg2gg(double sH, double tH, double uH);
41 
42  // Calculate the 2 to 2 ME gg -> qqbar, up to a known overall factor.
43  double getMEgg2qqbar(double sH, double tH, double uH);
44 
45  // Calculate the 2 to 2 ME qqbar -> gg, up to a known overall factor.
46  double getMEqqbar2gg(double sH, double tH, double uH);
47 
48  // Calculate the 2 to 2 ME qqbar -> qqbar, up to a known overall factor.
49  double getMEqqbar2qqbar(double sH, double tH, double uH, bool sameID);
50 
51  // Calculate the 2 to 3 ME uG -> uGZ, up to a known overall factor.
52  double getMEqg2qgZ(Vec4 p1,Vec4 p2,Vec4 p3,Vec4 p4,Vec4 p5);
53 
54  // Calculate the 2 to 3 ME ud -> udZ, up to a known overall factor,
55  // and with the coupling between Z and d set to zero.
56  double getMEqq2qqZ(Vec4 p1,Vec4 p2,Vec4 p3,Vec4 p4,Vec4 p5);
57 
58 };
59 
60 //==========================================================================
61 
62 } // end namespace Pythia8
63 
64 #endif // Pythia8_SimpleWeakShowerMEs_H