![]() |
ATLAS Offline Software
|
The default ATLAS batch event loop manager. More...
#include <AthenaEventLoopMgr.h>
Public Types | |
| typedef IEvtSelector::Context | EvtContext |
Public Member Functions | |
| AthenaEventLoopMgr (const std::string &nam, ISvcLocator *svcLoc) | |
| Standard Constructor. | |
| virtual | ~AthenaEventLoopMgr () |
| Standard Destructor. | |
| virtual StatusCode | initialize () override |
| implementation of IAppMgrUI::initalize | |
| virtual StatusCode | finalize () override |
| 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. | |
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 | |
| 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. | |
| virtual StatusCode | executeAlgorithms (const EventContext &) |
| Run the algorithms for the current event. | |
| 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 | |
| AthenaEventLoopMgr () | |
| no implementation | |
| AthenaEventLoopMgr (const AthenaEventLoopMgr &) | |
| no implementation | |
| AthenaEventLoopMgr & | operator= (const AthenaEventLoopMgr &) |
| no implementation | |
| StatusCode | installEventContext (EventContext &ctx) |
| StoreGateSvc * | eventStore () const |
| void | initMessaging () const |
| Initialize our message level and MessageSvc. | |
Private Attributes | |
| 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) | |
The default ATLAS batch event loop manager.
It loops over input events according to job configuration. Among the main user-settable properties "FailureMode" controls behaviour of event loop depending on return code of Algorithms.
Definition at line 58 of file AthenaEventLoopMgr.h.
| typedef IEvtSelector::Context AthenaEventLoopMgr::EvtContext |
Definition at line 64 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 86 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 82 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 90 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 67 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 100 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 71 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 114 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 115 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 116 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 113 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 112 of file AthenaEventLoopMgr.h.
| AthenaEventLoopMgr::AthenaEventLoopMgr | ( | const std::string & | nam, |
| ISvcLocator * | svcLoc ) |
Standard Constructor.
Definition at line 57 of file AthenaEventLoopMgr.cxx.
|
virtual |
|
private |
no implementation
|
private |
no implementation
|
overridevirtual |
Return the current event count.
Definition at line 889 of file AthenaEventLoopMgr.cxx.
|
private |
Definition at line 1017 of file AthenaEventLoopMgr.cxx.
| StatusCode AthenaEventLoopMgr::execAtPreFork | ( | const EventContext & | ctx | ) | const |
Execute certain algorithms/sequences in PreFork.
Definition at line 1000 of file AthenaEventLoopMgr.cxx.
|
protectedvirtual |
Run the algorithms for the current event.
Reimplemented in PyAthenaEventLoopMgr.
Definition at line 526 of file AthenaEventLoopMgr.cxx.
|
overridevirtual |
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.
|
overridevirtual |
implementation of IEventProcessor::executeRun(int maxevt)
Definition at line 711 of file AthenaEventLoopMgr.cxx.
|
overridevirtual |
implementation of IAppMgrUI::finalize
Reimplemented in PyAthenaEventLoopMgr.
Definition at line 379 of file AthenaEventLoopMgr.cxx.
|
overridevirtual |
IIncidentListenet interfaces.
Definition at line 919 of file AthenaEventLoopMgr.cxx.
|
overridevirtual |
implementation of IAppMgrUI::initalize
Reimplemented in PyAthenaEventLoopMgr.
Definition at line 124 of file AthenaEventLoopMgr.cxx.
|
protected |
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.
|
private |
Definition at line 1025 of file AthenaEventLoopMgr.cxx.
|
virtual |
Definition at line 1177 of file AthenaEventLoopMgr.cxx.
|
inline |
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.
|
inline |
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.
|
inline |
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.
|
inlineoverridevirtual |
Definition at line 186 of file AthenaEventLoopMgr.h.
|
overridevirtual |
implementation of IAppMgrUI::nextEvent. maxevt==0 returns immediately
Reimplemented in MultipleEventLoopMgr.
Definition at line 723 of file AthenaEventLoopMgr.cxx.
|
private |
no implementation
|
inlineprotectedinherited |
|
overridevirtual |
Seek to a given event.
Definition at line 859 of file AthenaEventLoopMgr.cxx.
|
protected |
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.
|
inlineprotectedinherited |
|
protected |
property update handler:sets up the Pre-selection tools
Definition at line 333 of file AthenaEventLoopMgr.cxx.
|
overridevirtual |
Return the size of the collection.
Definition at line 897 of file AthenaEventLoopMgr.cxx.
|
overridevirtual |
Called from ApplicationMgr::stopRun() to terminate the loop.
Definition at line 366 of file AthenaEventLoopMgr.cxx.
|
protectedvirtual |
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.
|
protected |
Reference to the Algorithm Execution State Svc.
Definition at line 152 of file AthenaEventLoopMgr.h.
|
private |
Definition at line 216 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 135 of file AthenaEventLoopMgr.h.
|
private |
Definition at line 217 of file AthenaEventLoopMgr.h.
|
protected |
current run number
Definition at line 102 of file AthenaEventLoopMgr.h.
|
private |
Definition at line 215 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 109 of file AthenaEventLoopMgr.h.
|
protected |
|
protected |
Definition at line 92 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 80 of file AthenaEventLoopMgr.h.
|
protected |
Gaudi EventSelector Context (may be used as a cursor by the evt selector)
Definition at line 78 of file AthenaEventLoopMgr.h.
|
protected |
Reference to the Event Selector.
Definition at line 76 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 95 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 106 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 103 of file AthenaEventLoopMgr.h.
|
protected |
Reference to the Histogram Data Service.
Definition at line 84 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 88 of file AthenaEventLoopMgr.h.
|
protected |
Definition at line 98 of file AthenaEventLoopMgr.h.
|
mutableprivateinherited |
|
protected |
Reference to the incident service.
Definition at line 69 of file AthenaEventLoopMgr.h.
|
private |
Definition at line 208 of file AthenaEventLoopMgr.h.
|
private |
Definition at line 207 of file AthenaEventLoopMgr.h.
|
private |
Definition at line 209 of file AthenaEventLoopMgr.h.
|
private |
Definition at line 211 of file AthenaEventLoopMgr.h.
|
mutableprivateinherited |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
private |
events processed
Definition at line 203 of file AthenaEventLoopMgr.h.
|
private |
Definition at line 197 of file AthenaEventLoopMgr.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
private |
Definition at line 204 of file AthenaEventLoopMgr.h.
|
protected |
|
protected |
tool returns StatusCode::SUCCESS counter
Definition at line 120 of file AthenaEventLoopMgr.h.
|
protected |
tool called counter
Definition at line 118 of file AthenaEventLoopMgr.h.
|
protected |
tool returns StatusCode::FAILURE counter
Definition at line 119 of file AthenaEventLoopMgr.h.
|
protected |
internal tool store
Definition at line 121 of file AthenaEventLoopMgr.h.
|
protected |
|
private |
Definition at line 205 of file AthenaEventLoopMgr.h.
|
private |
Definition at line 200 of file AthenaEventLoopMgr.h.
|
private |
Definition at line 199 of file AthenaEventLoopMgr.h.