ATLAS Offline Software
|
Class for storing the 32-bit muon RoI word. More...
#include <MuCTPIRoI.h>
Public Member Functions | |
MuCTPIRoI (uint32_t) | |
Constructor with the actual RoI word. More... | |
MuCTPIRoI () | |
Default constructor. More... | |
~MuCTPIRoI ()=default | |
Destructor. More... | |
uint32_t | roIWord () const |
Method returning the RoI word. More... | |
unsigned int | pt () const |
Method returning the pT of the RoI candidate. More... | |
unsigned int | getSectorAddress () const |
Method returning the "electronics address" of the candidate. More... | |
uint16_t | getHemisphere () const |
Method returning the hemisphere of the candidate. More... | |
uint16_t | getSectorOverflow () const |
Method telling whether there were more than two candidates in this candidate's sector. More... | |
uint16_t | getRoiOverflow () const |
Method telling whether there were more than one candidates in this candidate's RoI. More... | |
uint16_t | getRoiNumber () const |
Method returning the RoI in which the candidate was detected. More... | |
uint16_t | getOverlapBits () const |
Method returning the "overlap bits" of the candidate. More... | |
MuCTPI_RDO::SectorLocation | getSectorLocation () const |
Method returning the name of the system that produced the RoI. More... | |
uint16_t | getSectorID () const |
Method returning the number of the trigger sector producing the candidate. More... | |
uint16_t | getCandidateIsHighestPt () const |
Method telling whether the candidate had the highest pT in the sector. More... | |
Static Public Attributes | |
static const uint32_t | ROI_CAND_SECTOR_ADDRESS_SHIFT = 14 |
Position of the sector address in the RoI word. More... | |
static const uint32_t | ROI_CAND_HIGHEST_PT_SHIFT = 22 |
Position of the "highest p<sub>T</sub> bit" in the RoI word. More... | |
Private Attributes | |
uint32_t | m_roIWord |
The RoI word itself. More... | |
Class for storing the 32-bit muon RoI word.
This class is used to store one muon RoI as collected by the RoI Builder. The RoI itself is a simple 32-bit unsigned integer, so the whole class rather exists for its access methods only. For a detailed description of the data format of the MuCTPI, see the MIROD documentation (https://edms.cern.ch/file/248757/1/mirod.pdf).
Definition at line 39 of file MuCTPIRoI.h.
ROIB::MuCTPIRoI::MuCTPIRoI | ( | uint32_t | RoIWord | ) |
Constructor with the actual RoI word.
This constructor should be used in any useful code, as this is the only way of giving a non-zero value to the RoI word variable of the object.
RoIWord | The 32-bit RoI word as collected by the RoI Builder |
Definition at line 20 of file MuCTPIRoI.cxx.
ROIB::MuCTPIRoI::MuCTPIRoI | ( | ) |
|
default |
Destructor.
uint16_t ROIB::MuCTPIRoI::getCandidateIsHighestPt | ( | ) | const |
Method telling whether the candidate had the highest pT in the sector.
This method returns bit 22 of the RoI word, just like MuCTPIRoI::firstBit() does.
I just realised this duplication while writing the documentation, eventually this should be removed.
Definition at line 217 of file MuCTPIRoI.cxx.
uint16_t ROIB::MuCTPIRoI::getHemisphere | ( | ) | const |
Method returning the hemisphere of the candidate.
Returns the hemisphere in which the candidate was detected.
Definition at line 76 of file MuCTPIRoI.cxx.
uint16_t ROIB::MuCTPIRoI::getOverlapBits | ( | ) | const |
Method returning the "overlap bits" of the candidate.
The barrel sectors can flag the muon candidates coming from a part of the trigger sector that overlaps with another one.
In theory both the barrel and endcap sectors should be able to flag the candidates from around η = 1.05 that could be detected by both a barrel and endcap sector, but they don't do that.
So even though all the following should be possible, only the first two are implemented:
Definition at line 153 of file MuCTPIRoI.cxx.
uint16_t ROIB::MuCTPIRoI::getRoiNumber | ( | ) | const |
Method returning the RoI in which the candidate was detected.
The muon trigger sectors are divided into "RoIs", which are small parts of the detector (in η and φ) in this context.
The number of RoIs in the different sectors (especially in the barrel) are varying, but in general:
Definition at line 115 of file MuCTPIRoI.cxx.
uint16_t ROIB::MuCTPIRoI::getRoiOverflow | ( | ) | const |
Method telling whether there were more than one candidates in this candidate's RoI.
The muon trigger sectors can't handle more than one muon candidates in a single RoI.
(RoI in this context a part of the muon detector, not the 32-bit word sent by the hardware!) If more than 1 are detected, the one with the highest pT threshold is submitted, and this bit is raised.
Definition at line 100 of file MuCTPIRoI.cxx.
unsigned int ROIB::MuCTPIRoI::getSectorAddress | ( | ) | const |
Method returning the "electronics address" of the candidate.
Returns the address of the sector that the candidate came from.
The sector address is actually a combination of the sector number and 2 bits showing the sector type. Both of which can be accessed by other member functions.
Definition at line 66 of file MuCTPIRoI.cxx.
uint16_t ROIB::MuCTPIRoI::getSectorID | ( | ) | const |
Method returning the number of the trigger sector producing the candidate.
This is practically the number of the sector that produced the muon candidate.
Sectors are numbered in the following ranges:
Definition at line 200 of file MuCTPIRoI.cxx.
MuCTPI_RDO::SectorLocation ROIB::MuCTPIRoI::getSectorLocation | ( | ) | const |
Method returning the name of the system that produced the RoI.
The system producing the muon candidate is encoded in the RoI word by the MuCTPI.
Using that, it's quite easy to decode which system produced the candidate.
Definition at line 180 of file MuCTPIRoI.cxx.
uint16_t ROIB::MuCTPIRoI::getSectorOverflow | ( | ) | const |
Method telling whether there were more than two candidates in this candidate's sector.
The muon trigger sectors can only transmit information about 2 muon candidates each.
If one of them detects more than 2, it transmits the 2 with the highest pT threshold, and raises this bit.
Definition at line 87 of file MuCTPIRoI.cxx.
unsigned int ROIB::MuCTPIRoI::pt | ( | ) | const |
Method returning the pT of the RoI candidate.
The candidate's pT is stored as a 3-bit threshold number, with the following meanings:
Definition at line 52 of file MuCTPIRoI.cxx.
uint32_t ROIB::MuCTPIRoI::roIWord | ( | ) | const |
Method returning the RoI word.
This method can be used to access the "original" RoI word.
Definition at line 35 of file MuCTPIRoI.cxx.
|
private |
The RoI word itself.
Definition at line 79 of file MuCTPIRoI.h.
|
static |
Position of the "highest p<sub>T</sub> bit" in the RoI word.
Definition at line 75 of file MuCTPIRoI.h.
|
static |
Position of the sector address in the RoI word.
Definition at line 73 of file MuCTPIRoI.h.