ATLAS Offline Software
Loading...
Searching...
No Matches
HLT::MET Namespace Reference

Namespaces

namespace  PUClassification
namespace  PufitUtils
namespace  StatusFlag

Classes

class  CellFex
class  CVFAlg
class  CVFPrepAlg
class  FexBase
class  FlowElementPrepAlg
struct  GridParameters
 Parameters describing a grid. More...
class  METComponent
 Helper struct to build up MET values before moving them into the EDM. More...
class  MHTFex
class  MHTPufitFex
class  MonGroupBuilder
class  NNHLTFex
class  PeriodicGridBase
 Base class for grids used in some of the pufit algorithms. More...
class  PFOPrepAlg
class  PFSumFex
class  PufitGrid
 Bins energy deposits into a grid. More...
struct  PufitGridSet
 Helper struct to contain a full set of grids. More...
class  PufitMultiGrid
 Multiple grids combined into one. More...
struct  PufitMultiGridSet
 Helper struct to forward the SignedKinematics operators nicely. More...
class  PUSplitGrid
class  PUSplitPufitFex
class  SignedKinematics
 Class to describe the kinematics of an object that can have negative energies. More...
class  TCFex
class  TCPufitFex
class  TrkMHTFex

Typedefs

using PUSplitGridSet = PufitMultiGridSet<PUSplitGrid>

Enumerations

enum  GridDisplacement { NoDisplacement = 0 , EtaDisplaced = 1 , PhiDisplaced = 2 , EtaPhiDisplaced = 3 }
 Enum to describe the positioning of the grid. More...

Functions

METComponent operator+ (const METComponent &lhs, const METComponent &rhs)
std::ostream & operator<< (std::ostream &os, const METComponent &component)
PufitGrid operator+ (const PufitGrid &lhs, const PufitGrid &rhs)
 Elementwise sum.
PufitGrid operator- (const PufitGrid &lhs, const PufitGrid &rhs)
 Elementwise subtraction.
SignedKinematics operator+ (const SignedKinematics &lhs, const SignedKinematics &rhs)
 'free' sum operator
SignedKinematics operator- (const SignedKinematics &lhs, const SignedKinematics &rhs)
 'free' difference operator
constexpr bool isPow2 (std::size_t i)
 Compile time check if a number is a power of 2.
constexpr uint16_t intLog2 (std::size_t i, uint16_t tmp=0)
 Compile time calculation of the log base 2 of an integer.

Typedef Documentation

◆ PUSplitGridSet

Enumeration Type Documentation

◆ GridDisplacement

Enum to describe the positioning of the grid.

Enumerator
NoDisplacement 

The grid is not shifted.

EtaDisplaced 

The grid is shifted by half a tower width in eta.

PhiDisplaced 

The grid is shifted by half a tower width in phi.

EtaPhiDisplaced 

The grid is shifted by half a tower width in both eta and phi.

Definition at line 22 of file PeriodicGridBase.h.

23 {
27 EtaDisplaced = 1,
29 PhiDisplaced = 2,
32 }; //> end enum GridDisplacement
@ EtaPhiDisplaced
The grid is shifted by half a tower width in both eta and phi.
@ PhiDisplaced
The grid is shifted by half a tower width in phi.
@ NoDisplacement
The grid is not shifted.
@ EtaDisplaced
The grid is shifted by half a tower width in eta.

Function Documentation

◆ intLog2()

uint16_t HLT::MET::intLog2 ( std::size_t i,
uint16_t tmp = 0 )
constexpr

Compile time calculation of the log base 2 of an integer.

Returns the floor of the log, so intLog2(9) = 3. Log base 2 of 0 is undefined and here returns the maximum value for std::size_t.

Definition at line 46 of file PufitMultiGrid.h.

47 {
48 if (i == 0)
49 return UINT16_MAX;
50 else if (i == 1)
51 return tmp;
52 else
53 return intLog2(i >> 1, tmp + 1);
54 }
constexpr uint16_t intLog2(std::size_t i, uint16_t tmp=0)
Compile time calculation of the log base 2 of an integer.

◆ isPow2()

bool HLT::MET::isPow2 ( std::size_t i)
constexpr

Compile time check if a number is a power of 2.

Definition at line 19 of file PufitMultiGrid.h.

20 {
21 // An int is a power of 2 if it only contains one 'on' bit
22 // We check for this by shifting an int until its first bit is 1. Then it
23 // is a power of two if that is the only bit set.
24 // We also need a check if this is 0 otherwise the recursion will never
25 // end
26 if (i == 0)
27 // 0 is *not* a power of 2
28 return false;
29 else if (i == 1)
30 // 1 is a power of 2
31 return true;
32 else if (i & 1)
33 // If we're not 1, but the '1' bit is set then this can't be a power of 2
34 return false;
35 else
36 // shifting to the right esse
37 return isPow2(i >> 1);
38 }
constexpr bool isPow2(std::size_t i)
Compile time check if a number is a power of 2.

◆ operator+() [1/3]

METComponent HLT::MET::operator+ ( const METComponent & lhs,
const METComponent & rhs )

Definition at line 48 of file METComponent.cxx.

51 {
52 METComponent ret(lhs);
53 ret += rhs;
54 return ret;
55 }
Helper struct to build up MET values before moving them into the EDM.

◆ operator+() [2/3]

PufitGrid HLT::MET::operator+ ( const PufitGrid & lhs,
const PufitGrid & rhs )

Elementwise sum.

Definition at line 244 of file PufitGrid.cxx.

245 {
246 PufitGrid ret(lhs);
247 ret += rhs;
248 return ret;
249 }
Bins energy deposits into a grid.
Definition PufitGrid.h:38

◆ operator+() [3/3]

SignedKinematics HLT::MET::operator+ ( const SignedKinematics & lhs,
const SignedKinematics & rhs )

'free' sum operator

Definition at line 184 of file SignedKinematics.cxx.

185 {
186 SignedKinematics val(lhs);
187 val += rhs;
188 return val;
189 }
Class to describe the kinematics of an object that can have negative energies.

◆ operator-() [1/2]

PufitGrid HLT::MET::operator- ( const PufitGrid & lhs,
const PufitGrid & rhs )

Elementwise subtraction.

Definition at line 250 of file PufitGrid.cxx.

251 {
252 PufitGrid ret(lhs);
253 ret -= rhs;
254 return ret;
255 }

◆ operator-() [2/2]

SignedKinematics HLT::MET::operator- ( const SignedKinematics & lhs,
const SignedKinematics & rhs )

'free' difference operator

Definition at line 190 of file SignedKinematics.cxx.

191 {
192 SignedKinematics val(lhs);
193 val -= rhs;
194 return val;
195 }

◆ operator<<()

std::ostream & HLT::MET::operator<< ( std::ostream & os,
const METComponent & component )

Definition at line 112 of file METComponent.cxx.

113 {
114 os << "(mpx, mpy, mpz, met, sumEt, sumE) = ("
115 << component.mpx << ", "
116 << component.mpy << ", "
117 << component.mpz << ", "
118 << component.met() << ", "
119 << component.sumEt << ", "
120 << component.sumE << ") [MeV]";
121 return os;
122 }
float mpx
Momentum components x momentum.
float sumE
Also store the sumE.
float mpz
z momentum
float sumEt
And the sumEt.
float mpy
y momentum
float met() const
The actual met.