ATLAS Offline Software
Loading...
Searching...
No Matches
SignedKinematics.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4
5/******************************************************************************
6 * @package Trigger/TrigAlgorithms/TrigEFMissingET
7 *
8 * @brief Helper class to describe the kinematics of an object that can have
9 * negative energies.
10 * @author Jon Burr
11 *****************************************************************************/
12
13#ifndef TRIGEFMISSINGET_SIGNEDKINEMATICS_H
14#define TRIGEFMISSINGET_SIGNEDKINEMATICS_H
15
16#include "Math/Vector4D.h"
17
18// Forward declares
19class TLorentzVector;
20
21namespace xAOD {
22 class IParticle;
23}
24
25namespace HLT { namespace MET {
26
43 public:
46 SignedKinematics(double px, double py, double pz, double energy);
48 SignedKinematics(const TLorentzVector& tlv);
50 SignedKinematics(const xAOD::IParticle& particle);
53 double energy, double eta, double phi);
56 double energy, double eta, double phi, double mass);
59 double et, double eta, double phi);
62 double et, double eta, double phi, double mass);
63
65 int sign() const;
66
68 double eta() const;
69 double phi() const;
71 double sinPhi() const;
72 double cosPhi() const;
74 double sinhEta() const;
75 double coshEta() const;
76
79 double p() const;
81 double absP() const;
82 double p2() const;
84 double pt() const;
86 double absPt() const;
87 double pt2() const;
88 double px() const;
89 double py() const;
90 double pz() const;
91
94 double energy() const;
96 double absEnergy() const;
97 double energy2() const;
99 double et() const;
101 double absEt() const;
102 double et2() const;
103 double ex() const;
104 double ey() const;
105 double ez() const;
106
108 double m2() const;
109
110 explicit operator ROOT::Math::PxPyPzEVector() const;
111
117 private:
119 ROOT::Math::PxPyPzEVector m_p4;
120 }; //> end class SignedKinematics
121
125
126} } //> end namespace HLT::MET
127#endif //> !TRIGEFMISSINGET_SIGNEDKINEMATICS_H
Class to describe the kinematics of an object that can have negative energies.
double et() const
(signed) et
static SignedKinematics fromEtEtaPhi(double et, double eta, double phi)
Factory function to construct from et, eta, phi (massless)
double sinPhi() const
Provide accessors for sin and cos phi.
double eta() const
Direction.
double sinhEta() const
Provide accessors for sinh and cosh eta.
SignedKinematics & operator+=(const SignedKinematics &other)
Add another SignedKinematics to this.
double m2() const
The squared mass. There is no guarantee that this will be > 0.
double absP() const
unsigned momentum
double p() const
Momentum values (signed) momentum.
double absPt() const
unsigned pt
SignedKinematics & operator-=(const SignedKinematics &other)
Subtract a SignedKinematics from this (exact opposite of the above function.
double absEnergy() const
unsigned energy
static SignedKinematics fromEnergyEtaPhi(double energy, double eta, double phi)
Factory function to construct from energy, eta, phi (massless)
static SignedKinematics fromEtEtaPhiM(double et, double eta, double phi, double mass)
Factory function to construct from et eta, phi and m.
double energy() const
Energy values (signed) energy.
double absEt() const
Unsigned et.
ROOT::Math::PxPyPzEVector m_p4
The actual kinematics.
static SignedKinematics fromEnergyEtaPhiM(double energy, double eta, double phi, double mass)
Factory function to construct from energy eta, phi and m.
int sign() const
The sign of the kinematics.
double pt() const
(signed) pt
Class providing the definition of the 4-vector interface.
METComponent operator+(const METComponent &lhs, const METComponent &rhs)
PufitGrid operator-(const PufitGrid &lhs, const PufitGrid &rhs)
Elementwise subtraction.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.