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 Member Functions | |
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 |
virtual StatusCode | loadAddresses (StoreID::type storeID, IAddressProvider::tadList &tads) override |
virtual StatusCode | updateAddress (StoreID::type storeID, SG::TransientAddress *tad, const EventContext &ctx) override |
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 256 of file MixingEventSelector.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 575 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 567 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 244 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 196 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 528 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 591 of file MixingEventSelector.cxx.
|
private |
"intelligent" accessor to the above
Definition at line 322 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 559 of file MixingEventSelector.cxx.
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 579 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 595 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 291 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 78 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 482 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 261 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 485 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 206 of file MixingEventSelector.cxx.
Definition at line 507 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 255 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 488 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 491 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 497 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 511 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 500 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 494 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 571 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 563 of file MixingEventSelector.cxx.
|
private |
choose current trigger at random. Actually modifies state (use mutables)
Definition at line 299 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 555 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 |
Definition at line 284 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 583 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 587 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 599 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 603 of file MixingEventSelector.cxx.
|
inlineprivate |
Definition at line 151 of file MixingEventSelector.h.
|
private |
Definition at line 258 of file MixingEventSelector.h.
|
private |
Definition at line 260 of file MixingEventSelector.h.
|
private |
use these as event numbers
Definition at line 157 of file MixingEventSelector.h.
|
mutableprivate |
the internal event number
Definition at line 254 of file MixingEventSelector.h.
|
private |
Definition at line 159 of file MixingEventSelector.h.
|
private |
SG key of MergedEventInfo.
Definition at line 158 of file MixingEventSelector.h.
|
private |
Definition at line 156 of file MixingEventSelector.h.
|
mutableprivate |
the current trigger
Definition at line 246 of file MixingEventSelector.h.
|
mutableprivate |
Definition at line 257 of file MixingEventSelector.h.
|
private |
Definition at line 259 of file MixingEventSelector.h.
|
private |
optional stream output snapshot
Definition at line 154 of file MixingEventSelector.h.
|
private |
the recipe
Definition at line 155 of file MixingEventSelector.h.
|
mutableprivate |
the ingredients
Definition at line 240 of file MixingEventSelector.h.