herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
KinematicHelpers.h
1 // -*- C++ -*-
2 //
3 // KinematicHelpers.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2018-2019 The Herwig Collaboration
5 //
6 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef HERWIG_KinematicHelpers_H
10 #define HERWIG_KinematicHelpers_H
11 
12 namespace QTildeKinematics {
13 
14 
15 
16 inline Energy2 pT2_FSR(Energy2 qt2, double z, Energy2 m02, Energy2 m12, Energy2 m22,
17  Energy2 q12, Energy2 q22) {
18  const double z1z = z*(1.-z);
19  return z1z*(z1z*qt2 + m02 -m12-m22) - q12*sqr(1.-z) - q22*sqr(z);
20  //return z1z*(z1z*qt2 + m02) - q12*(1.-z) - q22*z;
21 }
22 
23 inline Energy2 pT2_ISR(Energy2 qt2, double z, Energy2 m22) {
24  return sqr(1.-z)*qt2 - m22*z;
25 }
26 
27 inline Energy2 pT2_Decay(Energy2 qt2, double z, Energy2 m02, Energy2 m22) {
28  return sqr(1.-z)*(qt2 - m02) - m22*z;
29 }
30 
31 
32 
33 inline Energy pT_FSR(Energy2 qt2, double z, Energy2 m02, Energy2 m12, Energy2 m22,
34  Energy2 q12, Energy2 q22) {
35  return sqrt( pT2_FSR(qt2,z,m02,m12,m22,q12,q22) );
36 }
37 
38 
39 inline Energy pT_ISR(Energy2 qt2, double z, Energy2 m22) {
40  return sqrt( pT2_ISR(qt2,z,m22) );
41 }
42 
43 inline Energy pT_Decay(Energy2 qt2, double z, Energy2 m02, Energy2 m22) {
44  return sqrt( pT2_Decay(qt2,z,m02,m22) );
45 }
46 
47 
48 inline Energy2 q2_FSR(Energy2 pt2, double z, Energy2 m12, Energy2 m22) {
49  return m12/z + m22/(1.-z) + pt2/z/(1.-z);
50 }
51 
52 // inline Energy2 q2_ISR(Energy2 pt2, double z, Energy2 m22) {
53 // return m22/(1.-z) + pt2/z/(1.-z);
54 // }
55 
56 
57 }
58 
59 #endif
Qty< 0, 1, 0 > Energy
double sqrt(int x)
constexpr auto sqr(const T &x) -> decltype(x *x)