ATLAS Offline Software
Namespaces | Classes | Typedefs | Enumerations | Functions
HLT::MET Namespace Reference

Namespaces

 PUClassification
 
 PufitUtils
 
 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. More...
 
PufitGrid operator- (const PufitGrid &lhs, const PufitGrid &rhs)
 Elementwise subtraction. More...
 
SignedKinematics operator+ (const SignedKinematics &lhs, const SignedKinematics &rhs)
 'free' sum operator More...
 
SignedKinematics operator- (const SignedKinematics &lhs, const SignedKinematics &rhs)
 'free' difference operator More...
 
constexpr bool isPow2 (std::size_t i)
 Compile time check if a number is a power of 2. More...
 
constexpr uint16_t intLog2 (std::size_t i, uint16_t tmp=0)
 Compile time calculation of the log base 2 of an integer. More...
 

Typedef Documentation

◆ PUSplitGridSet

Definition at line 39 of file PUSplitGrid.h.

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  {
25  NoDisplacement = 0,
27  EtaDisplaced = 1,
29  PhiDisplaced = 2,
31  EtaPhiDisplaced = 3
32  }; //> end enum GridDisplacement

Function Documentation

◆ intLog2()

constexpr 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  }

◆ isPow2()

constexpr 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  }

◆ 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  }

◆ 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  }

◆ 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  }

◆ 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  }
HLT::MET::intLog2
constexpr uint16_t intLog2(std::size_t i, uint16_t tmp=0)
Compile time calculation of the log base 2 of an integer.
Definition: PufitMultiGrid.h:46
HLT::MET::EtaDisplaced
@ EtaDisplaced
The grid is shifted by half a tower width in eta.
Definition: PeriodicGridBase.h:27
HLT::MET::PhiDisplaced
@ PhiDisplaced
The grid is shifted by half a tower width in phi.
Definition: PeriodicGridBase.h:29
HLT::MET::isPow2
constexpr bool isPow2(std::size_t i)
Compile time check if a number is a power of 2.
Definition: PufitMultiGrid.h:19
HLT::MET::NoDisplacement
@ NoDisplacement
The grid is not shifted.
Definition: PeriodicGridBase.h:25
HLT::MET::EtaPhiDisplaced
@ EtaPhiDisplaced
The grid is shifted by half a tower width in both eta and phi.
Definition: PeriodicGridBase.h:31
lumiFormat.i
int i
Definition: lumiFormat.py:85
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14