ATLAS Offline Software
CTPUnpackingToolBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef HLTSEEDING_CTPUNPACKINGTOOLBASE_H
6 #define HLTSEEDING_CTPUNPACKINGTOOLBASE_H
7 
9 
13 
14 
15 namespace ROIB {
16  class RoIBResult;
17 }
18 
24 class CTPUnpackingToolBase : public extends<AthAlgTool, ICTPUnpackingTool> {
25 public:
26 
27  CTPUnpackingToolBase(const std::string& type,
28  const std::string& name,
29  const IInterface* parent);
30 
31  virtual StatusCode decode(const EventContext& ctx,
32  const ROIB::RoIBResult& /*roib*/,
33  HLT::IDVec& /*enabledChains*/) const override;
34 
35  virtual StatusCode initialize() override;
36 
38  const std::vector<std::string>& /*l1ItemNames*/, bool& /*pass*/) const override;
39 
40  // Derived class may override this to return true if its decode() method doesn't depend on RoIBResult
41  virtual bool isEmulated() const override {return false;}
42 
43 protected:
44 
45  static constexpr int s_CTPIDForUnseededChains = -1;
46  std::unordered_map<int, HLT::IDVec> m_ctpToChain;
47 
48  Gaudi::Property<bool> m_forceEnable{
49  this, "ForceEnableAllChains", false, "Enables all chains in each event, testing mode"};
50 
51  ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "", "Monitoring tool"};
52 };
53 
54 #endif
ICTPUnpackingTool.h
CTPUnpackingToolBase::s_CTPIDForUnseededChains
static constexpr int s_CTPIDForUnseededChains
Definition: CTPUnpackingToolBase.h:45
ROIB::RoIBResult
Class holding the LVL1 RoIB result build by the RoIBuilder.
Definition: RoIBResult.h:47
CTPUnpackingToolBase::isEmulated
virtual bool isEmulated() const override
Definition: CTPUnpackingToolBase.h:41
CTPUnpackingToolBase
Base class for CTP unpacking tools.
Definition: CTPUnpackingToolBase.h:24
ROIB
Namespace of the LVL1 RoIB simulation.
Definition: ILvl1ResultAccessTool.h:19
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
CTPUnpackingToolBase::CTPUnpackingToolBase
CTPUnpackingToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition: CTPUnpackingToolBase.cxx:8
GenericMonitoringTool.h
HLT::IDVec
std::vector< HLT::Identifier > IDVec
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:55
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CTPUnpackingToolBase::m_ctpToChain
std::unordered_map< int, HLT::IDVec > m_ctpToChain
Definition: CTPUnpackingToolBase.h:46
AthAlgTool.h
CTPUnpackingToolBase::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: CTPUnpackingToolBase.h:51
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CTPUnpackingToolBase::decode
virtual StatusCode decode(const EventContext &ctx, const ROIB::RoIBResult &, HLT::IDVec &) const override
Definition: CTPUnpackingToolBase.cxx:32
CTPUnpackingToolBase::passBeforePrescaleSelection
virtual StatusCode passBeforePrescaleSelection(const ROIB::RoIBResult *, const std::vector< std::string > &, bool &) const override
Definition: CTPUnpackingToolBase.cxx:24
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
HLTIdentifier.h
CTPUnpackingToolBase::m_forceEnable
Gaudi::Property< bool > m_forceEnable
Definition: CTPUnpackingToolBase.h:48
CTPUnpackingToolBase::initialize
virtual StatusCode initialize() override
Definition: CTPUnpackingToolBase.cxx:14