![]() |
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 | |
Gaudi::Property< std::string > | m_statusFileName |
Gaudi::Property< std::vector< std::string > > | m_triggerListProp |
Gaudi::Property< int > | m_outputRunNumber {this, "OutputRunNumber", 123456789} |
Gaudi::Property< std::vector< unsigned long > > | m_eventNumbers |
Gaudi::Property< std::string > | m_mergedEventInfoKey |
Gaudi::Property< std::string > | m_randomStreamName |
ToolHandleArray< IAthenaSelectorTool > | m_helperTools |
ServiceHandle< IAtRndmGenSvc > | m_atRndmSvc |
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 | |
unsigned long | m_eventPos {0} |
the internal event number More... | |
ServiceHandle< StoreGateSvc > | m_pEventStore |
std::unique_ptr< 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 69 of file MixingEventSelector.h.
MixingEventSelector::MixingEventSelector | ( | const std::string & | name, |
ISvcLocator * | svc | ||
) |
Definition at line 47 of file MixingEventSelector.cxx.
|
virtual |
Definition at line 54 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 551 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 543 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 220 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 172 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 504 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 567 of file MixingEventSelector.cxx.
|
private |
"intelligent" accessor to the above
Definition at line 298 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 535 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 114 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 555 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 571 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 83 of file MixingEventSelector.cxx.
|
private |
setup and lookup m_evtsNotUsedSoFar. Returns next event no
Definition at line 267 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 58 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 458 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 237 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 461 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 182 of file MixingEventSelector.cxx.
Definition at line 483 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 231 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 464 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 467 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 473 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 487 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 476 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 470 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 547 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 539 of file MixingEventSelector.cxx.
|
private |
choose current trigger at random. Actually modifies state (use mutables)
Definition at line 275 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 531 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 105 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 260 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 559 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 563 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 575 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 579 of file MixingEventSelector.cxx.
|
inlineprivate |
Definition at line 152 of file MixingEventSelector.h.
|
private |
Definition at line 178 of file MixingEventSelector.h.
|
private |
Definition at line 277 of file MixingEventSelector.h.
|
private |
Definition at line 165 of file MixingEventSelector.h.
|
mutableprivate |
the internal event number
Definition at line 274 of file MixingEventSelector.h.
|
private |
Definition at line 175 of file MixingEventSelector.h.
|
private |
Definition at line 169 of file MixingEventSelector.h.
|
private |
Definition at line 163 of file MixingEventSelector.h.
|
mutableprivate |
the current trigger
Definition at line 266 of file MixingEventSelector.h.
|
private |
Definition at line 276 of file MixingEventSelector.h.
|
private |
Definition at line 172 of file MixingEventSelector.h.
|
private |
Definition at line 156 of file MixingEventSelector.h.
|
private |
Definition at line 159 of file MixingEventSelector.h.
|
mutableprivate |
the ingredients
Definition at line 260 of file MixingEventSelector.h.