33 const uint64_t start = alg->getDetail<uint64_t>(
"start");
34 const uint64_t stop = alg->getDetail<uint64_t>(
"stop");
42 if (firstTime_perEvent.
getCalls() == 0) {
47 ATH_CHECK(
fill(
"Time_perEventFractional", cpuTime, weight) );
52 ATH_CHECK(
fill(
"InEventView_perCall", (globalScope ? 0.0 : 1.0), weight) );
54 ATH_CHECK(
fill(
"RoIID_perCall", alg->getDetail<int32_t>(
"roi"), weight) );
57 if (
data.algToRequestMap().count(
index)) {
58 for (
size_t requestIdx :
data.algToRequestMap().at(
index)) {
60 const std::vector<unsigned> robs_history = request->
getDetail<std::vector<unsigned>>(
"robs_history");
61 const std::vector<uint32_t> robs_size = request->
getDetail<std::vector<uint32_t>>(
"robs_size");
63 bool networkRequestIncremented =
false;
64 for (
size_t i = 0; i < robs_size.size(); ++i) {
68 ATH_CHECK(
fill(
"NetworkROBSize_perEvent", robs_size[i] / 500., weight) );
69 networkRequestIncremented =
true;
73 ATH_CHECK(
fill(
"CachedROBSize_perEvent", robs_size[i] / 500., weight) );
79 if (networkRequestIncremented) {
88 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
char data[hepevt_bytes_allocation_ATLAS]
@ kPerEvent
Variable should buffer fill calls in an accumulator and fill the underlying histogram once at the end...
@ kPerCall
Variable should fill underlying histogram on each fill.
@ kLinear
Linear x-binning.
@ kLog
Logarithmic x-binning.
Caches and propagates event data to be used by monitoring algorithms.
virtual StatusCode newEvent(const CostData &data, size_t index, const float weight=1.) override
Concrete implimentation.
CounterAlgorithm()=delete
Forbid default constructor.
StatusCode fill(const std::string &name, float value, float weight=1.0)
Fill (for per-Call) or accumulate in a buffer (for per-Event) a quantity histogrammed by a named Vari...
float timeToMilliSec(const uint64_t start, const uint64_t stop) const
Helper function.
CounterBase()=delete
Forbid default constructor.
void regHistogram(const std::string &name, const std::string &title, const VariableType type=VariableType::kPerCall, const LogType xaxis=kLog, const float min=0.1, const float max=1000000., const size_t bins=70)
Book a histogram for this Counter, to be filled in per-event monitoring.
Variable & getVariable(const std::string &name)
Returns a mutable reference to a named Variable.
StatusCode setDenominator(const std::string &name, float value)
Optional for per-Event Variables.
StatusCode increment(const std::string &name, float weight=1.0)
Convenience function.
static const std::string hash2string(HLTHash, const std::string &category="TE")
hash function translating identifiers into names (via internal dictionary)
Wrapper around a histogram which allows for some additional filling patterns and data manipulation.
StatusCode fill(float value, float weight=1.0)
Fill histogram (per-Call Variable), or add value to internal accumulator (per-Event Variable) to be f...
size_t getCalls() const
Getter for how many times fill() has already been called on this Variable in this event.
bool getDetail(const std::string &name, TYPE &value) const
Get an TYPE detail from the object.
TrigComposite_v1 TrigComposite
Declare the latest version of the class.