File indexing completed on 2026-08-06 09:24:26
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef HERWIG_KinematicHelpers_H
0010 #define HERWIG_KinematicHelpers_H
0011
0012 namespace QTildeKinematics {
0013
0014
0015
0016 inline Energy2 pT2_FSR(Energy2 qt2, double z, Energy2 m02, Energy2 m12, Energy2 m22,
0017 Energy2 q12, Energy2 q22) {
0018 const double z1z = z*(1.-z);
0019 return z1z*(z1z*qt2 + m02 -m12-m22) - q12*sqr(1.-z) - q22*sqr(z);
0020
0021 }
0022
0023 inline Energy2 pT2_ISR(Energy2 qt2, double z, Energy2 m22) {
0024 return sqr(1.-z)*qt2 - m22*z;
0025 }
0026
0027 inline Energy2 pT2_Decay(Energy2 qt2, double z, Energy2 m02, Energy2 m22) {
0028 return sqr(1.-z)*(qt2 - m02) - m22*z;
0029 }
0030
0031
0032
0033 inline Energy pT_FSR(Energy2 qt2, double z, Energy2 m02, Energy2 m12, Energy2 m22,
0034 Energy2 q12, Energy2 q22) {
0035 return sqrt( pT2_FSR(qt2,z,m02,m12,m22,q12,q22) );
0036 }
0037
0038
0039 inline Energy pT_ISR(Energy2 qt2, double z, Energy2 m22) {
0040 return sqrt( pT2_ISR(qt2,z,m22) );
0041 }
0042
0043 inline Energy pT_Decay(Energy2 qt2, double z, Energy2 m02, Energy2 m22) {
0044 return sqrt( pT2_Decay(qt2,z,m02,m22) );
0045 }
0046
0047
0048 inline Energy2 q2_FSR(Energy2 pt2, double z, Energy2 m12, Energy2 m22) {
0049 return m12/z + m22/(1.-z) + pt2/z/(1.-z);
0050 }
0051
0052
0053 inline Energy2 q2_ISR_new(Energy2 pt2, double z, Energy2 m02, Energy2 m22) {
0054 return -1./(1.-z)*(pt2 +z * m22 -z*(1.-z)*m02);
0055 }
0056
0057 inline Energy2 pT2_ISR_new(Energy2 qt2, double z,Energy2 m02, Energy2 m12, Energy2 m22,
0058 Energy2 q02, Energy2 q22){
0059 return sqr(1.-z)*(qt2 - q02) + (1.-z)*m22 -q22 -(1.-z)*(m12-m02);
0060 }
0061
0062 inline Energy pT_ISR_new(Energy2 qt2, double z,Energy2 m02, Energy2 m12, Energy2 m22,
0063 Energy2 q02, Energy2 q22){
0064 return sqrt( pT2_ISR_new(qt2,z,m02,m12,m22,q02,q22));
0065 }
0066
0067
0068 }
0069
0070 #endif