ATLAS Offline Software
Loading...
Searching...
No Matches
CTPUnpackingTool.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_CTPUNPACKINGTOOL_H
6#define HLTSEEDING_CTPUNPACKINGTOOL_H
7
11#include "TrigConfData/L1Menu.h"
13
18public:
19
20 CTPUnpackingTool( const std::string& type,
21 const std::string& name,
22 const IInterface* parent );
23
25 virtual StatusCode decode(const EventContext& ctx, const ROIB::RoIBResult& roib, HLT::IDVec& enabledChains) const override;
26
27 virtual StatusCode initialize() override;
28
29 virtual StatusCode start() override;
30
31 virtual StatusCode passBeforePrescaleSelection(const ROIB::RoIBResult* roib,
32 const std::vector<std::string>& l1ItemNames,
33 bool& pass) const override;
34
35private:
36 // Menu objects (that act here as configuration) need to be available in the detector store. They are provided by
37 // the HLT and LVL1 ConfigSvc during initialize. Therefore, these services have to be configured & instantiated
38 // in jobs that use this tool (and HLTSeeding itself).
40 this, "HLTTriggerMenu", "DetectorStore+HLTTriggerMenu", "HLT Menu"};
42 this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu", "L1 Menu"};
43
45 this, "CTPResult", "StoreGateSvc+CTPResult", "CTP Result"};
46
47 Gaudi::Property<bool> m_useTBPBit{
48 this, "UseTBPBits", false,
49 "When true, use Trigger Before Prescale bits instead of Trigger After Veto (for testing only)"};
50
51 Gaudi::Property<bool> m_useEDMxAOD{
52 this, "UseEDMxAOD", false,
53 "When true, use xAOD::CTPResult object when decoding instead of relying on ROIB::RoIBResult for CTP words"};
54
55 std::map<std::string, size_t> m_itemNametoCTPIDMap;
56};
57
58#endif
CTPUnpackingToolBase(const std::string &type, const std::string &name, const IInterface *parent)
SG::ReadHandleKey< xAOD::CTPResult > m_ctpResultKey
SG::ReadHandleKey< TrigConf::HLTMenu > m_HLTMenuKey
virtual StatusCode passBeforePrescaleSelection(const ROIB::RoIBResult *roib, const std::vector< std::string > &l1ItemNames, bool &pass) const override
CTPUnpackingTool(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode start() override
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
virtual StatusCode initialize() override
Gaudi::Property< bool > m_useTBPBit
std::map< std::string, size_t > m_itemNametoCTPIDMap
Gaudi::Property< bool > m_useEDMxAOD
virtual StatusCode decode(const EventContext &ctx, const ROIB::RoIBResult &roib, HLT::IDVec &enabledChains) const override
Fills the list of chains that should be activated in a given event (note HLT prescaling happens at a ...
Class holding the LVL1 RoIB result build by the RoIBuilder.
Definition RoIBResult.h:47
Property holding a SG store/key/clid from which a ReadHandle is made.
std::vector< HLT::Identifier > IDVec