6 from TrigCostAnalysis.TableConstructorBase
import TableConstructorBase, Column
9 @file Thread_Occupancy_HLT_TableConstructor.py
10 @brief Contains TableConstructor classes per Thread_Occupancy_HLT table. Defines what
11 should be saved in table and fills them
16 ''' @brief Class representing Thread_Occupancy_HLT table
18 def __init__(self, tableObj, underflowThreshold, overflowThreshold):
19 super().
__init__(tableObj, underflowThreshold, overflowThreshold)
21 "ThisAlgCalls_perEvent",
22 "OtherAlgCalls_perEvent",
26 "AlgTime_perEventFractional",
27 "FrameworkTime_perEvent",
28 "FrameworkTime_perEventFractional",
29 "UnmonitoredTime_perEvent",
30 "UnmonitoredTime_perEventFractional"]
34 self.columns[
"name"] = Column(
"Thread Enumerator",
"Counting number assinged to thread")
35 self.columns[
"events"] = Column(
"Raw Active Events",
"Raw underlying statistics on number of events processed at least partially on this thread")
36 self.columns[
"eventsWeighted"] = Column(
"Active Events",
"Total weighted number of events processed at least partially on this thread")
37 self.columns[
"callsPerEvent"] = Column(
"Alg Calls/Event",
"Mean number of alg calls per processed event on this thread")
38 self.columns[
"thisCallsPerEvent"] = Column(
"This Event Algs/Event",
"Mean number of alg calls from the monitored event on this thread")
39 self.columns[
"otherCallsPerEvent"] = Column(
"Other Event Algs/Event",
"Mean number of alg calls from other events on this thread")
40 self.columns[
"wallTimePerEvent"] = Column(
"Wall time/Event [ms]",
"Mean Total event processing walltime per event")
41 self.columns[
"algTimePerEvent"] = Column(
"Alg Time/Event [ms]",
"Mean algorithm execution time per event")
42 self.columns[
"frameworkTimePerEvent"] = Column(
"Framework Time/Event [ms]",
"Mean time spent outside of algorithm execution per event")
43 self.columns[
"unmonitoredTimePerEvent"] = Column(
"Unmonitored Time/Event [ms]",
"Mean time which could not be monitored per event")
47 self.columns[
'name'].addValue(itemName)
48 self.columns[
"events"].addValue(self.getHistogram(
"AlgCalls_perEvent").
GetEntries())
49 self.columns[
"eventsWeighted"].addValue(self.getHistogram(
"AlgCalls_perEvent").Integral())
50 self.columns[
"callsPerEvent"].addValue(self.getHistogram(
"AlgCalls_perEvent").
GetMean())
51 self.columns[
"thisCallsPerEvent"].addValue(self.getHistogram(
"ThisAlgCalls_perEvent").
GetMean())
52 self.columns[
"otherCallsPerEvent"].addValue(self.getHistogram(
"OtherAlgCalls_perEvent").
GetMean())
53 self.columns[
"wallTimePerEvent"].addValue(self.getHistogram(
"WallTime_perEvent").
GetMean())
54 self.columns[
"algTimePerEvent"].addValue(self.getHistogram(
"AlgTime_perEvent").
GetMean())
55 self.columns[
"frameworkTimePerEvent"].addValue(self.getHistogram(
"FrameworkTime_perEvent").
GetMean())
56 self.columns[
"unmonitoredTimePerEvent"].addValue(self.getHistogram(
"UnmonitoredTime_perEvent").
GetMean())