![]() |
ATLAS Offline Software
|
A specialized AthenaEventLoopMgr that allows multiple passes over an event collection. More...
#include <MultipleEventLoopMgr.h>
Public Types | |
| typedef IEvtSelector::Context | EvtContext |
Public Member Functions | |
| MultipleEventLoopMgr (const std::string &nam, ISvcLocator *svcLoc) | |
| Standard Constructor. | |
| virtual | ~MultipleEventLoopMgr () |
| Standard Destructor. | |
| virtual StatusCode | nextEvent (int maxevt) |
| Dump out histograms as needed. | |
| virtual StatusCode | initialize () override |
| implementation of IAppMgrUI::initalize | |
| virtual StatusCode | finalize () override |
| implementation of IAppMgrUI::finalize | |
| 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 | |
| MultipleEventLoopMgr () | |
| implementation of IEventProcessor::executeEvent(void* par) | |
| MultipleEventLoopMgr (const MultipleEventLoopMgr &) | |
| 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) | |
Properties | |
| StringProperty | m_nextPassFilterName |
| the name of the INextPassFilter object queried at end of pass | |
| StringArrayProperty | m_toBeReInitializedNames |
| a list of services to be reinit at the end of the pass | |
| ServiceHandle< IToolSvc > | m_pToolSvc |
| handle to the ToolSvc | |
| IAlgManager * | m_pAlgMgr |
| unsigned int | m_passDone |
| number of passes already completed | |
| INextPassFilter * | nextPassFilter () |
| Locate filter. | |
| bool | doNextPass () |
| called at end of pass. Calls nextPassFilter | |
| StatusCode | reInitList () |
| called at each end of pass. | |
| IAlgManager * | algMgr () |
A specialized AthenaEventLoopMgr that allows multiple passes over an event collection.
The number of passes is controlled by a tool called at the end of each pass over the events that implements the INextPassFilter interface (specified using the NextPassFilter property). At the end of each pass the event selector is rewound and the services listed in the ToBeReinitialized property are reinitialized. Typically MultipleEventLoopMgr will be used for calibration jobs, with the INextPassFilter object looking at the status of the constants in the DetectorStore
Definition at line 40 of file MultipleEventLoopMgr.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.
| MultipleEventLoopMgr::MultipleEventLoopMgr | ( | const std::string & | nam, |
| ISvcLocator * | svcLoc ) |
Standard Constructor.
Definition at line 21 of file MultipleEventLoopMgr.cxx.
|
virtual |
Standard Destructor.
Definition at line 31 of file MultipleEventLoopMgr.cxx.
|
private |
implementation of IEventProcessor::executeEvent(void* par)
no implementation
|
private |
no implementation
|
private |
Definition at line 36 of file MultipleEventLoopMgr.cxx.
|
overridevirtualinherited |
|
private |
called at end of pass. Calls nextPassFilter
if true start another pass
Definition at line 72 of file MultipleEventLoopMgr.cxx.
|
privateinherited |
Definition at line 1017 of file AthenaEventLoopMgr.cxx.
|
inherited |
Execute certain algorithms/sequences in PreFork.
Definition at line 1000 of file AthenaEventLoopMgr.cxx.
|
protectedvirtualinherited |
Run the algorithms for the current event.
Reimplemented in PyAthenaEventLoopMgr.
Definition at line 526 of file AthenaEventLoopMgr.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.
|
overridevirtualinherited |
implementation of IAppMgrUI::finalize
Reimplemented in PyAthenaEventLoopMgr.
Definition at line 379 of file AthenaEventLoopMgr.cxx.
|
overridevirtualinherited |
IIncidentListenet interfaces.
Definition at line 919 of file AthenaEventLoopMgr.cxx.
|
overridevirtualinherited |
implementation of IAppMgrUI::initalize
Reimplemented in PyAthenaEventLoopMgr.
Definition at line 124 of file AthenaEventLoopMgr.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.
|
virtual |
Dump out histograms as needed.
Run the algorithms for the current event implementation of IAppMgrUI::initalize implementation of IAppMgrUI::finalize implementation of IAppMgrUI::nextEvent
Reimplemented from AthenaEventLoopMgr.
Definition at line 90 of file MultipleEventLoopMgr.cxx.
|
private |
Locate filter.
Parses m_nextPassFilterName allowing for interactive changes.
Definition at line 47 of file MultipleEventLoopMgr.cxx.
|
private |
called at each end of pass.
Parses m_toBeReInitializedNames allowing for interactive changes
Definition at line 79 of file MultipleEventLoopMgr.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.
|
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 |
|
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.
|
private |
the name of the INextPassFilter object queried at end of pass
Definition at line 76 of file MultipleEventLoopMgr.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
private |
Definition at line 97 of file MultipleEventLoopMgr.h.
|
private |
number of passes already completed
Definition at line 99 of file MultipleEventLoopMgr.h.
|
privateinherited |
Definition at line 204 of file AthenaEventLoopMgr.h.
|
private |
handle to the ToolSvc
Definition at line 94 of file MultipleEventLoopMgr.h.
|
protectedinherited |
|
private |
a list of services to be reinit at the end of the pass
Definition at line 79 of file MultipleEventLoopMgr.h.
|
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.