ATLAS Offline Software
Loading...
Searching...
No Matches
PrescalingTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef HLTSEEDING_PRESCALINGTOOL_H
5#define HLTSEEDING_PRESCALINGTOOL_H
6
7// HLTSeeding includes
9
10// framework includes
13#include "GaudiKernel/ServiceHandle.h"
17
18// data includes
22
23// STL includes
24#include <string>
25
33class PrescalingTool : public extends<AthAlgTool, IPrescalingTool> {
34 public:
35
36 // no default constructor
37 PrescalingTool() = delete;
38
39 // constructor
40 PrescalingTool( const std::string& type, const std::string& name, const IInterface* parent );
41
42 virtual StatusCode initialize() override;
43 virtual StatusCode start() override;
44
54 virtual StatusCode prescaleChains( const EventContext& ctx,
55 const HLT::IDVec& initiallyActive,
56 HLT::IDVec& remainActive,
57 bool forExpressStream = false ) const override;
58
59 private:
60
62 this, "HLTPrescales", "HLTPrescales", "HLT prescales set"};
63
65 this, "HLTTriggerMenu", "DetectorStore+HLTTriggerMenu", "HLT Menu"};
66
68 this, "EventInfo", "EventInfo", "Event Info Object Key"};
69
70 Gaudi::Property<bool> m_keepUnknownChains{
71 this, "KeepUnknownChains", false, "If True then chains for which prescaling information is not set are kept"};
72
73 ToolHandle<GenericMonitoringTool> m_monTool{
74 this, "MonTool", "", "Monitoring tool"};
75
78
79 using ChainSet = std::set<HLT::Identifier>;
81 std::map<std::string, HLT::IDVec> m_CPSGroups;
82
85};
86
87
88#endif
Header file to be included by clients of the Monitored infrastructure.
A wrapper class for event-slot-local random engines.
Definition RNGWrapper.h:56
std::map< std::string, HLT::IDVec > m_CPSGroups
virtual StatusCode initialize() override
ATHRNG::RNGWrapper m_RNGEngines
Random engine for calculating prescales.
virtual StatusCode prescaleChains(const EventContext &ctx, const HLT::IDVec &initiallyActive, HLT::IDVec &remainActive, bool forExpressStream=false) const override
The method to prescale chains.
std::set< HLT::Identifier > ChainSet
HLT::Identifier m_costChainID
SG::ReadCondHandleKey< TrigConf::HLTPrescalesSet > m_hltPrescaleSetInputKey
ToolHandle< GenericMonitoringTool > m_monTool
TrigConf::HLTPrescalesSet::HLTPrescale m_prescaleForUnknownChain
ChainSet m_nonCPSChains
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
PrescalingTool()=delete
Gaudi::Property< bool > m_keepUnknownChains
virtual StatusCode start() override
SG::ReadHandleKey< TrigConf::HLTMenu > m_HLTMenuKey
Property holding a SG store/key/clid from which a ReadHandle is made.
std::vector< HLT::Identifier > IDVec