ATLAS Offline Software
Loading...
Searching...
No Matches
ROBPrefetchingAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGGENERICALGS_ROBPrefetchingAlg_h
6#define TRIGGENERICALGS_ROBPrefetchingAlg_h
7
8// Trigger includes
10
11// Athena includes
16
17// System includes
18#include <string>
19#include <vector>
20#include <unordered_set>
21
29public:
30 ROBPrefetchingAlg(const std::string& name, ISvcLocator* svcLoc);
31 virtual StatusCode initialize() override;
32 virtual StatusCode execute(const EventContext& eventContext) const override;
33
34private:
37 this, "ROBPrefetchingInputDecisions", {}, "Input Decisions"};
38
40 ToolHandleArray<IRegSelTool> m_regionSelectorTools {
41 this, "RegionSelectorTools", {}, "Region Selector tools"};
42
45 this, "ROBDataProviderSvc", "ROBDataProviderSvc", "Name of the ROB data provider"};
46
48 Gaudi::Property<std::string> m_roiLinkName {
49 this, "RoILinkName", TrigCompositeUtils::roiString(), "The string identifying links from Decisions to RoIs"};
50
52 Gaudi::Property<std::vector<TrigCompositeUtils::DecisionID>> m_chainFilterVec {
53 this, "ChainFilter", {}, "Apply prefetching only to RoIs from Decisions where chains from this list are active. Empty list means no filtering."};
54
56 std::unordered_set<TrigCompositeUtils::DecisionID> m_chainFilter;
57};
58
59#endif // TRIGGENERICALGS_ROBPrefetchingAlg_h
An algorithm that can be simultaneously executed in multiple threads.
ROBPrefetchingAlg(const std::string &name, ISvcLocator *svcLoc)
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
The ROB data provider service used to prefetch the ROBs.
ToolHandleArray< IRegSelTool > m_regionSelectorTools
Array of RegionSelector tools for RoI->ROBs mapping, one for each detector to be prefetched.
std::unordered_set< TrigCompositeUtils::DecisionID > m_chainFilter
ChainFilter as unordered_set for faster lookup.
Gaudi::Property< std::string > m_roiLinkName
Choose the name of the RoI link to follow.
virtual StatusCode initialize() override
Gaudi::Property< std::vector< TrigCompositeUtils::DecisionID > > m_chainFilterVec
ChainFilter to select decisions for specific active chains.
virtual StatusCode execute(const EventContext &eventContext) const override
SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > m_inputDecisions
Array of input decisions from which RoIs will be extracted.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
const std::string & roiString()