![]() |
ATLAS Offline Software
|
a stream of events read from different selectors. More...
#include <MixingEventSelector.h>
Classes | |
class | Context |
dummy for now More... | |
class | Trigger |
a selector with an associated frequency More... | |
class | TriggerList |
the list of available selectors with their frequency range More... | |
Public Types | |
typedef std::list< SG::TransientAddress * > | tadList |
typedef tadList::iterator | tadListIterator |
Public Member Functions | |
DeclareInterfaceID (IAddressProvider, 1, 0) | |
IEvtSelector implementation | |
virtual StatusCode | next (IEvtSelector::Context &refCtxt) const override |
virtual StatusCode | createAddress (const IEvtSelector::Context &refCtxt, IOpaqueAddress *&) const override |
virtual StatusCode | createContext (IEvtSelector::Context *&refpCtxt) const override |
virtual StatusCode | last (IEvtSelector::Context &) const override |
virtual StatusCode | next (IEvtSelector::Context &, int) const override |
virtual StatusCode | previous (IEvtSelector::Context &) const override |
virtual StatusCode | previous (IEvtSelector::Context &, int) const override |
virtual StatusCode | rewind (IEvtSelector::Context &refCtxt) const override |
virtual StatusCode | releaseContext (IEvtSelector::Context *&refCtxt) const override |
virtual StatusCode | resetCriteria (const std::string &cr, IEvtSelector::Context &c) const override |
IAddressProvider interface (forwarded to current Trigger) | |
virtual StatusCode | preLoadAddresses (StoreID::type storeID, IAddressProvider::tadList &tads) override |
get all addresses from Provider : Called before Begin Event More... | |
virtual StatusCode | loadAddresses (StoreID::type storeID, IAddressProvider::tadList &tads) override |
get all new addresses from Provider for this Event. More... | |
virtual StatusCode | updateAddress (StoreID::type storeID, SG::TransientAddress *tad, const EventContext &ctx) override |
update a transient Address The ctx argument will give the current event information. More... | |
IConverter implementation. | |
virtual const CLID & | objType () const override |
virtual long | repSvcType () const override |
virtual StatusCode | createObj (IOpaqueAddress *pAddress, DataObject *&refpObject) override |
Create the transient representation of an object. More... | |
virtual StatusCode | setDataProvider (IDataProviderSvc *pService) override |
virtual SmartIF< IDataProviderSvc > & | dataProvider () const override |
virtual StatusCode | setConversionSvc (IConversionSvc *pService) override |
virtual SmartIF< IConversionSvc > & | conversionSvc () const override |
virtual StatusCode | setAddressCreator (IAddressCreator *creator) override |
virtual SmartIF< IAddressCreator > & | addressCreator () const override |
virtual StatusCode | fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) override |
virtual StatusCode | updateObj (IOpaqueAddress *pAddress, DataObject *refpObject) override |
virtual StatusCode | updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) override |
virtual StatusCode | createRep (DataObject *pObject, IOpaqueAddress *&refpAddress) override |
virtual StatusCode | fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject) override |
virtual StatusCode | updateRep (IOpaqueAddress *pAddress, DataObject *pObject) override |
virtual StatusCode | updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject) override |
Service implementation | |
virtual StatusCode | initialize () override |
virtual StatusCode | finalize () override |
void | setUpTriggerList (Gaudi::Details::PropertyBase &trigList) |
TriggerList property call-back. More... | |
void | decodeTrigger (std::string triggDescr) |
functor that creates a Trigger object and adds it to m_trigList More... | |
Private Attributes | |
Properties | |
StringProperty | m_statusFileName |
optional stream output snapshot More... | |
StringArrayProperty | m_triggerListProp |
the recipe More... | |
IntegerProperty | m_outputRunNumber |
UnsignedLongArrayProperty | m_eventNumbers |
use these as event numbers More... | |
StringProperty | m_mergedEventInfoKey |
SG key of MergedEventInfo. More... | |
ToolHandleArray< IAthenaSelectorTool > | m_helperTools |
TriggerList | m_trigList |
the ingredients More... | |
structors | |
MixingEventSelector (const std::string &name, ISvcLocator *svc) | |
virtual | ~MixingEventSelector () |
bool | validTrigger () const |
trigger list management | |
TriggerList::iterator | m_pCurrentTrigger |
the current trigger More... | |
TriggerList::iterator | setCurrentTrigger () const |
choose current trigger at random. Actually modifies state (use mutables) More... | |
TriggerList::iterator | currentTrigger () const |
"intelligent" accessor to the above More... | |
event number management | |
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
unsigned long | m_eventPos |
the internal event number More... | |
StoreGateSvc_t | m_pEventStore |
ServiceHandle< IAtRndmGenSvc > | m_atRndmSvc |
StringProperty | m_randomStreamName |
CLHEP::RandFlat * | m_chooseRangeRand |
unsigned long | getEventNo () const |
setup and lookup m_evtsNotUsedSoFar. Returns next event no More... | |
a stream of events read from different selectors.
Each source contains a particular event type ("trigger"). We want to mix the triggers according to a recipe specified via the "TriggerList" property
The algorithms downstream of the"mixer" will see events coming at random according to this admixture.
The "OutputRunNumber" property allows to assign a new run number to the events.
The event number can be randomized to mimic the behaviour of the processing farms. So
will shuffle the first 100 events, then move to the second hundred, etc
Definition at line 68 of file MixingEventSelector.h.
|
private |
Definition at line 257 of file MixingEventSelector.h.
|
inherited |
Definition at line 32 of file IAddressProvider.h.
|
inherited |
Definition at line 33 of file IAddressProvider.h.
MixingEventSelector::MixingEventSelector | ( | const std::string & | name, |
ISvcLocator * | svc | ||
) |
Definition at line 47 of file MixingEventSelector.cxx.
|
virtual |
Definition at line 74 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 590 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 582 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 258 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 210 of file MixingEventSelector.cxx.
|
overridevirtual |
Create the transient representation of an object.
The transient representation is created by loading the persistent object using the source information contained in the address.
pAddress | Opaque address information to retrieve the requested object from the store in order to produce the transient object. |
refpObject | Reference to location of pointer of the created object. |
Definition at line 543 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 606 of file MixingEventSelector.cxx.
|
private |
"intelligent" accessor to the above
Definition at line 336 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 574 of file MixingEventSelector.cxx.
|
inherited |
void MixingEventSelector::decodeTrigger | ( | std::string | triggDescr | ) |
functor that creates a Trigger object and adds it to m_trigList
Definition at line 138 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 594 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 610 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 103 of file MixingEventSelector.cxx.
|
private |
setup and lookup m_evtsNotUsedSoFar. Returns next event no
Definition at line 305 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 78 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 497 of file MixingEventSelector.cxx.
|
overridevirtual |
get all new addresses from Provider for this Event.
Reimplemented from IAddressProvider.
Definition at line 275 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 500 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 220 of file MixingEventSelector.cxx.
Definition at line 522 of file MixingEventSelector.cxx.
|
overridevirtual |
get all addresses from Provider : Called before Begin Event
Reimplemented from IAddressProvider.
Definition at line 269 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 503 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 506 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 512 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 526 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 515 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 509 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 586 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 578 of file MixingEventSelector.cxx.
|
private |
choose current trigger at random. Actually modifies state (use mutables)
Definition at line 313 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 570 of file MixingEventSelector.cxx.
void MixingEventSelector::setUpTriggerList | ( | Gaudi::Details::PropertyBase & | trigList | ) |
TriggerList property call-back.
Decode TriggerList, obtain selector ptrs and store them alongside fractions in m_trigList
Definition at line 129 of file MixingEventSelector.cxx.
|
overridevirtual |
update a transient Address The ctx argument will give the current event information.
If we're not dealing with an event store (conditions, etc), then the context will be empty (default-initialized).
Implements IAddressProvider.
Definition at line 298 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 598 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 602 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 614 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 618 of file MixingEventSelector.cxx.
|
inlineprivate |
Definition at line 152 of file MixingEventSelector.h.
|
private |
Definition at line 259 of file MixingEventSelector.h.
|
private |
Definition at line 261 of file MixingEventSelector.h.
|
private |
use these as event numbers
Definition at line 158 of file MixingEventSelector.h.
|
mutableprivate |
the internal event number
Definition at line 255 of file MixingEventSelector.h.
|
private |
Definition at line 160 of file MixingEventSelector.h.
|
private |
SG key of MergedEventInfo.
Definition at line 159 of file MixingEventSelector.h.
|
private |
Definition at line 157 of file MixingEventSelector.h.
|
mutableprivate |
the current trigger
Definition at line 247 of file MixingEventSelector.h.
|
mutableprivate |
Definition at line 258 of file MixingEventSelector.h.
|
private |
Definition at line 260 of file MixingEventSelector.h.
|
private |
optional stream output snapshot
Definition at line 155 of file MixingEventSelector.h.
|
private |
the recipe
Definition at line 156 of file MixingEventSelector.h.
|
mutableprivate |
the ingredients
Definition at line 241 of file MixingEventSelector.h.