Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Private Attributes | Friends | List of all members
GlobalSim::eTauTob Class Reference

#include <eTauTob.h>

Collaboration diagram for GlobalSim::eTauTob:

Public Member Functions

 eTauTob (const GepAlgoHypothesisPortsIn &ports_in)
 
std::bitset< 32 > as_bits () const
 
const std::bitset< AlgoConstants::eFexEtBitWidth > & Et_bits () const
 
const std::bitset< AlgoConstants::eFexDiscriminantBitWidth > & RCore_bits () const
 
const std::bitset< AlgoConstants::eFexDiscriminantBitWidth > & RHad_bits () const
 
const std::bitset< AlgoConstants::eFexEtaBitWidth > & Eta_bits () const
 
const std::bitset< AlgoConstants::eFexPhiBitWidth > & Phi_bits () const
 
const std::bitset< 1 > & Overflow_bit () const
 

Private Attributes

std::bitset< AlgoConstants::eFexEtBitWidthm_Et
 
std::bitset< AlgoConstants::eFexDiscriminantBitWidthm_RCore
 
std::bitset< AlgoConstants::eFexDiscriminantBitWidthm_RHad
 
std::bitset< AlgoConstants::eFexEtaBitWidthm_Eta
 
std::bitset< AlgoConstants::eFexPhiBitWidthm_Phi
 
std::bitset< 1 > m_Overflow
 

Friends

std::ostream & operator<< (std::ostream &, const GlobalSim::eTauTob &)
 

Detailed Description

Definition at line 16 of file eTauTob.h.

Constructor & Destructor Documentation

◆ eTauTob()

GlobalSim::eTauTob::eTauTob ( const GepAlgoHypothesisPortsIn ports_in)

Definition at line 9 of file eTauTob.cxx.

9  {
10 
11  const auto& w_tob = ports_in.m_I_eTauTobs;
12 
13  std::size_t i;
14  std::size_t j;
15 
16  for (i = 0; i != AlgoConstants::eFexEtBitWidth; ++i) {
17  m_Et[i] = (*w_tob)[i];
18  }
19 
20  for (i = 16, j=0;
22  ++i, ++j) {
23  m_Phi[j] = (*w_tob)[i];
24  }
25 
26  for (i = 32, j=0;
28  ++i, ++j) {
29  m_Eta[j] = (*w_tob)[i];
30  }
31 
32 
33  for (i = 48, j=0;
35  ++i, ++j)
36  {
37  m_RCore[j] = (*w_tob)[i];
38  }
39 
40 
43  ++i, ++j)
44  {
45  m_RHad[j] = (*w_tob)[i];
46  }
47 
48 
49  m_Overflow[0] = (*w_tob)[63];
50 
51  }

Member Function Documentation

◆ as_bits()

std::bitset< 32 > GlobalSim::eTauTob::as_bits ( ) const

Definition at line 54 of file eTauTob.cxx.

54  {
55  auto result = std::bitset<32>();
56  std::size_t r_ptr{0};
57 
58  for (std::size_t s_ptr=0; s_ptr < m_Et.size(); ++s_ptr, ++r_ptr) {
59  if(m_Et.test(s_ptr)) {result.set(r_ptr);}
60  }
61 
62  for (std::size_t s_ptr=0; s_ptr < m_RCore.size(); ++s_ptr, ++r_ptr) {
63  if(m_RCore.test(s_ptr)) {result.set(r_ptr);}
64  }
65 
66  for (std::size_t s_ptr=0; s_ptr < m_RHad.size(); ++s_ptr, ++r_ptr) {
67  if(m_RHad.test(s_ptr)) {result.set(r_ptr);}
68  }
69 
70  for (std::size_t s_ptr=0; s_ptr < m_Eta.size(); ++s_ptr, ++r_ptr) {
71  if(m_Eta.test(s_ptr)) {result.set(r_ptr);}
72  }
73 
74  for (std::size_t s_ptr=0; s_ptr < m_Phi.size(); ++s_ptr, ++r_ptr) {
75  if(m_Phi.test(s_ptr)) {result.set(r_ptr);}
76  }
77 
78  if(m_Overflow.test(0)) {result.set(r_ptr++);}
79 
80 
81 
82  return result;
83  }

◆ Et_bits()

const std::bitset< AlgoConstants::eFexEtBitWidth > & GlobalSim::eTauTob::Et_bits ( ) const
inline

Definition at line 58 of file eTauTob.h.

58 {return m_Et;}

◆ Eta_bits()

const std::bitset< AlgoConstants::eFexEtaBitWidth > & GlobalSim::eTauTob::Eta_bits ( ) const
inline

Definition at line 67 of file eTauTob.h.

67 {return m_Eta;}

◆ Overflow_bit()

const std::bitset< 1 > & GlobalSim::eTauTob::Overflow_bit ( ) const
inline

Definition at line 73 of file eTauTob.h.

73 {return m_Overflow;}

◆ Phi_bits()

const std::bitset< AlgoConstants::eFexPhiBitWidth > & GlobalSim::eTauTob::Phi_bits ( ) const
inline

Definition at line 70 of file eTauTob.h.

70 {return m_Phi;}

◆ RCore_bits()

const std::bitset< AlgoConstants::eFexDiscriminantBitWidth > & GlobalSim::eTauTob::RCore_bits ( ) const
inline

Definition at line 64 of file eTauTob.h.

64 {return m_RCore;}

◆ RHad_bits()

const std::bitset< AlgoConstants::eFexDiscriminantBitWidth > & GlobalSim::eTauTob::RHad_bits ( ) const
inline

Definition at line 61 of file eTauTob.h.

61 {return m_RHad;}

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const GlobalSim::eTauTob tob 
)
friend

Definition at line 88 of file eTauTob.cxx.

88  {
89 
90  os << "GlobalSim::eTauTob\n"
91  << "Et: " << std::hex << tob.Et_bits().to_ulong() << '\n'
92  << "RCore: " << std::hex << tob.RCore_bits().to_ulong() << '\n'
93  << "RHad: " << std::hex<< tob.RHad_bits().to_ulong() << '\n'
94  << "Eta: " << std::hex<< tob.Eta_bits().to_ulong() << '\n'
95  << "Phi: " << std::hex<< tob.Phi_bits().to_ulong() << '\n'
96  << tob.as_bits() << ' ' << std::hex << tob.as_bits().to_ulong()
97  << '\n';
98  return os;
99  }

Member Data Documentation

◆ m_Et

std::bitset<AlgoConstants::eFexEtBitWidth> GlobalSim::eTauTob::m_Et
private

Definition at line 48 of file eTauTob.h.

◆ m_Eta

std::bitset<AlgoConstants::eFexEtaBitWidth> GlobalSim::eTauTob::m_Eta
private

Definition at line 51 of file eTauTob.h.

◆ m_Overflow

std::bitset<1> GlobalSim::eTauTob::m_Overflow
private

Definition at line 53 of file eTauTob.h.

◆ m_Phi

std::bitset<AlgoConstants::eFexPhiBitWidth> GlobalSim::eTauTob::m_Phi
private

Definition at line 52 of file eTauTob.h.

◆ m_RCore

std::bitset<AlgoConstants::eFexDiscriminantBitWidth> GlobalSim::eTauTob::m_RCore
private

Definition at line 49 of file eTauTob.h.

◆ m_RHad

std::bitset<AlgoConstants::eFexDiscriminantBitWidth> GlobalSim::eTauTob::m_RHad
private

Definition at line 50 of file eTauTob.h.


The documentation for this class was generated from the following files:
get_generator_info.result
result
Definition: get_generator_info.py:21
GlobalSim::AlgoConstants::eFexEtBitWidth
constexpr static std::size_t eFexEtBitWidth
Definition: AlgoConstants.h:15
GlobalSim::eTauTob::RHad_bits
const std::bitset< AlgoConstants::eFexDiscriminantBitWidth > & RHad_bits() const
Definition: eTauTob.h:61
GlobalSim::AlgoConstants::eFexDiscriminantBitWidth
constexpr static std::size_t eFexDiscriminantBitWidth
Definition: AlgoConstants.h:16
GlobalSim::AlgoConstants::eFexPhiBitWidth
constexpr static std::size_t eFexPhiBitWidth
Definition: AlgoConstants.h:18
GlobalSim::eTauTob::m_RCore
std::bitset< AlgoConstants::eFexDiscriminantBitWidth > m_RCore
Definition: eTauTob.h:49
GlobalSim::eTauTob::as_bits
std::bitset< 32 > as_bits() const
Definition: eTauTob.cxx:54
GlobalSim::eTauTob::m_RHad
std::bitset< AlgoConstants::eFexDiscriminantBitWidth > m_RHad
Definition: eTauTob.h:50
GlobalSim::AlgoConstants::eFexEtaBitWidth
constexpr static std::size_t eFexEtaBitWidth
Definition: AlgoConstants.h:17
lumiFormat.i
int i
Definition: lumiFormat.py:85
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
GlobalSim::eTauTob::Eta_bits
const std::bitset< AlgoConstants::eFexEtaBitWidth > & Eta_bits() const
Definition: eTauTob.h:67
GlobalSim::eTauTob::m_Et
std::bitset< AlgoConstants::eFexEtBitWidth > m_Et
Definition: eTauTob.h:48
GlobalSim::eTauTob::Et_bits
const std::bitset< AlgoConstants::eFexEtBitWidth > & Et_bits() const
Definition: eTauTob.h:58
GlobalSim::eTauTob::Phi_bits
const std::bitset< AlgoConstants::eFexPhiBitWidth > & Phi_bits() const
Definition: eTauTob.h:70
GlobalSim::eTauTob::m_Phi
std::bitset< AlgoConstants::eFexPhiBitWidth > m_Phi
Definition: eTauTob.h:52
GlobalSim::eTauTob::m_Eta
std::bitset< AlgoConstants::eFexEtaBitWidth > m_Eta
Definition: eTauTob.h:51
GlobalSim::eTauTob::RCore_bits
const std::bitset< AlgoConstants::eFexDiscriminantBitWidth > & RCore_bits() const
Definition: eTauTob.h:64
GlobalSim::eTauTob::m_Overflow
std::bitset< 1 > m_Overflow
Definition: eTauTob.h:53