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

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

#include <TGCCandData_v1.h>

Inheritance diagram for xAOD::TGCCandData_v1:
Collaboration diagram for xAOD::TGCCandData_v1:

Public Types

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

Public Member Functions

 TGCCandData_v1 ()=default
 ~TGCCandData_v1 ()=default
float deltaPhi () const
 Retrieve the delta phi wrt vector from IP to segment position.
float deltaTheta () const
 Retrieve the delta theta value wrt vector from IP to segment position.
uint32_t nswSegment () const
 Retrieve the NSW segments.
void setDeltaPhi (float dphi)
 Set the delta phi value.
void setDeltaTheta (float dtheta)
 Set the delta theta value.
void setNswSegment (uint32_t nswout)
 Set the NSW segments.
uint16_t subdetectorId () const
 Retrieve the sub detector id.
uint16_t sectorId () const
 Retrieve the sector id.
uint16_t bcTag () const
 Retrieve the bunch crossing tag.
uint8_t threshold () const
 Retrieve the threshold.
uint8_t candCharge () const
 Retrieve the candidate charge.
uint8_t mdtFlag () const
 Retrieve the MDT flag.
uint8_t coinType () const
 Retrieve the coincidence type.
uint16_t eta () const
 Retrieve the eta.
uint16_t phi () const
 Retrieve the phi.
uint8_t pt () const
 Retrieve the pt.
Quality candQuality () const
 Retrieve the candidate quality.
void setSubdetectorId (uint16_t subdetectorId)
 Set the sub detector id.
void setSectorId (uint16_t sectorId)
 Set the sector id.
void setBcTag (uint16_t bcTag)
 Set the bunch crossing tag.
void setEta (float eta)
 Set the eta.
void setPhi (float phi)
 Set the phi.
void setPt (float pt)
 Set the pt.
void setThreshold (uint8_t threshold)
 Set the threshold.
void setCandCharge (uint8_t candCharge)
 Set the candidate charge.
void setMdtFlag (uint8_t mdtFlag)
 Set the MDT flag.
void setCoinType (uint8_t coinType)
 Set the coincidence type.
void setCandQuality (Quality candQuality)
 Set the candidate quality.
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 ptRange ()
static constexpr uint8_t ptBitRange ()
static constexpr uint8_t coinTypeBitMask ()

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_ptRange = 1000.0
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 uint8_t COINTYPE_BIT_MASK = 0x7
 Bit mask for Coincidence Types.

Static Private Attributes

static constexpr float s_dthetaRange = 0.160
 range of the RPC hits z positions
static constexpr float s_dphiRange = 0.032
static constexpr float s_posRange = 12500.0F
 range of the TGC hits positions
static constexpr uint8_t DPHI_BIT_MASK = 0x7
 Bit mask for deltaPhi : 1 bit for sign and 3 bits.
static constexpr uint8_t DTHETA_BIT_MASK = 0x3f
 Bit mask for deltaTheta : 1 bit for sign and 6 bits.
static constexpr uint32_t NSW_BIT_MASK = 0xfffffff
 Bit mask for NSW-TP output.

Detailed Description

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

Definition at line 19 of file TGCCandData_v1.h.

Member Enumeration Documentation

◆ BC_ID

enum class xAOD::ICandData_v1::BC_ID
stronginherited

Bunch crossing identifier.

Enumerator
BC_UNDEFINED 
BC_PREVIOUS 
BC_CURRENT 
BC_NEXT 
BC_NEXTNEXT 

Definition at line 27 of file ICandData_v1.h.

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

◆ Quality

enum class xAOD::ICandData_v1::Quality : uint8_t
stronginherited
Enumerator
Q_UNDEFINED 
Q_BEST 
Q_LOW 

Definition at line 36 of file ICandData_v1.h.

37 {
38 Q_UNDEFINED = 0,
39 Q_BEST,
40 Q_LOW
41 };

Constructor & Destructor Documentation

◆ TGCCandData_v1()

xAOD::TGCCandData_v1::TGCCandData_v1 ( )
default

◆ ~TGCCandData_v1()

xAOD::TGCCandData_v1::~TGCCandData_v1 ( )
default

Member Function Documentation

◆ bcTag()

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

Retrieve the bunch crossing tag.

Returns
Bunch crossing tag

◆ candCharge()

uint8_t xAOD::ICandData_v1::candCharge ( ) const
inherited

Retrieve the candidate charge.

Returns
Candidate charge

◆ candQuality()

Quality xAOD::ICandData_v1::candQuality ( ) const
inherited

Retrieve the candidate quality.

Returns
Candidate quality

◆ coinType()

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

Retrieve the coincidence type.

Returns
Coincidence type

Definition at line 69 of file ICandData_v1.cxx.

69 {
70 static const SG::AuxElement::Accessor<uint8_t> acc(preFixStr + "coinType");
71 return acc(*this);
72 }
static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.

◆ coinTypeBitMask()

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

Definition at line 175 of file ICandData_v1.h.

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

◆ deltaPhi()

float xAOD::TGCCandData_v1::deltaPhi ( ) const

Retrieve the delta phi wrt vector from IP to segment position.

Returns
Delta phi value

Definition at line 18 of file TGCCandData_v1.cxx.

18 {
19 static const SG::ConstAccessor<uint8_t> acc(preFixStr + "deltaPhi");
20 uint8_t dphiBin = acc(*this);
21 float dphi = static_cast<float>(dphiBin & DPHI_BIT_MASK) / static_cast<float>(DPHI_BIT_MASK+1) * s_dphiRange;
22 return (dphiBin & (DPHI_BIT_MASK + 1)) ? dphi : -1. * dphi;
23}
static constexpr float s_dphiRange
static constexpr uint8_t DPHI_BIT_MASK
Bit mask for deltaPhi : 1 bit for sign and 3 bits.

◆ deltaTheta()

float xAOD::TGCCandData_v1::deltaTheta ( ) const

Retrieve the delta theta value wrt vector from IP to segment position.

Returns
Delta theta value

Definition at line 25 of file TGCCandData_v1.cxx.

25 {
26 static const SG::ConstAccessor<uint8_t> acc(preFixStr + "deltaTheta");
27 uint8_t dthetaBin = acc(*this);
28 float dtheta = static_cast<float>(dthetaBin & DTHETA_BIT_MASK) / static_cast<float>(DTHETA_BIT_MASK+1) * s_dthetaRange;
29 return (dthetaBin & (DTHETA_BIT_MASK + 1)) ? dtheta : -1. * dtheta;
30}
static constexpr uint8_t DTHETA_BIT_MASK
Bit mask for deltaTheta : 1 bit for sign and 6 bits.
static constexpr float s_dthetaRange
range of the RPC hits z positions

◆ eta()

uint16_t xAOD::ICandData_v1::eta ( ) const
inherited

Retrieve the eta.

Returns
Eta

Definition at line 33 of file ICandData_v1.cxx.

33 {
34 static const SG::AuxElement::Accessor<uint16_t> acc(preFixStr + "eta");
35 return acc(*this);
36 }

◆ etaBitRange()

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

Definition at line 170 of file ICandData_v1.h.

170{ 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::ICandData_v1::etaRange ( )
inlinestaticconstexprinherited

Definition at line 169 of file ICandData_v1.h.

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

◆ initialize()

void xAOD::ICandData_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 74 of file ICandData_v1.cxx.

74 {
78 }
void setBcTag(uint16_t bcTag)
Set the bunch crossing tag.
uint16_t sectorId() const
Retrieve the sector id.
uint16_t bcTag() const
Retrieve the bunch crossing tag.
void setSubdetectorId(uint16_t subdetectorId)
Set the sub detector id.
uint16_t subdetectorId() const
Retrieve the sub detector id.
void setSectorId(uint16_t sectorId)
Set the sector id.

◆ mdtFlag()

uint8_t xAOD::ICandData_v1::mdtFlag ( ) const
inherited

Retrieve the MDT flag.

Returns
MDT flag

◆ nswSegment()

uint32_t xAOD::TGCCandData_v1::nswSegment ( ) const

Retrieve the NSW segments.

Returns
NSW segments

Definition at line 32 of file TGCCandData_v1.cxx.

32 {
33 static const SG::ConstAccessor<uint32_t> acc(preFixStr + "nswSegment");
34 return acc(*this);
35}
SG::ConstAccessor< T, ALLOC > ConstAccessor
Definition AuxElement.h:570

◆ phi()

uint16_t xAOD::ICandData_v1::phi ( ) const
inherited

Retrieve the phi.

Returns
Phi

Definition at line 44 of file ICandData_v1.cxx.

44 {
45 static const SG::AuxElement::Accessor<uint16_t> acc(preFixStr + "phi");
46 //return (static_cast<float>(acc(*this)) / static_cast<float>(s_phiBitRange)) * s_phiRange-M_PI;
47 return acc(*this);
48 }

◆ phiBitRange()

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

Definition at line 172 of file ICandData_v1.h.

172{ return s_phiBitRange; }
static constexpr uint16_t s_phiBitRange

◆ phiRange()

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

Definition at line 171 of file ICandData_v1.h.

171{ return s_phiRange; }
static constexpr float s_phiRange

◆ pt()

uint8_t xAOD::ICandData_v1::pt ( ) const
inherited

Retrieve the pt.

Returns
Pt

Definition at line 58 of file ICandData_v1.cxx.

58 {
59 static const SG::AuxElement::Accessor<uint8_t> acc(preFixStr + "pt");
60 return acc(*this);
61 }

◆ ptBitRange()

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

Definition at line 174 of file ICandData_v1.h.

174{ return s_ptBitRange; }
static constexpr uint8_t s_ptBitRange

◆ ptRange()

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

Definition at line 173 of file ICandData_v1.h.

173{ return s_ptRange; }
static constexpr float s_ptRange

◆ sectorId()

uint16_t xAOD::ICandData_v1::sectorId ( ) const
inherited

Retrieve the sector id.

Returns
Sector ID

◆ setBcTag()

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

Set the bunch crossing tag.

Parameters
bcTagBunch crossing tag

◆ setCandCharge()

void xAOD::ICandData_v1::setCandCharge ( uint8_t candCharge)
inherited

Set the candidate charge.

Parameters
candChargeCandidate charge

◆ setCandQuality()

void xAOD::ICandData_v1::setCandQuality ( Quality candQuality)
inherited

Set the candidate quality.

Parameters
candQualityCandidate quality

◆ setCoinType()

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

Set the coincidence type.

Parameters
coinTypeCoincidence type

Definition at line 63 of file ICandData_v1.cxx.

63 {
64 uint8_t coinTypeBin = cointype & COINTYPE_BIT_MASK;
65 static const SG::AuxElement::Accessor<uint8_t> acc(preFixStr + "coinType");
66 acc(*this) = coinTypeBin;
67 }

◆ setDeltaPhi()

void xAOD::TGCCandData_v1::setDeltaPhi ( float dphi)

Set the delta phi value.

Parameters
dphiDelta phi value

Definition at line 37 of file TGCCandData_v1.cxx.

37 {
38 uint8_t deltaPhiBin = std::min(static_cast<uint8_t>(std::abs(dphi) / s_dphiRange * static_cast<float>(DPHI_BIT_MASK+1)),
39 static_cast<uint8_t>(DPHI_BIT_MASK));
40 if (dphi > 0.) deltaPhiBin += DPHI_BIT_MASK + 1;
41 static const SG::Accessor<uint8_t> acc(preFixStr + "deltaPhi");
42 acc(*this) = deltaPhiBin;
43}
SG::Accessor< T, ALLOC > Accessor
Definition AuxElement.h:573

◆ setDeltaTheta()

void xAOD::TGCCandData_v1::setDeltaTheta ( float dtheta)

Set the delta theta value.

Parameters
dthetaDelta theta value

Definition at line 45 of file TGCCandData_v1.cxx.

45 {
46 uint8_t deltaThetaBin = std::min(static_cast<uint8_t>(std::abs(dtheta) / s_dthetaRange * static_cast<float>(DTHETA_BIT_MASK+1)),
47 static_cast<uint8_t>(DTHETA_BIT_MASK));
48 if (dtheta > 0.) deltaThetaBin += DTHETA_BIT_MASK + 1;
49 static const SG::Accessor<uint8_t> acc(preFixStr + "deltaTheta");
50 acc(*this) = deltaThetaBin;
51}

◆ setEta()

void xAOD::ICandData_v1::setEta ( float eta)
inherited

Set the eta.

Parameters
etaEta

Definition at line 26 of file ICandData_v1.cxx.

26 {
27 float etaClamped = std::clamp(eta, -s_etaRange, s_etaRange);
28 uint16_t etaBinary = static_cast<uint16_t>(std::lround((etaClamped + s_etaRange) / (2.0f * s_etaRange) * static_cast<float>(s_etaBitRange)));
29 static const SG::AuxElement::Accessor<uint16_t> acc(preFixStr + "eta");
30 acc(*this) = etaBinary;
31 }
uint16_t eta() const
Retrieve the eta.
setWord1 uint16_t

◆ setMdtFlag()

void xAOD::ICandData_v1::setMdtFlag ( uint8_t mdtFlag)
inherited

Set the MDT flag.

Parameters
mdtFlagMDT flag

◆ setNswSegment()

void xAOD::TGCCandData_v1::setNswSegment ( uint32_t nswout)

Set the NSW segments.

Parameters
nswoutNSW segments

Definition at line 53 of file TGCCandData_v1.cxx.

53 {
54 static const SG::Accessor<uint32_t> acc(preFixStr + "nswSegment");
55 acc(*this) = nswout;
56}

◆ setPhi()

void xAOD::ICandData_v1::setPhi ( float phi)
inherited

Set the phi.

Parameters
phiPhi

Definition at line 38 of file ICandData_v1.cxx.

38 {
39 uint16_t phiBinary = static_cast<uint16_t>(((phi + M_PI) / s_phiRange) * static_cast<float>(s_phiBitRange));
40 static const SG::AuxElement::Accessor<uint16_t> acc(preFixStr + "phi");
41 acc(*this) = phiBinary;
42 }
#define M_PI
uint16_t phi() const
Retrieve the phi.

◆ setPt()

void xAOD::ICandData_v1::setPt ( float pt)
inherited

Set the pt.

Parameters
ptPt

Definition at line 50 of file ICandData_v1.cxx.

50 {
51 const float ptClamped = std::clamp(pt, 0.0f, s_ptRange);
52 const uint8_t ptBinary = static_cast<uint8_t>(
53 std::lround((ptClamped / s_ptRange) * static_cast<float>(s_ptBitRange)));
54 static const SG::AuxElement::Accessor<uint8_t> acc(preFixStr + "pt");
55 acc(*this) = ptBinary;
56 }
uint8_t pt() const
Retrieve the pt.

◆ setSectorId()

void xAOD::ICandData_v1::setSectorId ( uint16_t sectorId)
inherited

Set the sector id.

Parameters
sectorIdSector ID

◆ setSubdetectorId()

void xAOD::ICandData_v1::setSubdetectorId ( uint16_t subdetectorId)
inherited

Set the sub detector id.

Parameters
subdetectorIdSubdetector ID

◆ setThreshold()

void xAOD::ICandData_v1::setThreshold ( uint8_t threshold)
inherited

Set the threshold.

Parameters
thresholdThreshold

◆ subdetectorId()

uint16_t xAOD::ICandData_v1::subdetectorId ( ) const
inherited

Retrieve the sub detector id.

Returns
Subdetector ID

◆ threshold()

uint8_t xAOD::ICandData_v1::threshold ( ) const
inherited

Retrieve the threshold.

Returns
Threshold

Member Data Documentation

◆ COINTYPE_BIT_MASK

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

Bit mask for Coincidence Types.

Definition at line 190 of file ICandData_v1.h.

◆ DPHI_BIT_MASK

uint8_t xAOD::TGCCandData_v1::DPHI_BIT_MASK = 0x7
staticconstexprprivate

Bit mask for deltaPhi : 1 bit for sign and 3 bits.

Definition at line 65 of file TGCCandData_v1.h.

◆ DTHETA_BIT_MASK

uint8_t xAOD::TGCCandData_v1::DTHETA_BIT_MASK = 0x3f
staticconstexprprivate

Bit mask for deltaTheta : 1 bit for sign and 6 bits.

Definition at line 67 of file TGCCandData_v1.h.

◆ NSW_BIT_MASK

uint32_t xAOD::TGCCandData_v1::NSW_BIT_MASK = 0xfffffff
staticconstexprprivate

Bit mask for NSW-TP output.

Definition at line 69 of file TGCCandData_v1.h.

◆ s_dphiRange

float xAOD::TGCCandData_v1::s_dphiRange = 0.032
staticconstexprprivate

Definition at line 60 of file TGCCandData_v1.h.

◆ s_dthetaRange

float xAOD::TGCCandData_v1::s_dthetaRange = 0.160
staticconstexprprivate

range of the RPC hits z positions

Definition at line 59 of file TGCCandData_v1.h.

◆ s_etaBitRange

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

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

Definition at line 185 of file ICandData_v1.h.

◆ s_etaRange

float xAOD::ICandData_v1::s_etaRange = 2.7
staticconstexprprotectedinherited

Variables range.

Definition at line 179 of file ICandData_v1.h.

◆ s_phiBitRange

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

Definition at line 186 of file ICandData_v1.h.

◆ s_phiRange

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

Definition at line 180 of file ICandData_v1.h.

◆ s_posRange

float xAOD::TGCCandData_v1::s_posRange = 12500.0F
staticconstexprprivate

range of the TGC hits positions

Definition at line 62 of file TGCCandData_v1.h.

◆ s_ptBitRange

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

Definition at line 187 of file ICandData_v1.h.

◆ s_ptRange

float xAOD::ICandData_v1::s_ptRange = 1000.0
staticconstexprprotectedinherited

Definition at line 181 of file ICandData_v1.h.


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