ATLAS Offline Software
PrescalingEmulationTool.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_PRESCALINGEMULATIONTOOL_H
5 #define HLTSEEDING_PRESCALINGEMULATIONTOOL_H
6 
7 // HLTSeeding includes
9 
10 // Framework includes
12 #include "GaudiKernel/ServiceHandle.h"
16 
17 // STL includes
18 #include <string>
19 
30 class PrescalingEmulationTool : public extends<AthAlgTool, IPrescalingTool> {
31 public:
32  PrescalingEmulationTool( const std::string& type,
33  const std::string& name,
34  const IInterface* parent );
35 
36  virtual StatusCode initialize() override;
37 
38  virtual StatusCode prescaleChains( const EventContext& ctx,
39  const HLT::IDVec& initiallyActive,
40  HLT::IDVec& remainActive,
41  bool forExpressStream = false ) const override;
42 
43  private:
45 
46  Gaudi::Property<bool> m_keepUnknownChains{
47  this, "KeepUnknownChains", true, "If True then chains for which prescaling information is not set are kept"};
48 
49  Gaudi::Property< std::vector<std::string> > m_prescalingConfig{
50  this, "Prescales", {}, "The prescaling info in the form: \"chainName:PSValue\""};
51 
53 
54  typedef std::map<HLT::Identifier, float> PrescalingInfo;
56 };
57 
58 #endif
PrescalingEmulationTool::initialize
virtual StatusCode initialize() override
Definition: PrescalingEmulationTool.cxx:23
PrescalingEmulationTool::m_RNGEngines
ATHRNG::RNGWrapper m_RNGEngines
Definition: PrescalingEmulationTool.h:52
PrescalingEmulationTool::m_keepUnknownChains
Gaudi::Property< bool > m_keepUnknownChains
Definition: PrescalingEmulationTool.h:46
PrescalingEmulationTool::prescaleChains
virtual StatusCode prescaleChains(const EventContext &ctx, const HLT::IDVec &initiallyActive, HLT::IDVec &remainActive, bool forExpressStream=false) const override
Definition: PrescalingEmulationTool.cxx:34
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
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
PrescalingEmulationTool
Definition: PrescalingEmulationTool.h:30
PrescalingEmulationTool::PrescalingEmulationTool
PrescalingEmulationTool()
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
PrescalingEmulationTool::m_prescalingConfig
Gaudi::Property< std::vector< std::string > > m_prescalingConfig
Definition: PrescalingEmulationTool.h:49
RNGWrapper.h
EventInfo.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
PrescalingEmulationTool::m_prescalingInfo
PrescalingInfo m_prescalingInfo
Definition: PrescalingEmulationTool.h:55
PrescalingEmulationTool::PrescalingInfo
std::map< HLT::Identifier, float > PrescalingInfo
Definition: PrescalingEmulationTool.h:54