![]() |
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 46 of file MixingEventSelector.cxx.
|
virtual |
Definition at line 53 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 552 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 544 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 221 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 173 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 505 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 568 of file MixingEventSelector.cxx.
|
private |
"intelligent" accessor to the above
Definition at line 299 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 536 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 113 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 556 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 572 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 82 of file MixingEventSelector.cxx.
|
private |
setup and lookup m_evtsNotUsedSoFar. Returns next event no
Definition at line 268 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 57 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 459 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 238 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 462 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 183 of file MixingEventSelector.cxx.
Definition at line 484 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 232 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 465 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 468 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 474 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 488 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 477 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 471 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 548 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 540 of file MixingEventSelector.cxx.
|
private |
choose current trigger at random. Actually modifies state (use mutables)
Definition at line 276 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 532 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 104 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 261 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 560 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 564 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 576 of file MixingEventSelector.cxx.
|
overridevirtual |
Definition at line 580 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.
1.8.18