hej is hosted by Hepforge, IPPP Durham
HEJ 2.1.4
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
LorentzVector.hh
Go to the documentation of this file.
1
8#pragma once
9
10#include <complex>
11#include <utility>
12
13#include "CLHEP/Vector/LorentzVector.h"
14
15#include "HEJ/Particle.hh"
16
17namespace HEJ {
19 inline
20 auto dot(
21 CLHEP::HepLorentzVector const & pi,
22 CLHEP::HepLorentzVector const & pj
23 ) {
24 return pi.dot(pj);
25 }
26
28 std::complex<double> angle(
29 CLHEP::HepLorentzVector const & pi,
30 CLHEP::HepLorentzVector const & pj
31 );
32
34 std::complex<double> square(
35 CLHEP::HepLorentzVector const & pi,
36 CLHEP::HepLorentzVector const & pj
37 );
38
40 inline
41 auto m2(CLHEP::HepLorentzVector const & h1) {
42 return h1.m2();
43 }
44
46 inline
47 auto plus(CLHEP::HepLorentzVector const & h1) {
48 return h1.plus();
49 }
50
52 inline
53 auto minus(CLHEP::HepLorentzVector const & h1) {
54 return h1.minus();
55 }
56
57 inline
58 auto perphat(CLHEP::HepLorentzVector const & h1) {
59 const auto perp = std::complex<double>{h1.x(), h1.y()};
60 return perp/std::abs(perp);
61 }
62
64
74 std::pair<CLHEP::HepLorentzVector, CLHEP::HepLorentzVector>
75 split_into_lightlike(CLHEP::HepLorentzVector const & P);
76
77 inline
78 CLHEP::HepLorentzVector to_HepLorentzVector(fastjet::PseudoJet const & mom){
79 return {mom.px(), mom.py(), mom.pz(), mom.e()};
80 }
81
82 inline
83 CLHEP::HepLorentzVector to_HepLorentzVector(Particle const & particle){
84 return to_HepLorentzVector(particle.p);
85 }
86
87 inline
88 fastjet::PseudoJet to_PseudoJet(CLHEP::HepLorentzVector const & mom){
89 return {mom.px(), mom.py(), mom.pz(), mom.e()};
90 }
91} // namespace HEJ
Contains the particle struct.
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
std::complex< double > angle(CLHEP::HepLorentzVector const &pi, CLHEP::HepLorentzVector const &pj)
"angle" product angle(pi, pj) = <i j>
auto perphat(CLHEP::HepLorentzVector const &h1)
Definition: LorentzVector.hh:58
fastjet::PseudoJet to_PseudoJet(CLHEP::HepLorentzVector const &mom)
Definition: LorentzVector.hh:88
auto plus(CLHEP::HepLorentzVector const &h1)
Plus component.
Definition: LorentzVector.hh:47
auto dot(CLHEP::HepLorentzVector const &pi, CLHEP::HepLorentzVector const &pj)
"dot" product
Definition: LorentzVector.hh:20
std::pair< CLHEP::HepLorentzVector, CLHEP::HepLorentzVector > split_into_lightlike(CLHEP::HepLorentzVector const &P)
Split a single Lorentz vector into two lightlike Lorentz vectors.
CLHEP::HepLorentzVector to_HepLorentzVector(fastjet::PseudoJet const &mom)
Definition: LorentzVector.hh:78
std::complex< double > square(CLHEP::HepLorentzVector const &pi, CLHEP::HepLorentzVector const &pj)
"square" product square(pi, pj) = [i j]
auto m2(CLHEP::HepLorentzVector const &h1)
Invariant mass.
Definition: LorentzVector.hh:41
auto minus(CLHEP::HepLorentzVector const &h1)
Minus component.
Definition: LorentzVector.hh:53
Class representing a particle.
Definition: Particle.hh:24
fastjet::PseudoJet p
particle momentum
Definition: Particle.hh:28