Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:06:31

0001 // SimpleWeakShowerMEs.h is a part of the PYTHIA event generator.
0002 // Copyright (C) 2024 Torbjorn Sjostrand.
0003 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
0004 // Please respect the MCnet Guidelines, see GUIDELINES for details.
0005 
0006 // Header file for the class containg matrix elements needed for
0007 // W/Z emission corrections in both the initial and final state shower.
0008 // SimpleWeakShowerMEs: contains the matrix elements.
0009 
0010 #ifndef Pythia8_SimpleWeakShowerMEs_H
0011 #define Pythia8_SimpleWeakShowerMEs_H
0012 
0013 #include "Pythia8/Basics.h"
0014 
0015 namespace Pythia8 {
0016 
0017 //==========================================================================
0018 
0019 // The SimpleWeakShowerMEs provides ME's needed for W/Z emission in ISR or FSR.
0020 // The 2 -> 2 MEs contain the correct kinematics, but for some of
0021 // the 2 -> 3 MEs some couplings have been switched off.
0022 // This class is used for ME corrections in the weak shower and for merging
0023 // whenever weak reclusterings are allowed.
0024 // Also be aware that no phase-space factors are included.
0025 
0026 class SimpleWeakShowerMEs {
0027 
0028 public:
0029 
0030   // Constructor.
0031   SimpleWeakShowerMEs() {}
0032 
0033   // Calculate the 2 to 2 ME qg -> qg, up to a known overall factor.
0034   double getMEqg2qg(double sH, double tH, double uH);
0035 
0036   // Calculate the 2 to 2 ME qq -> qq, up to a known overall factor.
0037   double getMEqq2qq(double sH, double tH, double uH, bool sameID);
0038 
0039   // Calculate the 2 to 2 ME gg -> gg, up to a known overall factor.
0040   double getMEgg2gg(double sH, double tH, double uH);
0041 
0042   // Calculate the 2 to 2 ME gg -> qqbar, up to a known overall factor.
0043   double getMEgg2qqbar(double sH, double tH, double uH);
0044 
0045   // Calculate the 2 to 2 ME qqbar -> gg, up to a known overall factor.
0046   double getMEqqbar2gg(double sH, double tH, double uH);
0047 
0048   // Calculate the 2 to 2 ME qqbar -> qqbar, up to a known overall factor.
0049   double getMEqqbar2qqbar(double sH, double tH, double uH, bool sameID);
0050 
0051   // Calculate the 2 to 3 ME uG -> uGZ, up to a known overall factor.
0052   double getMEqg2qgZ(Vec4 p1,Vec4 p2,Vec4 p3,Vec4 p4,Vec4 p5);
0053 
0054   // Calculate the 2 to 3 ME ud -> udZ, up to a known overall factor,
0055   // and with the coupling between Z and d set to zero.
0056   double getMEqq2qqZ(Vec4 p1,Vec4 p2,Vec4 p3,Vec4 p4,Vec4 p5);
0057 
0058 };
0059 
0060 //==========================================================================
0061 
0062 } // end namespace Pythia8
0063 
0064 #endif // Pythia8_SimpleWeakShowerMEs_H