17 if (
data.rosCollection().empty()){
22 auto robIds =
tc->getDetail<std::vector<uint32_t>>(
"robs_id");
24 std::set<std::string> rosPerRequest;
25 for (uint32_t robId : robIds) {
26 if (
data.costROSData().getROSForROB(robId).empty()){
27 ATH_MSG_WARNING(
"ROS for ROB 0x" << std::hex << robId <<
" is missing");
30 std::string rosForROB =
data.costROSData().getROSForROB(robId);
31 if (!rosForROB.empty()){
32 rosPerRequest.insert(std::move(rosForROB));
36 for (
const std::string& rosName : rosPerRequest) {
39 unsigned nRobs =
data.costROSData().getROBForROS(rosName).size();
47 return StatusCode::SUCCESS;
52 return std::make_unique<CounterROS>(name,
this);
56 return std::make_unique<CounterROS>(name, nRobs,
this);
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
char data[hepevt_bytes_allocation_ATLAS]
Caches and propagates event data to be used by monitoring algorithms.
CounterBase * getCounter(const std::string &name)
Retrieve counter by name.
MonitorBase()=delete
Forbid default constructor.
bool counterExists(const std::string &name) const
Check if a counter of a given name exists.
std::unordered_map< std::string, std::unique_ptr< CounterBase > > m_counters
Storage of Monitor's collection of Counters.
virtual std::unique_ptr< CounterBase > newCounter(const std::string &name) override
Concrete counter instantiation.
virtual StatusCode newEvent(const CostData &data, const float weight=1.) override
Concrete dispatch method.
MonitorROS()=delete
Forbid default constructor.
Container which represents a time range and holds a collection of Monitors which monitor this range.
TrigComposite_v1 TrigComposite
Declare the latest version of the class.