ATLAS Offline Software
Thread_Occupancy_HLT_TableConstructor.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 #
3 # Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
4 #
5 
6 from TrigCostAnalysis.TableConstructorBase import TableConstructorBase, Column
7 
8 '''
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
12 '''
13 
14 
15 class Thread_Occupancy_HLT_TableConstructor(TableConstructorBase):
16  ''' @brief Class representing Thread_Occupancy_HLT table
17  '''
18  def __init__(self, tableObj, underflowThreshold, overflowThreshold):
19  super(). __init__(tableObj, underflowThreshold, overflowThreshold)
20  self.expectedHistograms = ["AlgCalls_perEvent",
21  "ThisAlgCalls_perEvent",
22  "OtherAlgCalls_perEvent",
23  "AlgSlot_perCall",
24  "WallTime_perEvent",
25  "AlgTime_perEvent",
26  "AlgTime_perEventFractional",
27  "FrameworkTime_perEvent",
28  "FrameworkTime_perEventFractional",
29  "UnmonitoredTime_perEvent",
30  "UnmonitoredTime_perEventFractional"]
31 
32 
33  def defineColumns(self):
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")
44 
45 
46  def fillColumns(self, itemName):
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())
GetMean
TGraphErrors * GetMean(TH2F *histo)
Definition: TRTCalib_makeplots.cxx:3907
GetEntries
TGraphErrors * GetEntries(TH2F *histo)
Definition: TRTCalib_makeplots.cxx:4019
Thread_Occupancy_HLT_TableConstructor.Thread_Occupancy_HLT_TableConstructor.expectedHistograms
expectedHistograms
Definition: Thread_Occupancy_HLT_TableConstructor.py:20
Thread_Occupancy_HLT_TableConstructor.Thread_Occupancy_HLT_TableConstructor.fillColumns
def fillColumns(self, itemName)
Definition: Thread_Occupancy_HLT_TableConstructor.py:46
Thread_Occupancy_HLT_TableConstructor.Thread_Occupancy_HLT_TableConstructor
Definition: Thread_Occupancy_HLT_TableConstructor.py:15
Thread_Occupancy_HLT_TableConstructor.Thread_Occupancy_HLT_TableConstructor.defineColumns
def defineColumns(self)
Definition: Thread_Occupancy_HLT_TableConstructor.py:33
Thread_Occupancy_HLT_TableConstructor.Thread_Occupancy_HLT_TableConstructor.__init__
def __init__(self, tableObj, underflowThreshold, overflowThreshold)
Definition: Thread_Occupancy_HLT_TableConstructor.py:18