herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Shower
QTilde
Kinematics
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
// 0 -> 1 (= spacelike children) 2(=timelike children);
53
inline
Energy2 q2_ISR_new(Energy2 pt2,
double
z, Energy2 m02, Energy2 m22) {
54
return
-1./(1.-z)*(pt2 +z * m22 -z*(1.-z)*m02);
55
}
56
57
inline
Energy2 pT2_ISR_new(Energy2 qt2,
double
z,Energy2 m02, Energy2 m12, Energy2 m22,
58
Energy2 q02, Energy2 q22){
59
return
sqr
(1.-z)*(qt2 - q02) + (1.-z)*m22 -q22 -(1.-z)*(m12-m02);
60
}
61
62
inline
Energy
pT_ISR_new(Energy2 qt2,
double
z,Energy2 m02, Energy2 m12, Energy2 m22,
63
Energy2 q02, Energy2 q22){
64
return
sqrt
( pT2_ISR_new(qt2,z,m02,m12,m22,q02,q22));
65
}
66
67
68
}
69
70
#endif
ThePEG::Units::Energy
Qty< 0, 1, 0 > Energy
sqrt
double sqrt(int x)
sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6