56 slowCalls = self.getHistogram(
"Time_perCall").Integral(self.getHistogram(
"Time_perCall").FindBin(1000.), self.getHistogram(
"Time_perCall").GetNbinsX())
58 self.columns[
"name"].addValue(itemName)
59 self.columns[
"events"].addValue(self.getHistogram(
"Chain_perEvent").
GetEntries())
60 self.columns[
"eventsWeighted"].addValue(self.getHistogram(
"Chain_perEvent").Integral())
61 self.columns[
"time"].addValue(self.getHistogram(
"Time_perEvent").
GetMean())
62 self.columns[
"chainRate"].addValue(self.getHistogram(
"Chain_perEvent").Integral())
63 self.columns[
'passFraction'].addValue(self.getHistogram(
"ChainPassed_perEvent").Integral())
64 self.columns[
"callsSlow"].addValue(slowCalls)
65 self.columns[
'totalTime'].addValue(self.getXWeightedIntegral(
"Time_perCall", isLog=
True) * 1e-3)
67 self.columns[
'totalUniqTime'].addValue(self.getXWeightedIntegral(
"UniqueTime_perCall", isLog=
True) * 1e-3)
69 self.columns[
"algPerEvent"].addValue(self.getHistogram(
"AlgCalls_perEvent").
GetMean())
70 self.columns[
"dataRate"].addValue(self.getXWeightedIntegral(
"Request_perEvent", isLog=
False))
71 self.columns[
"retrievedDataRate"].addValue(self.getXWeightedIntegral(
"NetworkRequest_perEvent", isLog=
False))
72 self.columns[
"cachedDataSizeRate"].addValue(self.getXWeightedIntegral(
"CachedROBSize_perEvent", isLog=
False))
73 self.columns[
"retrievedDataSizeRate"].addValue(self.getXWeightedIntegral(
"NetworkROBSize_perEvent", isLog=
False))
76 for i
in range (1, self.getHistogram(
"Group_perCall").GetNbinsX()):
77 label = self.getHistogram(
"Group_perCall").GetXaxis().GetBinLabel(i)
80 groups += label +
", "
82 self.columns[
'group'].addValue(groups)
85 totalTimeEntries = self.columns[
"totalTime"].content
86 if (sum(totalTimeEntries) == 0):
87 log.error(
"No histograms for the Chain HLT summary were found")
90 for entry
in totalTimeEntries:
91 self.columns[
"totalTimeFrac"].addValue(100 * entry / self.
totalTime)
93 totalUniqTimeEntries = self.columns[
"totalUniqTime"].content
95 for entry
in totalUniqTimeEntries:
96 self.columns[
"totalUniqTimeFrac"].addValue(100 * entry / self.
totalTime)
98 passChainEntries = self.columns[
"passFraction"].content
99 totalChains = self.columns[
"eventsWeighted"].content
101 for i
in range(0, len(passChainEntries)):
102 passFrac = 0
if totalChains[i] == 0
else 100 * passChainEntries[i] / totalChains[i]
103 self.columns[
"passFraction"].content[i] = passFrac