ATLAS Offline Software
Public Member Functions | Public Attributes | Friends | List of all members
robmonitor::ROBDataMonitorStruct Class Reference

The structure which is used to monitor the ROB data request in L2 It is created for every addROBData call. More...

#include <ROBDataMonitor.h>

Collaboration diagram for robmonitor::ROBDataMonitorStruct:

Public Member Functions

 ROBDataMonitorStruct ()=default
 default constructor More...
 
 ROBDataMonitorStruct (const uint32_t, const std::string &)
 constructor More...
 
 ROBDataMonitorStruct (const uint32_t, const std::vector< uint32_t > &, const std::string &)
 constructor More...
 
 ROBDataMonitorStruct (const ROBDataMonitorStruct &)=default
 
 ROBDataMonitorStruct (ROBDataMonitorStruct &&) noexcept=default
 
ROBDataMonitorStructoperator= (const ROBDataMonitorStruct &)=default
 
ROBDataMonitorStructoperator= (ROBDataMonitorStruct &&) noexcept=default
 
unsigned allROBs () const
 stop time of ROB request (microsec since epoch) More...
 
unsigned unclassifiedROBs () const
 number of unclassified ROBs in structure More...
 
unsigned HLTcachedROBs () const
 number of ROBDataProviderSvc cached ROBs in structure More...
 
unsigned DCMcachedROBs () const
 number of DCM cached ROBs in structure More...
 
unsigned retrievedROBs () const
 number of retrieved ROBs in structure More...
 
unsigned ignoredROBs () const
 number of ignored ROBs in structure More...
 
unsigned undefinedROBs () const
 number of undefined ROBs in structure More...
 
unsigned statusOkROBs () const
 number of ROBs with no status words set in structure More...
 
float elapsedTime () const
 elapsed time for ROB request in [ms] More...
 

Public Attributes

uint32_t lvl1ID {0}
 
std::string requestor_name {"UNKNOWN"}
 current L1 ID from L1 ROBs More...
 
std::map< const uint32_t, robmonitor::ROBDataStructrequested_ROBs
 name of requesting algorithm More...
 
uint64_t start_time {}
 map of ROBs requested More...
 
uint64_t end_time {}
 start time of ROB request (microsec since epoch) More...
 

Friends

std::ostream & operator<< (std::ostream &os, const ROBDataMonitorStruct &rhs)
 

Detailed Description

The structure which is used to monitor the ROB data request in L2 It is created for every addROBData call.

Definition at line 79 of file ROBDataMonitor.h.

Constructor & Destructor Documentation

◆ ROBDataMonitorStruct() [1/5]

robmonitor::ROBDataMonitorStruct::ROBDataMonitorStruct ( )
default

default constructor

◆ ROBDataMonitorStruct() [2/5]

ROBDataMonitorStruct::ROBDataMonitorStruct ( const uint32_t  l1_id,
const std::string &  req_nam = "UNKNOWN" 
)

constructor

Parameters
L1ID
requestorname

Definition at line 76 of file ROBDataMonitor.cxx.

77  :lvl1ID(l1_id),
78  requestor_name(req_nam)
79 {}

◆ ROBDataMonitorStruct() [3/5]

ROBDataMonitorStruct::ROBDataMonitorStruct ( const uint32_t  l1_id,
const std::vector< uint32_t > &  req_robs,
const std::string &  req_nam = "UNKNOWN" 
)

constructor

Parameters
L1ID
vectorof ROB Ids
requestorname

Definition at line 81 of file ROBDataMonitor.cxx.

84  :lvl1ID(l1_id),
85  requestor_name(req_nam)
86 {
87  for (uint32_t rob : req_robs) {
89  }
90 }

◆ ROBDataMonitorStruct() [4/5]

robmonitor::ROBDataMonitorStruct::ROBDataMonitorStruct ( const ROBDataMonitorStruct )
default

◆ ROBDataMonitorStruct() [5/5]

robmonitor::ROBDataMonitorStruct::ROBDataMonitorStruct ( ROBDataMonitorStruct &&  )
defaultnoexcept

Member Function Documentation

◆ allROBs()

unsigned ROBDataMonitorStruct::allROBs ( ) const

stop time of ROB request (microsec since epoch)

number of ROBs in structure

Definition at line 92 of file ROBDataMonitor.cxx.

92  {
93  return requested_ROBs.size();
94 }

◆ DCMcachedROBs()

unsigned ROBDataMonitorStruct::DCMcachedROBs ( ) const

number of DCM cached ROBs in structure

Definition at line 112 of file ROBDataMonitor.cxx.

112  {
113  ptrdiff_t ret=0;
114  for (const auto& p : requested_ROBs) {
115  if (p.second.isDCMCached()) ++ret;
116  }
117  return ret;
118 }

◆ elapsedTime()

float ROBDataMonitorStruct::elapsedTime ( ) const

elapsed time for ROB request in [ms]

Definition at line 152 of file ROBDataMonitor.cxx.

152  {
153  float secs = 0 ;
154  if (end_time >= start_time)
155  secs = (end_time - start_time)/1e3;
156  return secs;
157 }

◆ HLTcachedROBs()

unsigned ROBDataMonitorStruct::HLTcachedROBs ( ) const

number of ROBDataProviderSvc cached ROBs in structure

Definition at line 104 of file ROBDataMonitor.cxx.

104  {
105  ptrdiff_t ret=0;
106  for (const auto& p : requested_ROBs) {
107  if (p.second.isHLTCached()) ++ret;
108  }
109  return ret;
110 }

◆ ignoredROBs()

unsigned ROBDataMonitorStruct::ignoredROBs ( ) const

number of ignored ROBs in structure

Definition at line 128 of file ROBDataMonitor.cxx.

128  {
129  ptrdiff_t ret=0;
130  for (const auto& p : requested_ROBs) {
131  if (p.second.isIgnored()) ++ret;
132  }
133  return ret;
134 }

◆ operator=() [1/2]

ROBDataMonitorStruct& robmonitor::ROBDataMonitorStruct::operator= ( const ROBDataMonitorStruct )
default

◆ operator=() [2/2]

ROBDataMonitorStruct& robmonitor::ROBDataMonitorStruct::operator= ( ROBDataMonitorStruct &&  )
defaultnoexcept

◆ retrievedROBs()

unsigned ROBDataMonitorStruct::retrievedROBs ( ) const

number of retrieved ROBs in structure

Definition at line 120 of file ROBDataMonitor.cxx.

120  {
121  ptrdiff_t ret=0;
122  for (const auto& p : requested_ROBs) {
123  if (p.second.isRetrieved()) ++ret;
124  }
125  return ret;
126 }

◆ statusOkROBs()

unsigned ROBDataMonitorStruct::statusOkROBs ( ) const

number of ROBs with no status words set in structure

Definition at line 144 of file ROBDataMonitor.cxx.

144  {
145  ptrdiff_t ret=0;
146  for (const auto& p : requested_ROBs) {
147  if (p.second.isStatusOk()) ++ret;
148  }
149  return ret;
150 }

◆ unclassifiedROBs()

unsigned ROBDataMonitorStruct::unclassifiedROBs ( ) const

number of unclassified ROBs in structure

Definition at line 96 of file ROBDataMonitor.cxx.

96  {
97  ptrdiff_t ret=0;
98  for (const auto& p : requested_ROBs) {
99  if (p.second.isUnclassified()) ++ret;
100  }
101  return ret;
102 }

◆ undefinedROBs()

unsigned ROBDataMonitorStruct::undefinedROBs ( ) const

number of undefined ROBs in structure

Definition at line 136 of file ROBDataMonitor.cxx.

136  {
137  ptrdiff_t ret=0;
138  for (const auto& p : requested_ROBs) {
139  if (p.second.isUndefined()) ++ret;
140  }
141  return ret;
142 }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const ROBDataMonitorStruct rhs 
)
friend

Member Data Documentation

◆ end_time

uint64_t robmonitor::ROBDataMonitorStruct::end_time {}

start time of ROB request (microsec since epoch)

Definition at line 113 of file ROBDataMonitor.h.

◆ lvl1ID

uint32_t robmonitor::ROBDataMonitorStruct::lvl1ID {0}

Definition at line 107 of file ROBDataMonitor.h.

◆ requested_ROBs

std::map<const uint32_t,robmonitor::ROBDataStruct> robmonitor::ROBDataMonitorStruct::requested_ROBs

name of requesting algorithm

Definition at line 109 of file ROBDataMonitor.h.

◆ requestor_name

std::string robmonitor::ROBDataMonitorStruct::requestor_name {"UNKNOWN"}

current L1 ID from L1 ROBs

Definition at line 108 of file ROBDataMonitor.h.

◆ start_time

uint64_t robmonitor::ROBDataMonitorStruct::start_time {}

map of ROBs requested

Definition at line 112 of file ROBDataMonitor.h.


The documentation for this class was generated from the following files:
robmonitor::ROBDataStruct
A structure with data about ROB properties.
Definition: ROBDataMonitor.h:37
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
robmonitor::ROBDataMonitorStruct::end_time
uint64_t end_time
start time of ROB request (microsec since epoch)
Definition: ROBDataMonitor.h:113
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
robmonitor::ROBDataMonitorStruct::lvl1ID
uint32_t lvl1ID
Definition: ROBDataMonitor.h:107
robmonitor::ROBDataMonitorStruct::start_time
uint64_t start_time
map of ROBs requested
Definition: ROBDataMonitor.h:112
robmonitor::ROBDataMonitorStruct::requestor_name
std::string requestor_name
current L1 ID from L1 ROBs
Definition: ROBDataMonitor.h:108
robmonitor::ROBDataMonitorStruct::requested_ROBs
std::map< const uint32_t, robmonitor::ROBDataStruct > requested_ROBs
name of requesting algorithm
Definition: ROBDataMonitor.h:109