ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigCost
TrigCostAnalysis
src
monitors
MonitorAlgorithmClass.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
MonitorAlgorithmClass.h
"
6
#include "
../counters/CounterAlgorithmClass.h
"
7
#include <cstdint>
8
9
MonitorAlgorithmClass::MonitorAlgorithmClass
(
const
std::string& name,
const
MonitoredRange
* parent)
10
:
MonitorBase
(name, parent) {
11
}
12
13
StatusCode
MonitorAlgorithmClass::newEvent
(
const
CostData
& data,
const
float
weight) {
14
const
std::string slotStr{
"slot"
};
15
const
std::string algStr{
"alg"
};
16
for
(
const
xAOD::TrigComposite
*
tc
: data.costCollection()) {
17
const
uint32_t slot =
tc
->getDetail<uint32_t>(slotStr);
18
if
(slot != data.onlineSlot()) {
19
continue
;
// When monitoring the master slot, this Monitor ignores algs running in different slots
20
}
21
const
uint32_t nameHash =
tc
->getDetail<
TrigConf::HLTHash
>(algStr);
22
const
std::string& name = data.algNameToClassType(nameHash);
23
ATH_CHECK
(
getCounter
(name)->
newEvent
(data,
tc
->index(), weight) );
24
}
25
26
return
StatusCode::SUCCESS;
27
}
28
29
30
std::unique_ptr<CounterBase>
MonitorAlgorithmClass::newCounter
(
const
std::string& name) {
31
return
std::make_unique<CounterAlgorithmClass>(name,
this
);
32
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
CounterAlgorithmClass.h
tc
static Double_t tc
Definition
LArPhysWaveHECTool.cxx:38
MonitorAlgorithmClass.h
CostData
Caches and propagates event data to be used by monitoring algorithms.
Definition
CostData.h:26
MonitorAlgorithmClass::newCounter
virtual std::unique_ptr< CounterBase > newCounter(const std::string &name) override
Concrete counter instantiation.
Definition
MonitorAlgorithmClass.cxx:30
MonitorAlgorithmClass::newEvent
virtual StatusCode newEvent(const CostData &data, const float weight=1.) override
Concrete dispatch method.
Definition
MonitorAlgorithmClass.cxx:13
MonitorAlgorithmClass::MonitorAlgorithmClass
MonitorAlgorithmClass()=delete
Forbid default constructor.
MonitorBase::getCounter
CounterBase * getCounter(const std::string &name)
Retrieve counter by name.
Definition
Trigger/TrigCost/TrigCostAnalysis/src/MonitorBase.cxx:52
MonitorBase::MonitorBase
MonitorBase()=delete
Forbid default constructor.
MonitoredRange
Container which represents a time range and holds a collection of Monitors which monitor this range.
Definition
MonitoredRange.h:29
TrigConf::HLTHash
uint32_t HLTHash
Definition
TrigConfHLTUtils/TrigConfHLTUtils/HLTUtils.h:19
xAOD::TrigComposite
TrigComposite_v1 TrigComposite
Declare the latest version of the class.
Definition
TrigComposite.h:16
Generated on
for ATLAS Offline Software by
1.17.0