![]() |
ATLAS Offline Software
|
Implementation of the AthenaEventLoopMgr that allows selective and specific overrides in python. More...
#include <PyAthenaEventLoopMgr.h>
Public Types | |
| typedef IEvtSelector::Context | EvtContext |
Public Member Functions | |
| PyAthenaEventLoopMgr (const std::string &name, ISvcLocator *svcLoc) | |
| Standard Constructor. | |
| ~PyAthenaEventLoopMgr () | |
| PyObject * | setManager (PyObject *) |
| actual manager object | |
| PyObject * | getManager () |
| virtual StatusCode | initialize () |
| implementation of IAppMgrUI::initalize | |
| virtual StatusCode | finalize () |
| implementation of IAppMgrUI::finalize | |
| virtual StatusCode | nextEvent (int maxevt) override |
| implementation of IAppMgrUI::nextEvent. maxevt==0 returns immediately | |
| virtual StatusCode | executeEvent (EventContext &&ctx) override |
| implementation of IEventProcessor::executeEvent(EventContext&& ctx) | |
| virtual StatusCode | executeRun (int maxevt) override |
| implementation of IEventProcessor::executeRun(int maxevt) | |
| virtual StatusCode | seek (int evt) override |
| Seek to a given event. | |
| virtual int | curEvent () const override |
| Return the current event count. | |
| virtual int | size () override |
| Return the size of the collection. | |
| virtual void | handle (const Incident &inc) override |
| IIncidentListenet interfaces. | |
| StatusCode | execAtPreFork (const EventContext &ctx) const |
| Execute certain algorithms/sequences in PreFork. | |
| virtual StatusCode | stopRun () override |
| Called from ApplicationMgr::stopRun() to terminate the loop. | |
| virtual const std::string & | name () const override |
| virtual void | modifyEventContext (EventContext &ctx, const EventID &eID, bool consume_modifier_stream) |
| MsgStream & | msg () const |
| The standard message stream. | |
| MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. | |
| bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. | |
| void | setLevel (MSG::Level lvl) |
| Change the current logging level. | |
Static Public Member Functions | |
| static PyAthenaEventLoopMgr * | pointer () |
| outside access | |
Protected Types | |
| typedef ServiceHandle< IIncidentSvc > | IIncidentSvc_t |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
| typedef ServiceHandle< IDataManagerSvc > | IDataManagerSvc_t |
| typedef ServiceHandle< IConversionSvc > | IConversionSvc_t |
| typedef ServiceHandle< IEvtIdModifierSvc > | IEvtIdModifierSvc_t |
| typedef EventID::number_type | number_type |
| typedef IAthenaEvtLoopPreSelectTool | tool_type |
| typedef ToolHandleArray< tool_type > | tool_store |
| typedef tool_store::const_iterator | tool_iterator |
| typedef std::vector< unsigned int > | tool_stats |
| typedef tool_stats::const_iterator | tool_stats_iterator |
Protected Member Functions | |
| PyAthenaEventLoopMgr () | |
| Unimplemented features to keep Reflex happy. | |
| PyAthenaEventLoopMgr (const PyAthenaEventLoopMgr &) | |
| PyAthenaEventLoopMgr & | operator= (const PyAthenaEventLoopMgr &) |
| virtual StatusCode | executeAlgorithms (const EventContext &) |
| Run the algorithms for the current event. | |
| void | setupPreSelectTools (Gaudi::Details::PropertyBase &) |
| property update handler:sets up the Pre-selection tools | |
| void | setClearStorePolicy (Gaudi::Details::PropertyBase &clearStorePolicy) |
| property update handler:set the clear-store policy value and check its value. | |
| virtual StatusCode | writeHistograms (bool force=false) |
| Dump out histograms as needed. | |
| StatusCode | initializeAlgorithms () |
| Initialize all algorithms and output streams. | |
| void | setTimeout (Timeout &instance) |
| Set timeout. | |
| void | resetTimeout (Timeout &instance) |
| Reset timeout. | |
Protected Attributes | |
| IIncidentSvc_t | m_incidentSvc |
| Reference to the incident service. | |
| StoreGateSvc_t | m_eventStore |
| Reference to StoreGateSvc;. | |
| IEvtSelector * | m_evtSelector |
| Reference to the Event Selector. | |
| IEvtSelector::Context * | m_evtSelCtxt |
| Gaudi EventSelector Context (may be used as a cursor by the evt selector) | |
| StringProperty | m_evtsel |
| IDataManagerSvc_t | m_histoDataMgrSvc |
| Reference to the Histogram Data Service. | |
| IConversionSvc_t | m_histoPersSvc |
| IEvtIdModifierSvc_t | m_evtIdModSvc |
| StringArrayProperty | m_execAtPreFork |
| StringProperty | m_histPersName |
| number_type | m_currentRun |
| current run number | |
| bool | m_firstRun |
| IntegerProperty | m_failureMode |
| UnsignedIntegerProperty | m_eventPrintoutInterval |
| tool_stats | m_toolInvoke |
| tool called counter | |
| tool_stats | m_toolReject |
| tool returns StatusCode::FAILURE counter | |
| tool_stats | m_toolAccept |
| tool returns StatusCode::SUCCESS counter | |
| tool_store | m_tools |
| internal tool store | |
| bool | m_requireInputAttributeList {} |
| require input attribute list | |
| bool | m_useSecondaryEventNumber {} |
| read event number from secondary input | |
| StringProperty | m_clearStorePolicy |
| SmartIF< IAlgExecStateSvc > | m_aess |
| Reference to the Algorithm Execution State Svc. | |
Private Member Functions | |
| StatusCode | installEventContext (EventContext &ctx) |
| StoreGateSvc * | eventStore () const |
| void | initMessaging () const |
| Initialize our message level and MessageSvc. | |
Private Attributes | |
| PyObject * | m_manager |
| int | m_nevt {} |
| IntegerProperty | m_writeInterval |
| bool | m_writeHists {} |
| unsigned int | m_nev |
| events processed | |
| unsigned int | m_proc |
| bool | m_useTools |
| unsigned int | m_lastNev {} |
| unsigned int | m_intervalInSeconds |
| time_t | m_lastTime {} |
| bool | m_liteLoop |
| bool | m_doChrono = false |
| ServiceHandle< IChronoStatSvc > | m_chronoStatSvc |
| ServiceHandle< Athena::IConditionsCleanerSvc > | m_conditionsCleaner |
| std::string | m_nm |
| Message source name. | |
| boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) | |
| std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. | |
| std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. | |
| std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| Messaging initialized (initMessaging) | |
Implementation of the AthenaEventLoopMgr that allows selective and specific overrides in python.
The idea is to maximize code-sharing with AthenaEventLoopMgr to reduce maintainance.
Definition at line 34 of file PyAthenaEventLoopMgr.h.
|
inherited |
Definition at line 64 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 86 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 82 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 90 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 67 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 100 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 71 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 114 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 115 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 116 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 113 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 112 of file AthenaEventLoopMgr.h.
| PyAthenaEventLoopMgr::PyAthenaEventLoopMgr | ( | const std::string & | name, |
| ISvcLocator * | svcLoc ) |
Standard Constructor.
overrides the base-class default: for interactive use, it is mandatory to leave the store untouched at the end of the event (so people can interactively browse the store). Hence, we ask for store clean-up at the beginning of the event.
Definition at line 67 of file PyAthenaEventLoopMgr.cxx.
|
inline |
Definition at line 38 of file PyAthenaEventLoopMgr.h.
|
protected |
Unimplemented features to keep Reflex happy.
|
protected |
|
overridevirtualinherited |
|
privateinherited |
Definition at line 1017 of file AthenaEventLoopMgr.cxx.
|
inherited |
Execute certain algorithms/sequences in PreFork.
Definition at line 1000 of file AthenaEventLoopMgr.cxx.
|
protectedvirtual |
Run the algorithms for the current event.
Reimplemented from AthenaEventLoopMgr.
Definition at line 186 of file PyAthenaEventLoopMgr.cxx.
|
overridevirtualinherited |
implementation of IEventProcessor::executeEvent(EventContext&& ctx)
Fire begin-Run incident if new run:
m_failureMode 1, RECOVERABLE: skip algorithms, but do not terminate job FAILURE: terminate job
m_failureMode 2: skip algorithms, but do not terminate job
Definition at line 552 of file AthenaEventLoopMgr.cxx.
|
overridevirtualinherited |
implementation of IEventProcessor::executeRun(int maxevt)
Definition at line 711 of file AthenaEventLoopMgr.cxx.
|
virtual |
implementation of IAppMgrUI::finalize
Reimplemented from AthenaEventLoopMgr.
Definition at line 228 of file PyAthenaEventLoopMgr.cxx.
| PyObject * PyAthenaEventLoopMgr::getManager | ( | ) |
Definition at line 124 of file PyAthenaEventLoopMgr.cxx.
|
overridevirtualinherited |
IIncidentListenet interfaces.
Definition at line 919 of file AthenaEventLoopMgr.cxx.
|
virtual |
implementation of IAppMgrUI::initalize
Reimplemented from AthenaEventLoopMgr.
Definition at line 141 of file PyAthenaEventLoopMgr.cxx.
|
protectedinherited |
Initialize all algorithms and output streams.
Definition at line 491 of file AthenaEventLoopMgr.cxx.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
privateinherited |
Definition at line 1025 of file AthenaEventLoopMgr.cxx.
|
virtualinherited |
Definition at line 1177 of file AthenaEventLoopMgr.cxx.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 92 of file AthMessaging.h.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 99 of file AthMessaging.h.
|
inlineinherited |
Test the output level.
| lvl | The message level to test against |
| true | Messages at level "lvl" will be printed |
Definition at line 86 of file AthMessaging.h.
|
inlineoverridevirtualinherited |
Definition at line 186 of file AthenaEventLoopMgr.h.
|
overridevirtualinherited |
implementation of IAppMgrUI::nextEvent. maxevt==0 returns immediately
Reimplemented in MultipleEventLoopMgr.
Definition at line 723 of file AthenaEventLoopMgr.cxx.
|
protected |
|
static |
outside access
Definition at line 52 of file PyAthenaEventLoopMgr.cxx.
|
inlineprotectedinherited |
|
overridevirtualinherited |
Seek to a given event.
Definition at line 859 of file AthenaEventLoopMgr.cxx.
|
protectedinherited |
property update handler:set the clear-store policy value and check its value.
Definition at line 313 of file AthenaEventLoopMgr.cxx.
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
actual manager object
Definition at line 82 of file PyAthenaEventLoopMgr.cxx.
|
inlineprotectedinherited |
|
protectedinherited |
property update handler:sets up the Pre-selection tools
Definition at line 333 of file AthenaEventLoopMgr.cxx.
|
overridevirtualinherited |
Return the size of the collection.
Definition at line 897 of file AthenaEventLoopMgr.cxx.
|
overridevirtualinherited |
Called from ApplicationMgr::stopRun() to terminate the loop.
Definition at line 366 of file AthenaEventLoopMgr.cxx.
|
protectedvirtualinherited |
Dump out histograms as needed.
Definition at line 435 of file AthenaEventLoopMgr.cxx.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
protectedinherited |
Reference to the Algorithm Execution State Svc.
Definition at line 152 of file AthenaEventLoopMgr.h.
|
privateinherited |
Definition at line 216 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 135 of file AthenaEventLoopMgr.h.
|
privateinherited |
Definition at line 217 of file AthenaEventLoopMgr.h.
|
protectedinherited |
current run number
Definition at line 102 of file AthenaEventLoopMgr.h.
|
privateinherited |
Definition at line 215 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 109 of file AthenaEventLoopMgr.h.
|
protectedinherited |
|
protectedinherited |
Definition at line 92 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 80 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Gaudi EventSelector Context (may be used as a cursor by the evt selector)
Definition at line 78 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Reference to the Event Selector.
Definition at line 76 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 95 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 106 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 103 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Reference to the Histogram Data Service.
Definition at line 84 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 88 of file AthenaEventLoopMgr.h.
|
protectedinherited |
Definition at line 98 of file AthenaEventLoopMgr.h.
|
mutableprivateinherited |
|
protectedinherited |
Reference to the incident service.
Definition at line 69 of file AthenaEventLoopMgr.h.
|
privateinherited |
Definition at line 208 of file AthenaEventLoopMgr.h.
|
privateinherited |
Definition at line 207 of file AthenaEventLoopMgr.h.
|
privateinherited |
Definition at line 209 of file AthenaEventLoopMgr.h.
|
privateinherited |
Definition at line 211 of file AthenaEventLoopMgr.h.
|
mutableprivateinherited |
|
private |
Definition at line 60 of file PyAthenaEventLoopMgr.h.
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
privateinherited |
events processed
Definition at line 203 of file AthenaEventLoopMgr.h.
|
privateinherited |
Definition at line 197 of file AthenaEventLoopMgr.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
privateinherited |
Definition at line 204 of file AthenaEventLoopMgr.h.
|
protectedinherited |
|
protectedinherited |
tool returns StatusCode::SUCCESS counter
Definition at line 120 of file AthenaEventLoopMgr.h.
|
protectedinherited |
tool called counter
Definition at line 118 of file AthenaEventLoopMgr.h.
|
protectedinherited |
tool returns StatusCode::FAILURE counter
Definition at line 119 of file AthenaEventLoopMgr.h.
|
protectedinherited |
internal tool store
Definition at line 121 of file AthenaEventLoopMgr.h.
|
protectedinherited |
|
privateinherited |
Definition at line 205 of file AthenaEventLoopMgr.h.
|
privateinherited |
Definition at line 200 of file AthenaEventLoopMgr.h.
|
privateinherited |
Definition at line 199 of file AthenaEventLoopMgr.h.