7__author__ =
'Wim Lavrijsen (WLavrijsen@lbl.gov)'
9import AthenaPython.PyAthena
as PyAthena
11GlobalSettings = {
'label' :
'hephaestus',
'event-based' :
True }
14 def __init__( self, name = "HephaestusAuditor", mode = 'leak-check', **kw ):
16 super( HephaestusAuditor, self ).
__init__( **kw )
40 if mode ==
'leak-check':
44 if startup
or 'full' in self.
auditOn:
48 elif mode ==
'delete-check':
50 self.
_start = DeleteChecker.start
51 self.
_stop = DeleteChecker.stop
54 raise RuntimeError(
'unknown mode: %s (expected leak-check or delete-check)' % mode )
61 if 'full-athena' in self.
auditOn:
65 if not GlobalSettings[
'event-based' ]:
66 self.
_memtrack._profname( GlobalSettings[
'label' ] )
68 return PyAthena.StatusCode.Success
71 if 'full-athena' in self.
auditOn:
74 return PyAthena.StatusCode.Success
76 def before( self, evt_name, comp_name ):
79 if GlobalSettings[
'event-based' ]
and evt_name.lower() ==
'execute'\
82 self.
_memtrack._profname( GlobalSettings[
'label' ] +
'_execute.%d' % self.
_evt )
86 def after( self, evt_name, comp_name, sc ):
111 dct[
'GlobalSettings' ] = GlobalSettings
117 dct[
'pid' ] = os.getpid()
126 for k,v
in dct[
'GlobalSettings' ].items():
127 GlobalSettings[ k ] = v
133 if dct[
'pid' ] == os.getpid():
134 self.
_evt = dct[
'_evt' ]
bool configure(asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > &tool, ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > &electronEffToolsHandles, ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > &electronSFToolsHandles, ToolHandleArray< CP::IMuonTriggerScaleFactors > &muonToolsHandles, ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > &photonEffToolsHandles, ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > &photonSFToolsHandles, const std::string &triggers, const std::map< std::string, std::string > &legsPerTool, unsigned long nToys, bool debug)
virtual StatusCode initialize() override
Gaudi Aud Implementation.
virtual StatusCode finalize() override
after(self, evt_name, comp_name, sc)
__setupMemoryTracker(self, mode, startup=True)
before(self, evt_name, comp_name)
__init__(self, name="HephaestusAuditor", mode='leak-check', **kw)