Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:24:26

0001 // -*- C++ -*-
0002 //
0003 // KinematicHelpers.h is a part of Herwig - A multi-purpose Monte Carlo event generator
0004 // Copyright (C) 2018-2019 The Herwig Collaboration
0005 //
0006 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
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   //return z1z*(z1z*qt2 + m02) - q12*(1.-z) - q22*z;
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 // 0 -> 1 (= spacelike children) 2(=timelike children);
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