ATLAS Offline Software
Loading...
Searching...
No Matches
GlobalSim::CommonTOB Class Reference

More...

#include <CommonTOB.h>

Inheritance diagram for GlobalSim::CommonTOB:
Collaboration diagram for GlobalSim::CommonTOB:

Public Member Functions

 CommonTOB (const xAOD::eFexEMRoI &eFexTOB)
 Constructor taking an eFexROITOB to initialise common bits.
 CommonTOB (const GlobalSim::IOBitwise::CommonTOB &CommonTOB)
 Constructor taking an existing CommonTOB to initialise common bits.
 CommonTOB (const std::bitset< s_et_width > &et_bits, const std::bitset< s_eta_width > &eta_bits, const std::bitset< s_phi_width > &phi_bits)
 Constructor taking raw bitsets to initialise common bits.
virtual ~CommonTOB ()
virtual std::bitset< s_et_widthet_bits () const
virtual std::bitset< s_eta_widtheta_bits () const
virtual std::bitset< s_phi_widthphi_bits () const
virtual std::string to_string () const

Static Public Attributes

static constexpr std::size_t s_et_width {13}
 Size of the eT bitset.
static constexpr std::size_t s_eta_width {10}
 Size of the eta bitset.
static constexpr std::size_t s_phi_width {9}
 Size of the phi bitset.
static constexpr std::size_t s_eFex_granularity {100}
static constexpr ulong max_et {(1UL << s_et_width)-1}

Private Attributes

std::bitset< s_et_widthm_et_bits
 Property: eT bitset within the common TOB word.
std::bitset< s_eta_widthm_eta_bits
 Property: eta bitset within the common TOB word.
std::bitset< s_phi_widthm_phi_bits
 Property: phi bitset within the common TOB word.

Detailed Description

Implementaton of ICommonSelector.

Selects CommonTOBs following hypo block VHDL code using window cuts on et, eta and phi.

Definition at line 22 of file CommonTOB.h.

Constructor & Destructor Documentation

◆ CommonTOB() [1/3]

GlobalSim::IOBitwise::CommonTOB::CommonTOB ( const xAOD::eFexEMRoI & eFexTOB)

Constructor taking an eFexROITOB to initialise common bits.

Parameters
[in]eFexTOBThe input eFexRoI TOB defining the common/eFex bits.

To be used to create and initialise a CommonTOB from an existing eFexTOB

Definition at line 10 of file CommonTOB.cxx.

10 :
11 m_et_bits(static_cast<ulong>(eFexTOB.et())/CommonTOB::s_eFex_granularity),
12 m_eta_bits(eFexTOB.iEtaTopo()),
13 m_phi_bits(eFexTOB.iPhiTopo()){
14 }
std::bitset< s_et_width > m_et_bits
Property: eT bitset within the common TOB word.
Definition CommonTOB.h:82
std::bitset< s_eta_width > m_eta_bits
Property: eta bitset within the common TOB word.
Definition CommonTOB.h:84
static constexpr std::size_t s_eFex_granularity
Definition CommonTOB.h:34
std::bitset< s_phi_width > m_phi_bits
Property: phi bitset within the common TOB word.
Definition CommonTOB.h:86
float et() const
TOB ET (decoded from TOB, stored for convenience)
int iEtaTopo() const
Getter for integer phi index (0-63)
int iPhiTopo() const
Return phi index in the range used by L1Topo (0->127)

◆ CommonTOB() [2/3]

GlobalSim::IOBitwise::CommonTOB::CommonTOB ( const GlobalSim::IOBitwise::CommonTOB & CommonTOB)

Constructor taking an existing CommonTOB to initialise common bits.

Parameters
[in]CommonTOBThe input Global CommonTOB defining the common bits.

To be used to create and initilaise a CommonTOB from an existing CommonTOB

Definition at line 16 of file CommonTOB.cxx.

16 :
17 m_et_bits(tob.et_bits()),
18 m_eta_bits(tob.eta_bits()),
19 m_phi_bits(tob.phi_bits()){}

◆ CommonTOB() [3/3]

GlobalSim::IOBitwise::CommonTOB::CommonTOB ( const std::bitset< s_et_width > & et_bits,
const std::bitset< s_eta_width > & eta_bits,
const std::bitset< s_phi_width > & phi_bits )

Constructor taking raw bitsets to initialise common bits.

Parameters
[in]et_bitsthe transverse energy bits
[in]eta_bitsthe eta bits
[in]phi_bitsthe phi bits

To be used to create and initialise a CommonTOB from individual 4-vector bitsets.

◆ ~CommonTOB()

virtual GlobalSim::IOBitwise::CommonTOB::~CommonTOB ( )
inlinevirtual

Definition at line 70 of file CommonTOB.h.

70{};

Member Function Documentation

◆ et_bits()

std::bitset< CommonTOB::s_et_width > GlobalSim::IOBitwise::CommonTOB::et_bits ( ) const
virtual

Definition at line 28 of file CommonTOB.cxx.

28 {
29 return m_et_bits;
30 }
std::bitset< s_et_width > m_et_bits
Property: eT bitset within the common TOB word.
Definition CommonTOB.h:82

◆ eta_bits()

std::bitset< CommonTOB::s_eta_width > GlobalSim::IOBitwise::CommonTOB::eta_bits ( ) const
virtual

Definition at line 32 of file CommonTOB.cxx.

32 {
33 return m_eta_bits;
34 }
std::bitset< s_eta_width > m_eta_bits
Property: eta bitset within the common TOB word.
Definition CommonTOB.h:84

◆ phi_bits()

std::bitset< CommonTOB::s_phi_width > GlobalSim::IOBitwise::CommonTOB::phi_bits ( ) const
virtual

Definition at line 36 of file CommonTOB.cxx.

36 {
37 return m_phi_bits;
38 }
std::bitset< s_phi_width > m_phi_bits
Property: phi bitset within the common TOB word.
Definition CommonTOB.h:86

◆ to_string()

std::string GlobalSim::IOBitwise::CommonTOB::to_string ( ) const
virtual

Definition at line 40 of file CommonTOB.cxx.

40 {
41 std::stringstream ss;
42
43 auto et = et_bits();
44 auto eta = eta_bits();
45 auto phi = phi_bits();
46
47 ss << "Et: " << et << " (" << et.to_ulong() << ") "
48 << "Eta: " << eta << " (" << eta.to_ulong() << ") "
49 << "Phi: " << phi << " (" << phi.to_ulong() << ") ";
50
51 return ss.str();
52 }
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
float et(const xAOD::jFexSRJetRoI *j)
static Double_t ss
virtual std::bitset< s_et_width > et_bits() const
Definition CommonTOB.cxx:28
virtual std::bitset< s_eta_width > eta_bits() const
Definition CommonTOB.cxx:32
virtual std::bitset< s_phi_width > phi_bits() const
Definition CommonTOB.cxx:36

Member Data Documentation

◆ m_et_bits

std::bitset<s_et_width> GlobalSim::IOBitwise::CommonTOB::m_et_bits
private

Property: eT bitset within the common TOB word.

Definition at line 82 of file CommonTOB.h.

◆ m_eta_bits

std::bitset<s_eta_width> GlobalSim::IOBitwise::CommonTOB::m_eta_bits
private

Property: eta bitset within the common TOB word.

Definition at line 84 of file CommonTOB.h.

◆ m_phi_bits

std::bitset<s_phi_width> GlobalSim::IOBitwise::CommonTOB::m_phi_bits
private

Property: phi bitset within the common TOB word.

Definition at line 86 of file CommonTOB.h.

◆ max_et

ulong GlobalSim::IOBitwise::CommonTOB::max_et {(1UL << s_et_width)-1}
staticconstexpr

Definition at line 36 of file CommonTOB.h.

36{(1UL << s_et_width)-1};
static constexpr std::size_t s_et_width
Size of the eT bitset.
Definition CommonTOB.h:28

◆ s_eFex_granularity

std::size_t GlobalSim::IOBitwise::CommonTOB::s_eFex_granularity {100}
staticconstexpr

Definition at line 34 of file CommonTOB.h.

34{100}; // MeV

◆ s_et_width

std::size_t GlobalSim::IOBitwise::CommonTOB::s_et_width {13}
staticconstexpr

Size of the eT bitset.

Definition at line 28 of file CommonTOB.h.

28{13};

◆ s_eta_width

std::size_t GlobalSim::IOBitwise::CommonTOB::s_eta_width {10}
staticconstexpr

Size of the eta bitset.

Definition at line 30 of file CommonTOB.h.

30{10};

◆ s_phi_width

std::size_t GlobalSim::IOBitwise::CommonTOB::s_phi_width {9}
staticconstexpr

Size of the phi bitset.

Definition at line 32 of file CommonTOB.h.

32{9};

The documentation for this class was generated from the following files: