![]() |
ATLAS Offline Software
|
Used at the start of a sequence to create the EventViews: retrieves filtered collections via menu decision from previous step, merges them and writes out a merged collection to be consumed by HypoAlg(s). More...
#include <EventViewCreatorAlgorithm.h>
Public Member Functions | |
| EventViewCreatorAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) | |
| virtual | ~EventViewCreatorAlgorithm () |
| virtual StatusCode | initialize () override |
| virtual StatusCode | execute (const EventContext &) const override |
| virtual StatusCode | finalize () override |
| 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 | |
| EventViewCreatorAlgorithm () | |
| StatusCode | linkViewToParent (const TrigCompositeUtils::Decision *outputDecision, SG::View *newView) const |
| Makes sure the views are linked, if configuration requireParentView is set. | |
| StatusCode | placeRoIInView (const ElementLink< TrigRoiDescriptorCollection > &roi, SG::View *view, const EventContext &context) const |
| Seeds a newly created view with an ROI collection containing the single seeding ROI. | |
| SmartIF< IScheduler > | getScheduler () const |
| Obtain smart pointer to scheduler in order to schedule newly spawned views. | |
| bool | checkCache (const TrigCompositeUtils::DecisionContainer *cachedViews, const TrigCompositeUtils::Decision *outputDecision, size_t &cachedIndex, MatchingCache &matchingCache) const |
| Allow for the re-use of EventViews run in a previous Step in another EVCA instance configured to spawn EventViews using the same reconstruction sequence (i.e. | |
| StatusCode | populateMatchingCacheWithCachedViews (const TrigCompositeUtils::DecisionContainer *cachedViews, MatchingCache &matchingCache) const |
| We look for matching Decision Objects in a matchingCache. | |
| 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 | |
| SG::WriteHandleKey< ViewContainer > | m_viewsKey |
| SG::WriteHandleKey< ConstDataVector< TrigRoiDescriptorCollection > > | m_inViewRoIs |
| Gaudi::Property< std::string > | m_schedulerName { this, "SchedulerName", "AvalancheSchedulerSvc", "Name of the scheduler" } |
| Gaudi::Property< std::string > | m_viewNodeName { this, "ViewNodeName", "", "Name of the ControlFlow node to attach new views to" } |
| Gaudi::Property< bool > | m_viewFallThrough |
| Gaudi::Property< std::vector< std::string > > | m_viewFallFilter |
| Gaudi::Property< bool > | m_requireParentView |
| Gaudi::Property< bool > | m_reverseViews |
| SG::ReadHandleKey< TrigCompositeUtils::DecisionContainer > | m_cachedViewsKey |
| ToolHandle< IViewCreatorROITool > | m_roiTool |
| StringProperty | m_roisLink |
| Gaudi::Property< bool > | m_mergeUsingFeature |
| Gaudi::Property< bool > | m_isEmptyStep |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| std::vector< TrigCompositeUtils::LinkInfo< ViewContainer > > | viewsToLink (const TrigCompositeUtils::Decision *outputDecision) const |
| Obtain view(s) from most recent prior step(s) which are to be wired up. | |
| 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 |
Muon slice code | |
| Gaudi::Property< bool > | m_placeMuonInView |
| SG::WriteHandleKey< xAOD::MuonContainer > | m_inViewMuons |
| SG::WriteHandleKey< ConstDataVector< MuonCandidateCollection > > | m_inViewMuonCandidates |
| StatusCode | placeMuonInView (const xAOD::Muon *theObject, SG::View *view, const EventContext &context) const |
| Creates a SG::VIEW_ELEMENTS collection inside a newly created View populated by the MuonCombined::MuonCandidate used to seed the View Also currently populated by the xAOD::Muon for the iso use case, but this should be removed. | |
Jet slice code | |
| Gaudi::Property< bool > | m_placeJetInView |
| Gaudi::Property< bool > | m_cacheDisabled |
| SG::WriteHandleKey< xAOD::JetContainer > | m_inViewJets |
| StatusCode | placeJetInView (const xAOD::Jet *theObject, SG::View *view, const EventContext &context) const |
| Creates a SG::VIEW_ELEMENTS collection inside a newly created View populated by the jet used to seed the View. | |
Used at the start of a sequence to create the EventViews: retrieves filtered collections via menu decision from previous step, merges them and writes out a merged collection to be consumed by HypoAlg(s).
Spawns EventViews for each unique ROI associated to each Decision object in the merged output. Links the EventView and the ROI to each Decision object in the merged output.
Definition at line 44 of file EventViewCreatorAlgorithm.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| EventViewCreatorAlgorithm::EventViewCreatorAlgorithm | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator ) |
Definition at line 17 of file EventViewCreatorAlgorithm.cxx.
|
virtual |
Definition at line 20 of file EventViewCreatorAlgorithm.cxx.
|
protected |
|
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 |
Allow for the re-use of EventViews run in a previous Step in another EVCA instance configured to spawn EventViews using the same reconstruction sequence (i.e.
both algs should share a common ViewNodeName).
Definition at line 187 of file EventViewCreatorAlgorithm.cxx.
|
protectedinherited |
provides debug printout of the output of the algorithm
Definition at line 200 of file InputMakerBase.cxx.
|
protectedinherited |
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.
|
protectedinherited |
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.
|
protectedinherited |
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.
|
overridevirtual |
Definition at line 48 of file EventViewCreatorAlgorithm.cxx.
|
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.
|
inlineoverridevirtual |
Definition at line 51 of file EventViewCreatorAlgorithm.h.
|
protectedinherited |
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.
|
protected |
Obtain smart pointer to scheduler in order to schedule newly spawned views.
|
overridevirtual |
Definition at line 22 of file EventViewCreatorAlgorithm.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 |
Makes sure the views are linked, if configuration requireParentView is set.
Failure to set the parent is an error
Definition at line 263 of file EventViewCreatorAlgorithm.cxx.
|
protectedinherited |
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.
|
protectedinherited |
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.
|
protected |
Creates a SG::VIEW_ELEMENTS collection inside a newly created View populated by the jet used to seed the View.
Definition at line 336 of file EventViewCreatorAlgorithm.cxx.
|
protected |
Creates a SG::VIEW_ELEMENTS collection inside a newly created View populated by the MuonCombined::MuonCandidate used to seed the View Also currently populated by the xAOD::Muon for the iso use case, but this should be removed.
Definition at line 309 of file EventViewCreatorAlgorithm.cxx.
|
protected |
Seeds a newly created view with an ROI collection containing the single seeding ROI.
Definition at line 294 of file EventViewCreatorAlgorithm.cxx.
|
protected |
We look for matching Decision Objects in a matchingCache.
When we are trying in a PROBE InputMaker to match against the Decision Objects created prior in a TAG InputMaker then we need to pre-populate the cache with the data from the TAG InputMaker.
Definition at line 248 of file EventViewCreatorAlgorithm.cxx.
|
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.
|
overridevirtualinherited |
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.
|
private |
Obtain view(s) from most recent prior step(s) which are to be wired up.
Definition at line 183 of file EventViewCreatorAlgorithm.cxx.
|
protected |
Definition at line 108 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 77 of file EventViewCreatorAlgorithm.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.
|
privateinherited |
input decisions array, will be implicit (renounced).
Definition at line 87 of file InputMakerBase.h.
|
protected |
Definition at line 112 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 92 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 89 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 59 of file EventViewCreatorAlgorithm.h.
|
protectedinherited |
Definition at line 56 of file InputMakerBase.h.
|
protectedinherited |
Definition at line 53 of file InputMakerBase.h.
|
privateinherited |
output decisions
Definition at line 90 of file InputMakerBase.h.
|
protected |
Definition at line 104 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 85 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 71 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 74 of file EventViewCreatorAlgorithm.h.
|
protectedinherited |
Definition at line 50 of file InputMakerBase.h.
|
protected |
Definition at line 80 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 63 of file EventViewCreatorAlgorithm.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
protected |
Definition at line 68 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 66 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 64 of file EventViewCreatorAlgorithm.h.
|
protected |
Definition at line 56 of file EventViewCreatorAlgorithm.h.