ATLAS Offline Software
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
20 #include "TrigConfData/HLTMenu.h"
22 
23 // STL includes
24 #include <string>
25 
33 class 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
TrigConf::HLTPrescalesSet::HLTPrescale
Definition: HLTPrescalesSet.h:22
PrescalingTool::initialize
virtual StatusCode initialize() override
Definition: PrescalingTool.cxx:26
HLTPrescalesSet.h
PrescalingTool
Definition: PrescalingTool.h:33
PrescalingTool::prescaleChains
virtual StatusCode prescaleChains(const EventContext &ctx, const HLT::IDVec &initiallyActive, HLT::IDVec &remainActive, bool forExpressStream=false) const override
The method to prescale chains.
Definition: PrescalingTool.cxx:93
PrescalingTool::m_RNGEngines
ATHRNG::RNGWrapper m_RNGEngines
Random engine for calculating prescales.
Definition: PrescalingTool.h:77
SG::ReadHandleKey< TrigConf::HLTMenu >
PrescalingTool::m_costChainID
HLT::Identifier m_costChainID
Definition: PrescalingTool.h:84
IPrescalingTool.h
HLT::IDVec
std::vector< HLT::Identifier > IDVec
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:62
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PrescalingTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: PrescalingTool.h:73
PrescalingTool::m_prescaleForUnknownChain
TrigConf::HLTPrescalesSet::HLTPrescale m_prescaleForUnknownChain
Definition: PrescalingTool.h:83
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
PrescalingTool::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: PrescalingTool.h:67
PrescalingTool::m_hltPrescaleSetInputKey
SG::ReadCondHandleKey< TrigConf::HLTPrescalesSet > m_hltPrescaleSetInputKey
Definition: PrescalingTool.h:61
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
ReadCondHandleKey.h
PrescalingTool::PrescalingTool
PrescalingTool()=delete
IAtRndmGenSvc.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ATHRNG::RNGWrapper
A wrapper class for event-slot-local random engines.
Definition: RNGWrapper.h:56
PrescalingTool::ChainSet
std::set< HLT::Identifier > ChainSet
Definition: PrescalingTool.h:79
RNGWrapper.h
EventInfo.h
SG::ReadCondHandleKey< TrigConf::HLTPrescalesSet >
PrescalingTool::m_keepUnknownChains
Gaudi::Property< bool > m_keepUnknownChains
Definition: PrescalingTool.h:70
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
PrescalingTool::m_nonCPSChains
ChainSet m_nonCPSChains
Definition: PrescalingTool.h:80
PrescalingTool::start
virtual StatusCode start() override
Definition: PrescalingTool.cxx:45
PrescalingTool::m_HLTMenuKey
SG::ReadHandleKey< TrigConf::HLTMenu > m_HLTMenuKey
Definition: PrescalingTool.h:64
HLTMenu.h
PrescalingTool::m_CPSGroups
std::map< std::string, HLT::IDVec > m_CPSGroups
Definition: PrescalingTool.h:81