ATLAS Offline Software
Loading...
Searching...
No Matches
DecisionSummaryMakerAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef TRIGOUTPUTHANDLING_DECISIONSUMMARYMAKERALG_H
5#define TRIGOUTPUTHANDLING_DECISIONSUMMARYMAKERALG_H
6
12
13#include <string>
14#include <vector>
15#include <unordered_map>
16
17
24public:
25 DecisionSummaryMakerAlg(const std::string& name, ISvcLocator* pSvcLocator);
26 virtual ~DecisionSummaryMakerAlg() override = default;
27
28 virtual StatusCode initialize() override;
29 virtual StatusCode start() override;
30 virtual StatusCode execute(const EventContext& context) const override;
31 virtual StatusCode finalize() override;
32
33private:
35 void monitorRoIs(const TrigCompositeUtils::Decision* terminusNode) const;
36
37 SG::WriteHandleKey<TrigCompositeUtils::DecisionContainer> m_summaryKey{ this, "DecisionsSummaryKey", "HLTNav_Summary",
38 "Location of final decision" };
39
41 "Final stage of all decisions" };
42
43 SG::WriteHandleKey<std::vector<std::string>> m_streamsSummaryKey{ this, "StreamsSummaryKey", "HLTStreamsSummary",
44 "Set of streams accepted in the event"};
45
46 SG::ReadHandleKey<xAOD::TrigCompositeContainer> m_hltSeedingSummaryKey { this, "HLTSeedingSummaryKey", "HLTSeedingSummary",
47 "Chains status after L1 and prescaling" };
48
49 SG::ReadHandleKey<TrigConf::HLTMenu> m_hltMenuKey{this, "HLTMenuKey", "DetectorStore+HLTTriggerMenu",
50 "HLT Menu"};
51
52 ToolHandle<IPrescalingTool> m_prescaler{this, "Prescaler", "PrescalingTool/PrescalingTool",
53 "Prescaling tool used to determine express stream prescale decisions"};
54
55 ToolHandle<GenericMonitoringTool> m_monTool { this, "MonTool", "",
56 "Monitoring tool" };
57
58 Gaudi::Property< std::map< std::string, std::vector<std::string> > > m_lastStepForChain{ this, "FinalStepDecisions", {},
59 "The map of chain name to names of the collections in which the final decision is found" };
60
61 Gaudi::Property<bool> m_warnOnLargeRoIUpdates{this, "WarnOnLargeRoIUpdates", true,
62 "Print warnings from RoI update monitoring if the difference between initial and final RoI is large"};
63
64 Gaudi::Property<bool> m_setFilterStatus{this, "SetFilterStatus", false,
65 "Enables chain-passed filter. This will cause the downstream EDMCreator to not run if no chains pass, saving CPU in rejected events. "
66 "Cannot be used in jobs producing RDO output."};
67
68 std::map<std::string, TrigCompositeUtils::DecisionIDContainer> m_collectionFilter;
69
71 std::unordered_map<TrigCompositeUtils::DecisionID, std::vector<std::string>> m_chainToStreamsMap;
72};
73
74#endif // TRIGOUTPUTHANDLING_DECISIONSUMMARYMAKERALG_H
Header file to be included by clients of the Monitored infrastructure.
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< bool > m_warnOnLargeRoIUpdates
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > m_summaryKey
Gaudi::Property< bool > m_setFilterStatus
SG::WriteHandleKey< std::vector< std::string > > m_streamsSummaryKey
virtual StatusCode initialize() override
void monitorRoIs(const TrigCompositeUtils::Decision *terminusNode) const
Monitor RoI updates between initial and final RoI.
ToolHandle< IPrescalingTool > m_prescaler
std::unordered_map< TrigCompositeUtils::DecisionID, std::vector< std::string > > m_chainToStreamsMap
Chain to streams map filled from the HLT Menu JSON.
virtual ~DecisionSummaryMakerAlg() override=default
virtual StatusCode start() override
DecisionSummaryMakerAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::map< std::string, std::vector< std::string > > > m_lastStepForChain
virtual StatusCode execute(const EventContext &context) const override
ToolHandle< GenericMonitoringTool > m_monTool
SG::ReadHandleKey< xAOD::TrigCompositeContainer > m_hltSeedingSummaryKey
virtual StatusCode finalize() override
std::map< std::string, TrigCompositeUtils::DecisionIDContainer > m_collectionFilter
SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > m_finalDecisionKeys
SG::ReadHandleKey< TrigConf::HLTMenu > m_hltMenuKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray