20 if (data.rosCollection().empty()){
23 const std::string robsIdStr{
"robs_id"};
25 auto robIds =
tc->getDetail<std::vector<uint32_t>>(robsIdStr);
27 std::set<std::string> rosPerRequest;
28 for (uint32_t robId : robIds) {
29 if (data.costROSData().getROSForROB(robId).empty()){
30 ATH_MSG_WARNING(
"ROS for ROB 0x" << std::hex << robId <<
" is missing");
33 std::string rosForROB = data.costROSData().getROSForROB(robId);
34 if (!rosForROB.empty()){
35 rosPerRequest.insert(std::move(rosForROB));
39 for (
const std::string& rosName : rosPerRequest) {
42 unsigned nRobs = data.costROSData().getROBForROS(rosName).size();
50 return StatusCode::SUCCESS;
55 return std::make_unique<CounterROS>(name,
this);
59 return std::make_unique<CounterROS>(name, nRobs,
this);
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
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.