ATLAS Offline Software
Loading...
Searching...
No Matches
xAOD::L1MDTCandData_v1 Class Reference

Data class describing the L0 muon candidates from MDT-TP to TGC/RPC SL. More...

#include <L1MDTCandData_v1.h>

Inheritance diagram for xAOD::L1MDTCandData_v1:
Collaboration diagram for xAOD::L1MDTCandData_v1:

Public Types

enum class  SegmentQuality : uint8_t { Q_UNDEFINED = 0 , Q_BEST , Q_LOW }
 Quality flag for each segment. More...
enum class  BC_ID {
  BC_UNDEFINED = 0 , BC_PREVIOUS , BC_CURRENT , BC_NEXT ,
  BC_NEXTNEXT
}
 Bunch crossing identifier. More...

Public Member Functions

 L1MDTCandData_v1 ()=default
 ~L1MDTCandData_v1 ()=default
uint8_t l1MdtFlag () const
 Retrieve the MDT flag.
uint8_t l1NumSegments () const
 Retrieve the number of MDT segments asspcoate to the muon candidate.
uint8_t l1SegmentQualityFlag () const
 Retrieve the segment quality flag for each segment.
uint8_t l1SlCharge () const
 Retrieve the charge value from the sector logic.
uint8_t l1SlPtThreshold () const
 Retrieve the highest RPC/TGC pT threshold satisfied in sector logic.
uint16_t l1SlPhiPosition () const
 Retrieve the phi position in global coordinates from the sector logic.
uint16_t l1SlEtaPosition () const
 Retrieve the eta position in global coordinates from the sector logic.
uint8_t l1MdtCharge () const
 Retrieve the MDT charge value from the MDT TP.
uint8_t l1MdtPt () const
 Retrieve the MDT pTfrom the MDT TP.
uint16_t l1MdtEta () const
 Retrieve the MDT eta position from the MDT TP.
void setL1MdtFlag (uint8_t mdtFlag)
 Set the MDT flag.
void setL1NumSegments (uint8_t numSegments)
 Set the number of segments.
void setL1SegmentQualityFlag (uint8_t flags)
 Set the segment quality flag.
void setL1SlCharge (uint8_t slCharge)
 Set the sector logic charge.
void setL1SlPtThreshold (uint8_t slPtThreshold)
 Set the sector logic pT threshold.
void setL1SlPhiPosition (uint16_t slPhiPosition)
 Set the sector logic phi position.
void setL1SlEtaPosition (uint16_t slEtaPosition)
 Set the sector logic eta position.
void setL1MdtCharge (uint8_t mdtCharge)
 Set the MDT charge value.
void setL1MdtPt (uint8_t mdtPt)
 Set the MDT pT value.
void setL1MdtEta (uint16_t mdtEta)
 Set the MDT eta position.
uint16_t l1SubdetectorId () const
 Retrieve the sub detector id.
uint16_t l1SectorId () const
 Retrieve the sector id.
uint16_t bcTag () const
 Retrieve the bunch crossing tag.
uint8_t l1Threshold () const
 Retrieve the threshold.
uint8_t l1CandCharge () const
 Retrieve the candidate charge.
uint8_t coinType () const
 Retrieve the coincidence type.
uint16_t l1Eta () const
 Retrieve the eta.
uint16_t l1Phi () const
 Retrieve the phi.
uint8_t l1Pt () const
 Retrieve the encoded candidate pT.
uint8_t tcId () const
 Retrieve the trigger-candidate identifier.
void setL1SubdetectorId (uint16_t subdetectorId)
 Set the sub detector id.
void setL1SectorId (uint16_t sectorId)
 Set the sector id.
void setBcTag (uint16_t bcTag)
 Set the bunch crossing tag.
void setL1Eta (float eta)
 Set the eta.
void setL1Phi (float phi)
 Set the phi.
void setL1Pt (float pt)
 Set the candidate pT.
void setL1Threshold (uint8_t threshold)
 Set the threshold.
void setL1CandCharge (uint8_t candCharge)
 Set the candidate charge.
void setCoinType (uint8_t coinType)
 Set the coincidence type.
void setTcId (uint8_t value)
 Set the trigger-candidate identifier.
void initialize (uint16_t subdetectorId, uint16_t sectorId, uint16_t bcTag)
 Initialize candidate with basic properties.

Static Public Member Functions

static constexpr float etaRange ()
static constexpr uint16_t etaBitRange ()
static constexpr float phiRange ()
static constexpr uint16_t phiBitRange ()
static constexpr float ptResolution ()
static constexpr float ptRange ()
static constexpr uint8_t ptBitRange ()
static constexpr uint8_t coinTypeBitMask ()
static constexpr uint8_t tcIdBitMask ()

Static Protected Attributes

static constexpr float s_etaRange = 2.7
 Variables range.
static constexpr float s_phiRange = 2.0 * M_PI
static constexpr float s_ptResolution = 0.5F
 GeV per pT code.
static constexpr uint16_t s_etaBitRange = 0x3fff
 Variables bit size 14 bits for eta, 9 bits for phi, 8 bits for pt.
static constexpr uint16_t s_phiBitRange = 0x1ff
static constexpr uint8_t s_ptBitRange = 0xff
static constexpr float s_ptRange
static constexpr uint8_t COINTYPE_BIT_MASK = 0x7
 Bit mask for Coincidence Types.
static constexpr uint8_t TC_ID_BIT_MASK = 0x7
 Bit mask for the trigger-candidate identifier.

Detailed Description

Data class describing the L0 muon candidates from MDT-TP to TGC/RPC SL.

Definition at line 18 of file L1MDTCandData_v1.h.

Member Enumeration Documentation

◆ BC_ID

enum class xAOD::IL1CandData_v1::BC_ID
stronginherited

Bunch crossing identifier.

Enumerator
BC_UNDEFINED 
BC_PREVIOUS 
BC_CURRENT 
BC_NEXT 
BC_NEXTNEXT 

Definition at line 26 of file IL1CandData_v1.h.

27 {
28 BC_UNDEFINED = 0,
29 BC_PREVIOUS,
30 BC_CURRENT,
31 BC_NEXT,
32 BC_NEXTNEXT
33 };

◆ SegmentQuality

Quality flag for each segment.

Enumerator
Q_UNDEFINED 
Q_BEST 
Q_LOW 

Definition at line 25 of file L1MDTCandData_v1.h.

26 {
27 Q_UNDEFINED = 0,
28 Q_BEST,
29 Q_LOW
30 };

Constructor & Destructor Documentation

◆ L1MDTCandData_v1()

xAOD::L1MDTCandData_v1::L1MDTCandData_v1 ( )
default

◆ ~L1MDTCandData_v1()

xAOD::L1MDTCandData_v1::~L1MDTCandData_v1 ( )
default

Member Function Documentation

◆ bcTag()

uint16_t xAOD::IL1CandData_v1::bcTag ( ) const
inherited

Retrieve the bunch crossing tag.

Returns
Bunch crossing tag

◆ coinType()

uint8_t xAOD::IL1CandData_v1::coinType ( ) const
inherited

Retrieve the coincidence type.

Returns
Coincidence type

Definition at line 60 of file IL1CandData_v1.cxx.

60 {
61 static const SG::Accessor<uint8_t> acc("coinType");
62 return acc(*this);
63 }
static const SG::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.

◆ coinTypeBitMask()

constexpr uint8_t xAOD::IL1CandData_v1::coinTypeBitMask ( )
inlinestaticconstexprinherited

Definition at line 156 of file IL1CandData_v1.h.

156{ return COINTYPE_BIT_MASK; }
static constexpr uint8_t COINTYPE_BIT_MASK
Bit mask for Coincidence Types.

◆ etaBitRange()

constexpr uint16_t xAOD::IL1CandData_v1::etaBitRange ( )
inlinestaticconstexprinherited

Definition at line 150 of file IL1CandData_v1.h.

150{ return s_etaBitRange; }
static constexpr uint16_t s_etaBitRange
Variables bit size 14 bits for eta, 9 bits for phi, 8 bits for pt.

◆ etaRange()

constexpr float xAOD::IL1CandData_v1::etaRange ( )
inlinestaticconstexprinherited

Definition at line 149 of file IL1CandData_v1.h.

149{ return s_etaRange; }
static constexpr float s_etaRange
Variables range.

◆ initialize()

void xAOD::IL1CandData_v1::initialize ( uint16_t subdetectorId,
uint16_t sectorId,
uint16_t bcTag )
inherited

Initialize candidate with basic properties.

Initialise the object given some input data

Parameters
subdetectorIdSubdetector ID
sectorIdSector ID
bcTagBunch crossing tag

Definition at line 75 of file IL1CandData_v1.cxx.

75 {
76 setL1SubdetectorId(subdetectorId);
77 setL1SectorId(sectorId);
79 }
uint16_t bcTag() const
Retrieve the bunch crossing tag.
void setL1SectorId(uint16_t sectorId)
Set the sector id.
void setBcTag(uint16_t bcTag)
Set the bunch crossing tag.
void setL1SubdetectorId(uint16_t subdetectorId)
Set the sub detector id.

◆ l1CandCharge()

uint8_t xAOD::IL1CandData_v1::l1CandCharge ( ) const
inherited

Retrieve the candidate charge.

Returns
Candidate charge

◆ l1Eta()

uint16_t xAOD::IL1CandData_v1::l1Eta ( ) const
inherited

Retrieve the eta.

Returns
Eta

Definition at line 24 of file IL1CandData_v1.cxx.

24 {
25 static const SG::Accessor<uint16_t> acc("l1Eta");
26 return acc(*this);
27 }

◆ l1MdtCharge()

uint8_t xAOD::L1MDTCandData_v1::l1MdtCharge ( ) const

Retrieve the MDT charge value from the MDT TP.

Returns
MDT charge value

◆ l1MdtEta()

uint16_t xAOD::L1MDTCandData_v1::l1MdtEta ( ) const

Retrieve the MDT eta position from the MDT TP.

Returns
MDT eta position

◆ l1MdtFlag()

uint8_t xAOD::L1MDTCandData_v1::l1MdtFlag ( ) const

Retrieve the MDT flag.

Returns
MDT flag

◆ l1MdtPt()

uint8_t xAOD::L1MDTCandData_v1::l1MdtPt ( ) const

Retrieve the MDT pTfrom the MDT TP.

Returns
MDT pT

◆ l1NumSegments()

uint8_t xAOD::L1MDTCandData_v1::l1NumSegments ( ) const

Retrieve the number of MDT segments asspcoate to the muon candidate.

Returns
Number of segments

◆ l1Phi()

uint16_t xAOD::IL1CandData_v1::l1Phi ( ) const
inherited

Retrieve the phi.

Returns
Phi

Definition at line 35 of file IL1CandData_v1.cxx.

35 {
36 static const SG::Accessor<uint16_t> acc("l1Phi");
37 //return (static_cast<float>(acc(*this)) / static_cast<float>(s_phiBitRange)) * s_phiRange-M_PI;
38 return acc(*this);
39 }

◆ l1Pt()

uint8_t xAOD::IL1CandData_v1::l1Pt ( ) const
inherited

Retrieve the encoded candidate pT.

Returns
Eight-bit pT code in 0.5 GeV steps; zero denotes an invalid pT estimate

Definition at line 49 of file IL1CandData_v1.cxx.

49 {
50 static const SG::Accessor<uint8_t> acc("l1Pt");
51 return acc(*this);
52 }

◆ l1SectorId()

uint16_t xAOD::IL1CandData_v1::l1SectorId ( ) const
inherited

Retrieve the sector id.

Returns
Sector ID

◆ l1SegmentQualityFlag()

uint8_t xAOD::L1MDTCandData_v1::l1SegmentQualityFlag ( ) const

Retrieve the segment quality flag for each segment.

Returns
Segment quality flag

◆ l1SlCharge()

uint8_t xAOD::L1MDTCandData_v1::l1SlCharge ( ) const

Retrieve the charge value from the sector logic.

Returns
sector logic charge

◆ l1SlEtaPosition()

uint16_t xAOD::L1MDTCandData_v1::l1SlEtaPosition ( ) const

Retrieve the eta position in global coordinates from the sector logic.

Returns
sector logic eta position

◆ l1SlPhiPosition()

uint16_t xAOD::L1MDTCandData_v1::l1SlPhiPosition ( ) const

Retrieve the phi position in global coordinates from the sector logic.

Returns
sector logic phi position

◆ l1SlPtThreshold()

uint8_t xAOD::L1MDTCandData_v1::l1SlPtThreshold ( ) const

Retrieve the highest RPC/TGC pT threshold satisfied in sector logic.

Returns
sector logic pT threshold

◆ l1SubdetectorId()

uint16_t xAOD::IL1CandData_v1::l1SubdetectorId ( ) const
inherited

Retrieve the sub detector id.

Returns
Subdetector ID

◆ l1Threshold()

uint8_t xAOD::IL1CandData_v1::l1Threshold ( ) const
inherited

Retrieve the threshold.

Returns
Threshold

◆ phiBitRange()

constexpr uint16_t xAOD::IL1CandData_v1::phiBitRange ( )
inlinestaticconstexprinherited

Definition at line 152 of file IL1CandData_v1.h.

152{ return s_phiBitRange; }
static constexpr uint16_t s_phiBitRange

◆ phiRange()

constexpr float xAOD::IL1CandData_v1::phiRange ( )
inlinestaticconstexprinherited

Definition at line 151 of file IL1CandData_v1.h.

151{ return s_phiRange; }
static constexpr float s_phiRange

◆ ptBitRange()

constexpr uint8_t xAOD::IL1CandData_v1::ptBitRange ( )
inlinestaticconstexprinherited

Definition at line 155 of file IL1CandData_v1.h.

155{ return s_ptBitRange; }
static constexpr uint8_t s_ptBitRange

◆ ptRange()

constexpr float xAOD::IL1CandData_v1::ptRange ( )
inlinestaticconstexprinherited

Definition at line 154 of file IL1CandData_v1.h.

154{ return s_ptRange; }
static constexpr float s_ptRange

◆ ptResolution()

constexpr float xAOD::IL1CandData_v1::ptResolution ( )
inlinestaticconstexprinherited

Definition at line 153 of file IL1CandData_v1.h.

153{ return s_ptResolution; }
static constexpr float s_ptResolution
GeV per pT code.

◆ setBcTag()

void xAOD::IL1CandData_v1::setBcTag ( uint16_t bcTag)
inherited

Set the bunch crossing tag.

Parameters
bcTagBunch crossing tag

◆ setCoinType()

void xAOD::IL1CandData_v1::setCoinType ( uint8_t coinType)
inherited

Set the coincidence type.

Parameters
coinTypeCoincidence type

Definition at line 54 of file IL1CandData_v1.cxx.

54 {
55 uint8_t coinTypeBin = cointype & COINTYPE_BIT_MASK;
56 static const SG::Accessor<uint8_t> acc("coinType");
57 acc(*this) = coinTypeBin;
58 }

◆ setL1CandCharge()

void xAOD::IL1CandData_v1::setL1CandCharge ( uint8_t candCharge)
inherited

Set the candidate charge.

Parameters
candChargeCandidate charge

◆ setL1Eta()

void xAOD::IL1CandData_v1::setL1Eta ( float eta)
inherited

Set the eta.

Parameters
etaEta

Definition at line 17 of file IL1CandData_v1.cxx.

17 {
18 float etaClamped = std::clamp(eta, -s_etaRange, s_etaRange);
19 uint16_t etaBinary = static_cast<uint16_t>(std::lround((etaClamped + s_etaRange) / (2.0f * s_etaRange) * static_cast<float>(s_etaBitRange)));
20 static const SG::Accessor<uint16_t> acc("l1Eta");
21 acc(*this) = etaBinary;
22 }
Scalar eta() const
pseudorapidity method
setWord1 uint16_t

◆ setL1MdtCharge()

void xAOD::L1MDTCandData_v1::setL1MdtCharge ( uint8_t mdtCharge)

Set the MDT charge value.

Parameters
mdtChargeMDT charge value

◆ setL1MdtEta()

void xAOD::L1MDTCandData_v1::setL1MdtEta ( uint16_t mdtEta)

Set the MDT eta position.

Parameters
mdtEtaMDT eta position

◆ setL1MdtFlag()

void xAOD::L1MDTCandData_v1::setL1MdtFlag ( uint8_t mdtFlag)

Set the MDT flag.

Parameters
mdtFlagMDT flag

◆ setL1MdtPt()

void xAOD::L1MDTCandData_v1::setL1MdtPt ( uint8_t mdtPt)

Set the MDT pT value.

Parameters
mdtPtMDT pT value

◆ setL1NumSegments()

void xAOD::L1MDTCandData_v1::setL1NumSegments ( uint8_t numSegments)

Set the number of segments.

Parameters
numSegmentsNumber of segments

◆ setL1Phi()

void xAOD::IL1CandData_v1::setL1Phi ( float phi)
inherited

Set the phi.

Parameters
phiPhi

Definition at line 29 of file IL1CandData_v1.cxx.

29 {
30 uint16_t phiBinary = static_cast<uint16_t>(((phi + M_PI) / s_phiRange) * static_cast<float>(s_phiBitRange));
31 static const SG::Accessor<uint16_t> acc("l1Phi");
32 acc(*this) = phiBinary;
33 }
#define M_PI

◆ setL1Pt()

void xAOD::IL1CandData_v1::setL1Pt ( float pt)
inherited

Set the candidate pT.

Parameters
ptCandidate pT in GeV, encoded in 0.5 GeV steps

Definition at line 41 of file IL1CandData_v1.cxx.

41 {
42 const float ptClamped = std::clamp(pt, 0.0F, s_ptRange);
43 const uint8_t ptBinary = static_cast<uint8_t>(
44 std::lround(ptClamped / s_ptResolution));
45 static const SG::Accessor<uint8_t> acc("l1Pt");
46 acc(*this) = ptBinary;
47 }
setRcore setEtHad setFside pt

◆ setL1SectorId()

void xAOD::IL1CandData_v1::setL1SectorId ( uint16_t sectorId)
inherited

Set the sector id.

Parameters
sectorIdSector ID

◆ setL1SegmentQualityFlag()

void xAOD::L1MDTCandData_v1::setL1SegmentQualityFlag ( uint8_t flags)

Set the segment quality flag.

Parameters
flagsSegment quality flag

◆ setL1SlCharge()

void xAOD::L1MDTCandData_v1::setL1SlCharge ( uint8_t slCharge)

Set the sector logic charge.

Parameters
slChargeSlCharge

◆ setL1SlEtaPosition()

void xAOD::L1MDTCandData_v1::setL1SlEtaPosition ( uint16_t slEtaPosition)

Set the sector logic eta position.

Parameters
slEtaPositionSlEtaPosition

◆ setL1SlPhiPosition()

void xAOD::L1MDTCandData_v1::setL1SlPhiPosition ( uint16_t slPhiPosition)

Set the sector logic phi position.

Parameters
slPhiPositionSlPhiPosition

◆ setL1SlPtThreshold()

void xAOD::L1MDTCandData_v1::setL1SlPtThreshold ( uint8_t slPtThreshold)

Set the sector logic pT threshold.

Parameters
slPtThresholdSlPtThreshold

◆ setL1SubdetectorId()

void xAOD::IL1CandData_v1::setL1SubdetectorId ( uint16_t subdetectorId)
inherited

Set the sub detector id.

Parameters
subdetectorIdSubdetector ID

◆ setL1Threshold()

void xAOD::IL1CandData_v1::setL1Threshold ( uint8_t threshold)
inherited

Set the threshold.

Parameters
thresholdThreshold

◆ setTcId()

void xAOD::IL1CandData_v1::setTcId ( uint8_t value)
inherited

Set the trigger-candidate identifier.

Parameters
valueThree-bit trigger-candidate identifier; zero denotes an empty candidate

Definition at line 65 of file IL1CandData_v1.cxx.

65 {
66 static const SG::Accessor<uint8_t> acc("tcId");
67 acc(*this) = value & TC_ID_BIT_MASK;
68 }
static constexpr uint8_t TC_ID_BIT_MASK
Bit mask for the trigger-candidate identifier.

◆ tcId()

uint8_t xAOD::IL1CandData_v1::tcId ( ) const
inherited

Retrieve the trigger-candidate identifier.

Returns
Three-bit trigger-candidate identifier; zero denotes an empty candidate

Definition at line 70 of file IL1CandData_v1.cxx.

70 {
71 static const SG::ConstAccessor<uint8_t> acc("tcId");
72 return acc(*this) & TC_ID_BIT_MASK;
73 }

◆ tcIdBitMask()

constexpr uint8_t xAOD::IL1CandData_v1::tcIdBitMask ( )
inlinestaticconstexprinherited

Definition at line 157 of file IL1CandData_v1.h.

157{ return TC_ID_BIT_MASK; }

Member Data Documentation

◆ COINTYPE_BIT_MASK

uint8_t xAOD::IL1CandData_v1::COINTYPE_BIT_MASK = 0x7
staticconstexprprotectedinherited

Bit mask for Coincidence Types.

Definition at line 174 of file IL1CandData_v1.h.

◆ s_etaBitRange

uint16_t xAOD::IL1CandData_v1::s_etaBitRange = 0x3fff
staticconstexprprotectedinherited

Variables bit size 14 bits for eta, 9 bits for phi, 8 bits for pt.

Definition at line 167 of file IL1CandData_v1.h.

◆ s_etaRange

float xAOD::IL1CandData_v1::s_etaRange = 2.7
staticconstexprprotectedinherited

Variables range.

Definition at line 161 of file IL1CandData_v1.h.

◆ s_phiBitRange

uint16_t xAOD::IL1CandData_v1::s_phiBitRange = 0x1ff
staticconstexprprotectedinherited

Definition at line 168 of file IL1CandData_v1.h.

◆ s_phiRange

float xAOD::IL1CandData_v1::s_phiRange = 2.0 * M_PI
staticconstexprprotectedinherited

Definition at line 162 of file IL1CandData_v1.h.

◆ s_ptBitRange

uint8_t xAOD::IL1CandData_v1::s_ptBitRange = 0xff
staticconstexprprotectedinherited

Definition at line 169 of file IL1CandData_v1.h.

◆ s_ptRange

float xAOD::IL1CandData_v1::s_ptRange
staticconstexprprotectedinherited
Initial value:
=
s_ptResolution * static_cast<float>(s_ptBitRange)
static constexpr float s_ptResolution
GeV per pT code.
static constexpr uint8_t s_ptBitRange

Definition at line 170 of file IL1CandData_v1.h.

◆ s_ptResolution

float xAOD::IL1CandData_v1::s_ptResolution = 0.5F
staticconstexprprotectedinherited

GeV per pT code.

Definition at line 163 of file IL1CandData_v1.h.

◆ TC_ID_BIT_MASK

uint8_t xAOD::IL1CandData_v1::TC_ID_BIT_MASK = 0x7
staticconstexprprotectedinherited

Bit mask for the trigger-candidate identifier.

Definition at line 176 of file IL1CandData_v1.h.


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