7#ifndef ViewAlgs_EventViewCreatorAlgorithm_h
8#define ViewAlgs_EventViewCreatorAlgorithm_h
20#include "GaudiKernel/IAlgResourcePool.h"
21#include "GaudiKernel/IScheduler.h"
50 virtual StatusCode
execute(
const EventContext&)
const override;
51 virtual StatusCode
finalize()
override {
return StatusCode::SUCCESS; }
57 "The key of views collection produced" };
60 "Name of the collection which should be inserted into the just-spawned views to seed them with their ROI" };
63 Gaudi::Property< std::string >
m_schedulerName {
this,
"SchedulerName",
"AvalancheSchedulerSvc",
"Name of the scheduler" };
64 Gaudi::Property< std::string >
m_viewNodeName{
this,
"ViewNodeName",
"",
"Name of the ControlFlow node to attach new views to" };
67 "Set whether views may access StoreGate directly to retrieve data" };
68 Gaudi::Property< std::vector< std::string > >
m_viewFallFilter {
this,
"FallThroughFilter", {},
69 "An optional list of SG keys (or parts of them) that can come from StoreGate via FallThrough" };
72 "For each new view, locate and link any parent views (previous step). Fail if no parent view can not be found." };
75 "Reverse order of views, as a debugging option" };
78 "Optional ReadHandle on the output (InputMakerOutputDecisions) of an EVCA in a previous Step, whose Views can be re-used. Not currently used." };
80 ToolHandle<IViewCreatorROITool>
m_roiTool{
this,
"RoITool",
"",
81 "Tool used to supply per-Decision Object the RoI on which the Decision Object's view is to be spawned"};
86 "Muon slice specific option. Place Muon and MuonCandidate inside newly spawned View instance. See also InViewMuons, InViewMuonCandidates" };
90 "Name with which the Muon should be inserted into the views"};
93 "Name with which the Muon Candidate should be inserted into the views"};
105 "Jet slice specific option. Place Jet inside newly spawned View instance. See also InViewJets" };
109 "Set whether cached EventViews are to be accessed" };
113 "Name with which the Jet should be inserted into the views"};
DataVector adapter that acts like it holds const pointers.
ElementLink implementation for ROOT usage.
SG::WriteHandleKey< xAOD::MuonContainer > m_inViewMuons
Gaudi::Property< bool > m_placeJetInView
StatusCode linkViewToParent(const TrigCompositeUtils::Decision *outputDecision, SG::View *newView) const
Makes sure the views are linked, if configuration requireParentView is set.
Gaudi::Property< bool > m_placeMuonInView
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::Property< std::vector< std::string > > m_viewFallFilter
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.
SG::ReadHandleKey< TrigCompositeUtils::DecisionContainer > m_cachedViewsKey
SG::WriteHandleKey< ConstDataVector< TrigRoiDescriptorCollection > > m_inViewRoIs
Gaudi::Property< bool > m_requireParentView
virtual StatusCode initialize() override
Gaudi::Property< std::string > m_schedulerName
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 ...
virtual StatusCode execute(const EventContext &) const override
SG::WriteHandleKey< ViewContainer > m_viewsKey
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 spaw...
EventViewCreatorAlgorithm()
SG::WriteHandleKey< ConstDataVector< MuonCandidateCollection > > m_inViewMuonCandidates
Gaudi::Property< bool > m_reverseViews
EventViewCreatorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< bool > m_cacheDisabled
virtual StatusCode finalize() override
Gaudi::Property< bool > m_viewFallThrough
ToolHandle< IViewCreatorROITool > m_roiTool
SG::WriteHandleKey< xAOD::JetContainer > m_inViewJets
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::Muo...
SmartIF< IScheduler > getScheduler() const
Obtain smart pointer to scheduler in order to schedule newly spawned views.
Gaudi::Property< std::string > m_viewNodeName
StatusCode populateMatchingCacheWithCachedViews(const TrigCompositeUtils::DecisionContainer *cachedViews, MatchingCache &matchingCache) const
We look for matching Decision Objects in a matchingCache.
virtual ~EventViewCreatorAlgorithm()
Property holding a SG store/key/clid from which a ReadHandle is made.
A "view" of the event store (IProxyDict).
Property holding a SG store/key/clid from which a WriteHandle is made.
xAOD::TrigComposite Decision
xAOD::TrigCompositeContainer DecisionContainer
Jet_v1 Jet
Definition of the current "jet version".
Muon_v1 Muon
Reference the current persistent version: