ATLAS Offline Software
EventSelectorAthenaPool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EVENTSELECTORATHENAPOOL_H
6 #define EVENTSELECTORATHENAPOOL_H
7 
13 #include "GaudiKernel/IEvtSelector.h"
14 #include "GaudiKernel/IIoComponent.h"
15 #include "GaudiKernel/IIncidentListener.h"
16 #include "GaudiKernel/ServiceHandle.h"
17 #include "GaudiKernel/ToolHandle.h"
19 #include "RootUtils/APRDefaults.h"
20 
29 
30 #include <map>
31 #include <atomic>
32 #include <cstdint>
33 #include <memory>
34 
35 // Forward declarations
36 class IIncidentSvc;
37 class IOpaqueAddress;
38 class ISvcLocator;
41 class StoreGateSvc;
42 namespace pool {
43  class ICollectionCursor;
44 }
45 
50  public extends<::AthService, IEvtSelector, IEvtSelectorSeek, IEventShare, IIoComponent, IIncidentListener, ISecondaryEventSelector>
51 {
52 
53 public: // Constructor and Destructor
55  EventSelectorAthenaPool(const std::string& name, ISvcLocator* pSvcLocator);
57  virtual ~EventSelectorAthenaPool();
58 
60  virtual StatusCode initialize() override;
61  virtual StatusCode start() override;
62  virtual StatusCode stop() override;
63  virtual StatusCode finalize() override;
64 
65  //-------------------------------------------------
66  // IEventSelector
68  virtual StatusCode createContext(IEvtSelector::Context*& ctxt) const override;
69 
71  virtual StatusCode next(IEvtSelector::Context& ctxt) const override;
74  virtual StatusCode next(IEvtSelector::Context& ctxt, int jump) const override;
75 
77  virtual StatusCode previous(IEvtSelector::Context& ctxt) const override;
80  virtual StatusCode previous(IEvtSelector::Context& ctxt, int jump) const override;
81 
83  virtual StatusCode last(IEvtSelector::Context& ctxt) const override;
84 
86  virtual StatusCode rewind(IEvtSelector::Context& ctxt) const override;
87 
90  virtual StatusCode createAddress(const IEvtSelector::Context& ctxt, IOpaqueAddress*& iop) const override;
91 
93  virtual StatusCode releaseContext(IEvtSelector::Context*& ctxt) const override;
94 
98  virtual StatusCode resetCriteria(const std::string& criteria, IEvtSelector::Context& ctxt) const override;
99 
100  //-------------------------------------------------
101  // IEventSelectorSeek
105  virtual StatusCode seek(Context& ctxt, int evtnum) const override;
106 
109  virtual int curEvent (const Context& ctxt) const override;
110 
113  virtual int size (Context& ctxt) const override;
114 
115  //-------------------------------------------------
116  // IEventShare
118  virtual StatusCode makeServer(int num) override;
119 
121  virtual StatusCode makeClient(int num) override;
122 
125  virtual StatusCode share(int evtnum) override;
126 
129  virtual StatusCode readEvent(int maxevt) override;
130 
131  //-------------------------------------------------
132  // IIoComponent
134  virtual StatusCode io_reinit() override;
136  virtual StatusCode io_finalize() override;
137 
138  //-------------------------------------------------
139  // IIncidentListener
141  virtual void handle(const Incident& incident) override;
142 
143 protected:
144  //-------------------------------------------------
145  // ISecondaryEventSelector
147  virtual StatusCode nextHandleFileTransition(IEvtSelector::Context& ctxt) const override;
149  virtual StatusCode nextWithSkip(IEvtSelector::Context& ctxt) const override;
151  virtual StatusCode recordAttributeList() const override;
153  virtual StatusCode fillAttributeList(coral::AttributeList *attrList, const std::string &suffix, bool copySource) const override;
154  // Disconnect DB if all events from the source FID were processed and the Selector moved to another file
155  virtual bool disconnectIfFinished(const SG::SourceID &fid) const override;
156 
157 private: // internal member functions
159  StoreGateSvc* eventStore() const;
161  StatusCode reinit() const;
163  std::unique_ptr<PoolCollectionConverter> getCollectionCnv(bool throwIncidents = false) const;
165  int findEvent(int evtNum) const;
167  void fireEndFileIncidents(bool isLastFile) const;
168 
169 private: // data
171 
172 
173  mutable std::unique_ptr<PoolCollectionConverter> m_poolCollectionConverter ATLAS_THREAD_SAFE {};
174  mutable pool::ICollectionCursor* m_headerIterator ATLAS_THREAD_SAFE {};
175  mutable Guid m_guid ATLAS_THREAD_SAFE {};
176  mutable std::map<SG::SourceID, int> m_activeEventsPerSource ATLAS_THREAD_SAFE;
177 
178  ServiceHandle<IAthenaPoolCnvSvc> m_athenaPoolCnvSvc{this, "ConversionService", "AthenaPoolCnvSvc", ""};
179  ServiceHandle<IIncidentSvc> m_incidentSvc{this, "IncidentSvc", "IncidentSvc", ""};
180 
181 private: // properties
183  Gaudi::Property<bool> m_isSecondary{this, "IsSecondary", false, ""};
185  Gaudi::Property<bool> m_processMetadata{this, "ProcessMetadata", true, ""};
187  Gaudi::Property<std::string> m_collectionType{this, "CollectionType", "ImplicitCollection", ""};
189  Gaudi::Property<std::string> m_collectionTree{this, "CollectionTree", APRDefaults::TTreeNames::DataHeader, ""};
191  // TODO: check if really not used anywhere
192  Gaudi::Property<std::string> m_connection{this, "Connection", "", ""};
194  Gaudi::Property<std::string> m_attrListKey{this, "AttributeListKey", "Input", ""};
195 
197  Gaudi::Property<std::vector<std::string>> m_inputCollectionsProp{this, "InputCollections", {}, ""};
198  mutable std::vector<std::string>::const_iterator m_inputCollectionsIterator ATLAS_THREAD_SAFE;
199  void inputCollectionsHandler(Gaudi::Details::PropertyBase&);
201  mutable bool m_inputCollectionsChanged ATLAS_THREAD_SAFE;
202 
205  Gaudi::Property<bool> m_keepInputFilesOpen{this, "KeepInputFilesOpen", false, ""};
206 
208  mutable ToolHandleArray<IAthenaSelectorTool> m_helperTools ATLAS_THREAD_SAFE {this};
209  ToolHandle<IAthenaSelectorTool> m_counterTool{this, "CounterTool", "", ""};
210  ToolHandle<IAthenaIPCTool> m_eventStreamingTool{this, "SharedMemoryTool", "", ""};
212  IntegerProperty m_makeStreamingToolClient{this,"MakeStreamingToolClient",0};
213 
217  Gaudi::CheckedProperty<uint32_t> m_runNo{this, "RunNumber", 0, ""};
218  Gaudi::CheckedProperty<uint32_t> m_oldRunNo{this, "OldRunNumber", 0, ""};
219  Gaudi::Property<bool> m_overrideRunNumber{this, "OverrideRunNumber", false, ""};
220  Gaudi::Property<bool> m_overrideRunNumberFromInput{this, "OverrideRunNumberFromInput", false, ""};
221  // TODO: check if not really used
222  Gaudi::CheckedProperty<uint64_t> m_firstEventNo{this, "FirstEvent", 1, ""};
223  // TODO: check if not really used
224  Gaudi::CheckedProperty<uint64_t> m_eventsPerRun{this, "EventsPerRun", 1000000, ""};
225  Gaudi::CheckedProperty<uint32_t> m_firstLBNo{this, "FirstLB", 0, ""};
226  Gaudi::CheckedProperty<uint32_t> m_eventsPerLB{this, "EventsPerLB", 1000, ""};
227  Gaudi::CheckedProperty<uint32_t> m_initTimeStamp{this, "InitialTimeStamp", 0, ""};
228  Gaudi::Property<uint32_t> m_timeStampInterval{this, "TimeStampInterval", 0, ""};
229 
230  mutable std::atomic_long m_curCollection{};
231  mutable std::vector<int> m_numEvt ATLAS_THREAD_SAFE;
232  mutable std::vector<int> m_firstEvt ATLAS_THREAD_SAFE;
233 
235  Gaudi::Property<int> m_skipEvents{this, "SkipEvents", 0, ""};
236  Gaudi::Property<std::vector<long>> m_skipEventSequenceProp{this, "SkipEventSequence", {}, ""};
238  Gaudi::Property<std::string> m_skipEventRangesProp{this, "SkipEventRanges", {}, ""};
239  mutable std::vector<std::pair<long,long>> m_skipEventRanges ATLAS_THREAD_SAFE;
240 
241  mutable std::atomic_int m_evtCount{}; // internal count of events
242  mutable std::atomic_bool m_firedIncident{};
243 
246 
248 
252 };
253 
254 #endif
EventSelectorAthenaPool::last
virtual StatusCode last(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:741
EventSelectorAthenaPool::createContext
virtual StatusCode createContext(IEvtSelector::Context *&ctxt) const override
create context
Definition: EventSelectorAthenaPool.cxx:453
EventSelectorAthenaPool::m_connection
Gaudi::Property< std::string > m_connection
Connection, connection string.
Definition: EventSelectorAthenaPool.h:192
EventSelectorAthenaPool::fillAttributeList
virtual StatusCode fillAttributeList(coral::AttributeList *attrList, const std::string &suffix, bool copySource) const override
Fill AttributeList with specific items from the selector and a suffix.
Definition: EventSelectorAthenaPool.cxx:1083
EventSelectorAthenaPool::m_skipEvents
Gaudi::Property< int > m_skipEvents
SkipEvents, numbers of events to skip: default = 0.
Definition: EventSelectorAthenaPool.h:235
IAthenaPoolCnvSvc.h
This file contains the class definition for the IAthenaPoolCnvSvc interface class.
hotSpotInTAG.suffix
string suffix
Definition: hotSpotInTAG.py:185
EventSelectorAthenaPool::releaseContext
virtual StatusCode releaseContext(IEvtSelector::Context *&ctxt) const override
Definition: EventSelectorAthenaPool.cxx:777
EventSelectorAthenaPool::CallMutex
std::mutex CallMutex
Definition: EventSelectorAthenaPool.h:244
EventSelectorAthenaPool::io_reinit
virtual StatusCode io_reinit() override
Callback method to reinitialize the internal state of the component for I/O purposes (e....
Definition: EventSelectorAthenaPool.cxx:1111
EventSelectorAthenaPool::curEvent
virtual int curEvent(const Context &ctxt) const override
Return the current event number.
Definition: EventSelectorAthenaPool.cxx:848
EventSelectorAthenaPool::reinit
StatusCode reinit() const
Reinitialize the service when a fork() occured/was-issued.
Definition: EventSelectorAthenaPool.cxx:245
IEventShare.h
EventSelectorAthenaPool::makeClient
virtual StatusCode makeClient(int num) override
Make this a client.
Definition: EventSelectorAthenaPool.cxx:911
PoolCollectionConverter
This class provides an interface to POOL collections.
Definition: PoolCollectionConverter.h:27
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::vector< std::pair< long, long > > m_skipEventRanges ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:239
EventSelectorAthenaPool::previous
virtual StatusCode previous(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:726
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
EventSelectorAthenaPool::m_incidentSvc
ServiceHandle< IIncidentSvc > m_incidentSvc
Definition: EventSelectorAthenaPool.h:179
pool
pool namespace
Definition: libname.h:15
EventSelectorAthenaPool::m_athenaPoolCnvSvc
ServiceHandle< IAthenaPoolCnvSvc > m_athenaPoolCnvSvc
Definition: EventSelectorAthenaPool.h:178
EventSelectorAthenaPool::start
virtual StatusCode start() override
Definition: EventSelectorAthenaPool.cxx:355
EventSelectorAthenaPool::m_overrideRunNumber
Gaudi::Property< bool > m_overrideRunNumber
Definition: EventSelectorAthenaPool.h:219
EventSelectorAthenaPool::readEvent
virtual StatusCode readEvent(int maxevt) override
Read the next maxevt events.
Definition: EventSelectorAthenaPool.cxx:963
EventSelectorAthenaPool::m_eventStreamingTool
ToolHandle< IAthenaIPCTool > m_eventStreamingTool
Definition: EventSelectorAthenaPool.h:210
EventSelectorAthenaPool::eventStore
StoreGateSvc * eventStore() const
Return pointer to active event SG.
Definition: EventSelectorAthenaPool.cxx:83
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::vector< std::string >::const_iterator m_inputCollectionsIterator ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:198
IAthenaSelectorTool.h
This file contains the class definition for the IAthenaSelectorTool class.
EventSelectorAthenaPool::m_firstLBNo
Gaudi::CheckedProperty< uint32_t > m_firstLBNo
Definition: EventSelectorAthenaPool.h:225
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
EventSelectorAthenaPool::findEvent
int findEvent(int evtNum) const
Search for event with number evtNum.
Definition: EventSelectorAthenaPool.cxx:856
EventSelectorAthenaPool::m_callLock
CallMutex m_callLock
Definition: EventSelectorAthenaPool.h:245
EventSelectorAthenaPool
This class is the EventSelector for event data.
Definition: EventSelectorAthenaPool.h:51
EventContextAthenaPool
This class provides the context to access an event from POOL persistent store.
Definition: EventContextAthenaPool.h:21
EventSelectorAthenaPool::stop
virtual StatusCode stop() override
Definition: EventSelectorAthenaPool.cxx:383
EventSelectorAthenaPool::m_overrideRunNumberFromInput
Gaudi::Property< bool > m_overrideRunNumberFromInput
Definition: EventSelectorAthenaPool.h:220
EventSelectorAthenaPool::m_counterTool
ToolHandle< IAthenaSelectorTool > m_counterTool
Definition: EventSelectorAthenaPool.h:209
EventSelectorAthenaPool::share
virtual StatusCode share(int evtnum) override
Request to share a given event number.
Definition: EventSelectorAthenaPool.cxx:930
EventSelectorAthenaPool::m_runNo
Gaudi::CheckedProperty< uint32_t > m_runNo
The following are included for compatibility with McEventSelector and are not really used.
Definition: EventSelectorAthenaPool.h:217
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:120
SG::SlotSpecificObj< SG::SourceID >
EventSelectorAthenaPool::m_firedIncident
std::atomic_bool m_firedIncident
Definition: EventSelectorAthenaPool.h:242
APRDefaults.h
EventSelectorAthenaPool::m_oldRunNo
Gaudi::CheckedProperty< uint32_t > m_oldRunNo
Definition: EventSelectorAthenaPool.h:218
EventSelectorAthenaPool::m_attrListKey
Gaudi::Property< std::string > m_attrListKey
AttributeList SG key.
Definition: EventSelectorAthenaPool.h:194
EventSelectorAthenaPool::rewind
virtual StatusCode rewind(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:749
EventSelectorAthenaPool::getCollectionCnv
std::unique_ptr< PoolCollectionConverter > getCollectionCnv(bool throwIncidents=false) const
Return pointer to new PoolCollectionConverter.
Definition: EventSelectorAthenaPool.cxx:1022
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EventSelectorAthenaPool::resetCriteria
virtual StatusCode resetCriteria(const std::string &criteria, IEvtSelector::Context &ctxt) const override
Set a selection criteria.
Definition: EventSelectorAthenaPool.cxx:781
EventSelectorAthenaPool::m_isSecondary
Gaudi::Property< bool > m_isSecondary
IsSecondary, know if this is an instance of secondary event selector.
Definition: EventSelectorAthenaPool.h:183
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::map< SG::SourceID, int > m_activeEventsPerSource ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:176
EventSelectorAthenaPool::fireEndFileIncidents
void fireEndFileIncidents(bool isLastFile) const
Fires the EndInputFile incident (if there is an open file) at end of selector.
Definition: EventSelectorAthenaPool.cxx:395
EventSelectorAthenaPool::m_makeStreamingToolClient
IntegerProperty m_makeStreamingToolClient
Make this instance a Streaming Client during first iteration automatically.
Definition: EventSelectorAthenaPool.h:212
EventSelectorAthenaPool::m_eventsPerRun
Gaudi::CheckedProperty< uint64_t > m_eventsPerRun
Definition: EventSelectorAthenaPool.h:224
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::vector< int > m_numEvt ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:231
EventSelectorAthenaPool::m_collectionTree
Gaudi::Property< std::string > m_collectionTree
CollectionTree, prefix of the collection TTree: default = "POOLContainer".
Definition: EventSelectorAthenaPool.h:189
EventSelectorAthenaPool::inputCollectionsHandler
void inputCollectionsHandler(Gaudi::Details::PropertyBase &)
Definition: EventSelectorAthenaPool.cxx:74
EventSelectorAthenaPool::m_firstEventNo
Gaudi::CheckedProperty< uint64_t > m_firstEventNo
Definition: EventSelectorAthenaPool.h:222
EventSelectorAthenaPool::m_skipEventRangesProp
Gaudi::Property< std::string > m_skipEventRangesProp
Skip Events - comma separated list of event to skip, ranges with '-': <start> - <end>
Definition: EventSelectorAthenaPool.h:238
EventSelectorAthenaPool::handle
virtual void handle(const Incident &incident) override
Incident service handle listening for BeginProcessing and EndProcessing.
Definition: EventSelectorAthenaPool.cxx:1178
pool::ICollectionCursor
Definition: ICollectionCursor.h:22
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
APRDefaults::TTreeNames::DataHeader
static constexpr const char * DataHeader
Definition: APRDefaults.h:14
EventSelectorAthenaPool::~EventSelectorAthenaPool
virtual ~EventSelectorAthenaPool()
Destructor.
Definition: EventSelectorAthenaPool.cxx:80
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::vector< int > m_firstEvt ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:232
EventSelectorAthenaPool::next
virtual StatusCode next(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:458
EventSelectorAthenaPool::m_processMetadata
Gaudi::Property< bool > m_processMetadata
ProcessMetadata, switch on firing of FileIncidents which will trigger processing of metadata: default...
Definition: EventSelectorAthenaPool.h:185
EventSelectorAthenaPool::disconnectIfFinished
virtual bool disconnectIfFinished(const SG::SourceID &fid) const override
Definition: EventSelectorAthenaPool.cxx:1219
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
EventSelectorAthenaPool::m_inputCollectionsProp
Gaudi::Property< std::vector< std::string > > m_inputCollectionsProp
InputCollections, vector with names of the input collections.
Definition: EventSelectorAthenaPool.h:197
EventSelectorAthenaPool::recordAttributeList
virtual StatusCode recordAttributeList() const override
Record AttributeList in StoreGate.
Definition: EventSelectorAthenaPool.cxx:1065
EventSelectorAthenaPool::m_sourceID
SG::SlotSpecificObj< SG::SourceID > m_sourceID
Definition: EventSelectorAthenaPool.h:247
EventSelectorAthenaPool::nextHandleFileTransition
virtual StatusCode nextHandleFileTransition(IEvtSelector::Context &ctxt) const override
Handle file transition at the next iteration.
Definition: EventSelectorAthenaPool.cxx:609
EventSelectorAthenaPool::createAddress
virtual StatusCode createAddress(const IEvtSelector::Context &ctxt, IOpaqueAddress *&iop) const override
Definition: EventSelectorAthenaPool.cxx:755
EventSelectorAthenaPool::nextWithSkip
virtual StatusCode nextWithSkip(IEvtSelector::Context &ctxt) const override
Go to next event and skip if necessary.
Definition: EventSelectorAthenaPool.cxx:688
DoubleEventSelectorAthenaPool
This class is the EventSelector for event data.
Definition: DoubleEventSelectorAthenaPool.h:27
EventSelectorAthenaPool::m_curCollection
std::atomic_long m_curCollection
Definition: EventSelectorAthenaPool.h:230
EventSelectorAthenaPool::m_eventsPerLB
Gaudi::CheckedProperty< uint32_t > m_eventsPerLB
Definition: EventSelectorAthenaPool.h:226
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::unique_ptr< PoolCollectionConverter > m_poolCollectionConverter ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:173
EventSelectorAthenaPool::m_endIter
EventContextAthenaPool * m_endIter
Definition: EventSelectorAthenaPool.h:170
EventSelectorAthenaPool::initialize
virtual StatusCode initialize() override
Required of all Gaudi Services.
Definition: EventSelectorAthenaPool.cxx:87
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition: Guid.h:20
EventSelectorAthenaPool::m_evtCount
std::atomic_int m_evtCount
Definition: EventSelectorAthenaPool.h:241
SG::SourceID
std::string SourceID
Definition: AthenaKernel/AthenaKernel/SourceID.h:25
EventSelectorAthenaPool::io_finalize
virtual StatusCode io_finalize() override
Callback method to finalize the internal state of the component for I/O purposes (e....
Definition: EventSelectorAthenaPool.cxx:1163
EventSelectorAthenaPool::m_timeStampInterval
Gaudi::Property< uint32_t > m_timeStampInterval
Definition: EventSelectorAthenaPool.h:228
EventSelectorAthenaPool::m_initTimeStamp
Gaudi::CheckedProperty< uint32_t > m_initTimeStamp
Definition: EventSelectorAthenaPool.h:227
EventSelectorAthenaPool::m_skipEventSequenceProp
Gaudi::Property< std::vector< long > > m_skipEventSequenceProp
Definition: EventSelectorAthenaPool.h:236
AthService.h
SlotSpecificObj.h
Maintain a set of objects, one per slot.
EventSelectorAthenaPool::makeServer
virtual StatusCode makeServer(int num) override
Make this a server.
Definition: EventSelectorAthenaPool.cxx:886
EventSelectorAthenaPool::size
virtual int size(Context &ctxt) const override
Return the size of the collection.
Definition: EventSelectorAthenaPool.cxx:1011
IEvtSelectorSeek.h
Extension to IEvtSelector to allow for seeking.
Guid.h
This file contains the class definition for the Guid class (migrated from POOL).
EventSelectorAthenaPool::finalize
virtual StatusCode finalize() override
Definition: EventSelectorAthenaPool.cxx:412
EventSelectorAthenaPool::m_keepInputFilesOpen
Gaudi::Property< bool > m_keepInputFilesOpen
KeepInputFilesOpen, boolean flag to keep files open after PoolCollection reaches end: default = false...
Definition: EventSelectorAthenaPool.h:205
EventSelectorAthenaPool::m_collectionType
Gaudi::Property< std::string > m_collectionType
CollectionType, type of the collection: default = "ImplicitCollection".
Definition: EventSelectorAthenaPool.h:187
EventSelectorAthenaPool::EventSelectorAthenaPool
EventSelectorAthenaPool(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
Definition: EventSelectorAthenaPool.cxx:56
IAthenaIPCTool.h
EventSelectorAthenaPool::seek
virtual StatusCode seek(Context &ctxt, int evtnum) const override
Seek to a given event number.
Definition: EventSelectorAthenaPool.cxx:786
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
bool m_inputCollectionsChanged ATLAS_THREAD_SAFE
flag to notify the EvSel that the inputs were changed and reinit() needs to be called ASAP
Definition: EventSelectorAthenaPool.h:201
ServiceHandle< IAthenaPoolCnvSvc >
ISecondaryEventSelector.h
Abstract interface for secondary event selectors.