![]() |
ATLAS Offline Software
|
Input Makers are used at the start of a sequence: retrieve filtered collection via the input decision from the previous step and write it out directly so it can be used as input by the reconstruction algorithms that follow in sequence. More...
#include <InputMakerBase.h>
Classes | |
| struct | MatchingCache |
| Used to cache each incoming Decision object's ElementLink which is being used to identify the Decision object for the purposes of de-duplication merging. More... | |
Public Member Functions | |
| InputMakerBase (const std::string &name, ISvcLocator *pSvcLocator) | |
| constructor, to be called by sub-class constructors | |
| virtual | ~InputMakerBase () |
| destructor | |
| virtual StatusCode | sysInitialize () override |
| initialise this base class and renounce input decision key handles | |
| virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. | |
| virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. | |
| virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. | |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. | |
| virtual bool | filterPassed (const EventContext &ctx) const |
| virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Protected Member Functions | |
| const SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > & | decisionInputs () const |
| methods for derived classes to access handles of the base class input and output decisions; other read/write handles may be implemented by derived classes | |
| const SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > & | decisionOutputs () const |
| methods for derived classes to access handles of the base class input and output decisions; other read/write handles may be implemented by derived classes | |
| void | debugPrintOut (const EventContext &context, SG::WriteHandle< TrigCompositeUtils::DecisionContainer > &outputHandle) const |
| provides debug printout of the output of the algorithm | |
| StatusCode | decisionInputToOutput (const EventContext &context, SG::WriteHandle< TrigCompositeUtils::DecisionContainer > &outputHandle) const |
| does the standard handling of input decisions: read from handles with all the checks, create merged output handles and link them, copies links and return outputHandles | |
| size_t | matchDecision (const TrigCompositeUtils::DecisionContainer *outDecisions, const TrigCompositeUtils::Decision *toMatch, const std::string &linkNameToMatch, MatchingCache &matchingCache) const |
| Checks for merge-able Decision objects coming from N upstream filters. Check based on most-recent element link with name 'linkNameToMatch'. Works for any link type. | |
| bool | matchInCollection (const TrigCompositeUtils::DecisionContainer *outDecisions, const TrigCompositeUtils::Decision *toMatch, size_t &matchIndex, bool &usedROIMatchingFlag, MatchingCache &matchingCache) const |
| Wrapper around matchDecision. Returns boolean if the match was successful. | |
| uint64_t | getMatchingHashForDecision (const TrigCompositeUtils::Decision *toMatch, const std::string &linkNameToMatch) const |
| Searches from toMatch to locate a single (type-less) Element Link with given edge name. Returns a hash corresponding to this Element Link. | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Protected Attributes | |
| StringProperty | m_roisLink |
| Gaudi::Property< bool > | m_mergeUsingFeature |
| Gaudi::Property< bool > | m_isEmptyStep |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > | m_inputs { this, "InputMakerInputDecisions", {}, "Input Decisions (implicit)" } |
| input decisions array, will be implicit (renounced). | |
| SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > | m_outputs { this, "InputMakerOutputDecisions", "", "Output Decisions" } |
| output decisions | |
| DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. | |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Input Makers are used at the start of a sequence: retrieve filtered collection via the input decision from the previous step and write it out directly so it can be used as input by the reconstruction algorithms that follow in sequence.
This is a base class for HLT InputMakers to reduce boilerplate and enforce the common naming scheme for decision handle keys. Derived classes implement how the reconstruction is started. Current options are via WriteHandle<TrigROIDecscriptorCollection>, as used by the InputMakerForRoI specialisation. Or via the spawning of EventView instances over a given sequencer, as used by the EventViewCreatorAlgorithm specialisation.
Definition at line 20 of file InputMakerBase.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| InputMakerBase::InputMakerBase | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator ) |
constructor, to be called by sub-class constructors
Definition at line 12 of file InputMakerBase.cxx.
|
virtual |
|
overridevirtualinherited |
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
|
protected |
provides debug printout of the output of the algorithm
Definition at line 200 of file InputMakerBase.cxx.
|
protected |
methods for derived classes to access handles of the base class input and output decisions; other read/write handles may be implemented by derived classes
Definition at line 17 of file InputMakerBase.cxx.
|
protected |
does the standard handling of input decisions: read from handles with all the checks, create merged output handles and link them, copies links and return outputHandles
Definition at line 43 of file InputMakerBase.cxx.
|
protected |
methods for derived classes to access handles of the base class input and output decisions; other read/write handles may be implemented by derived classes
Definition at line 21 of file InputMakerBase.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
|
inlinevirtualinherited |
Definition at line 96 of file AthCommonReentrantAlgorithm.h.
|
protected |
Searches from toMatch to locate a single (type-less) Element Link with given edge name. Returns a hash corresponding to this Element Link.
< Used to accelerate the recursive typelessFindLinks.
Definition at line 159 of file InputMakerBase.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ITkPixelCablingAlg, ITkStripCablingAlg, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, and Simulation::BeamEffectsAlg.
Definition at line 68 of file AthCommonReentrantAlgorithm.cxx.
|
protected |
Checks for merge-able Decision objects coming from N upstream filters. Check based on most-recent element link with name 'linkNameToMatch'. Works for any link type.
Definition at line 140 of file InputMakerBase.cxx.
|
protected |
Wrapper around matchDecision. Returns boolean if the match was successful.
< Used to accelerate the recursive typelessFindLinks.
Definition at line 117 of file InputMakerBase.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
inlinevirtualinherited |
Definition at line 100 of file AthCommonReentrantAlgorithm.h.
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
|
overridevirtual |
initialise this base class and renounce input decision key handles
Reimplemented from AthCommonReentrantAlgorithm< Gaudi::Algorithm >.
Definition at line 25 of file InputMakerBase.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
|
private |
input decisions array, will be implicit (renounced).
Definition at line 87 of file InputMakerBase.h.
|
protected |
Definition at line 56 of file InputMakerBase.h.
|
protected |
Definition at line 53 of file InputMakerBase.h.
|
private |
output decisions
Definition at line 90 of file InputMakerBase.h.
|
protected |
Definition at line 50 of file InputMakerBase.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.