ATLAS Offline Software
HLTSeeding.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef HLTSeeding_HLTSeeding_h
6 #define HLTSeeding_HLTSeeding_h
7 
8 #include "IRoIsUnpackingTool.h"
10 
12 
23 
32 public:
33  HLTSeeding(const std::string& name, ISvcLocator* pSvcLocator);
34  virtual StatusCode initialize() override;
35  virtual StatusCode execute (const EventContext& ctx) const override;
36 
37 private:
40  const std::string& type);
41 
46  this, "RoIBResult", "RoIBResult", "Name of RoIBResult"};
47 
50  this, "L1TriggerResult", "L1TriggerResult", "Name of the L1 Trigger Result"};
51 
53  this, "HLTSeedingSummaryKey", "HLTSeedingSummary", "Chains status after L1 and prescaling"};
54 
56  this, "StartStampKey", "HLTSeedingStart", "Object with the time stamp when decoding started" };
58 
61  Gaudi::Property<bool> m_doCostMonitoring{
62  this, "DoCostMonitoring", false, "Enables start-of-event cost monitoring behavior."};
63 
64  Gaudi::Property<std::string> m_costMonitoringChain{
65  this, "CostMonitoringChain", "HLT_noalg_CostMonDS_L1All",
66  "Name of the chain which should enable HLT cost monitoring."};
68 
69  Gaudi::Property<float> m_roiZedWidthDefault{
70  this, "RoiZedWidthDefault", 0, "default Roi z width"};
71 
75  this, "TrigCostSvc", "TrigCostSvc", "The trigger cost service" };
76 
77  ToolHandle<ICTPUnpackingTool> m_ctpUnpacker{
78  this, "ctpUnpacker", "CTPUnpackingTool/CTPUnpackingTool", "Tool used to unpack the CTP info"};
79 
80  ToolHandleArray<IRoIsUnpackingTool> m_roiUnpackers_roib{
81  this, "RoIBRoIUnpackers", {}, "Tools unpacking Run-2 RoIs from RoIBResult"};
82 
83  ToolHandleArray<IRoIsUnpackingTool> m_roiUnpackers_xaod{
84  this, "xAODRoIUnpackers", {}, "Tools unpacking xAOD RoIs from L1TriggerResult"};
85 
86  ToolHandle<IPrescalingTool> m_prescaler{
87  this, "prescaler", "PrescalingTool/PrescalingTool", "Prescaling tool"};
88 
89  ToolHandle<TrigConf::IKeyWriterTool> m_keyWriterTool{
90  this, "KeyWriterTool", "", "Writes the keys used when the trigger executes on an event"};
91 
92  ToolHandle<L1DataConsistencyChecker> m_consistencyChecker{
93  this, "L1DataConsistencyChecker", "", "L1 data consistency check tool"};
95 };
96 
97 #endif
HLTSeeding::m_consistencyChecker
ToolHandle< L1DataConsistencyChecker > m_consistencyChecker
Definition: HLTSeeding.h:92
HLTSeeding::m_roiUnpackers_xaod
ToolHandleArray< IRoIsUnpackingTool > m_roiUnpackers_xaod
Definition: HLTSeeding.h:83
ICTPUnpackingTool.h
HLTSeeding::m_prescaler
ToolHandle< IPrescalingTool > m_prescaler
Definition: HLTSeeding.h:86
HLTSeeding::m_doCostMonitoring
Gaudi::Property< bool > m_doCostMonitoring
Definition: HLTSeeding.h:61
TrigCompositeUtils.h
HLTSeeding::saveChainsInfo
static StatusCode saveChainsInfo(const HLT::IDVec &chains, xAOD::TrigCompositeContainer *storage, const std::string &type)
Definition: HLTSeeding.cxx:183
RoIBResult.h
HLTSeeding::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: HLTSeeding.cxx:60
HLTSeeding::m_l1TriggerResultKey
SG::ReadHandleKey< xAOD::TrigCompositeContainer > m_l1TriggerResultKey
Level-1 result with RoIs from Run-3 hardware systems.
Definition: HLTSeeding.h:49
L1DataConsistencyChecker.h
SG::ReadHandleKey< ROIB::RoIBResult >
IRoIsUnpackingTool.h
HLTSeeding::m_startStampKey
SG::WriteHandleKey< TrigTimeStamp > m_startStampKey
Definition: HLTSeeding.h:55
IPrescalingTool.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
HLTSeeding::m_RoIBResultKey
SG::ReadHandleKey< ROIB::RoIBResult > m_RoIBResultKey
Definition: HLTSeeding.h:45
HLTSeeding::m_roiUnpackers_roib
ToolHandleArray< IRoIsUnpackingTool > m_roiUnpackers_roib
Definition: HLTSeeding.h:80
HLT::IDVec
std::vector< HLT::Identifier > IDVec
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:62
HLTSeeding::m_trigCostSvcHandle
ServiceHandle< ITrigCostSvc > m_trigCostSvcHandle
Definition: HLTSeeding.h:74
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ITrigCostSvc.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TrigCompositeContainer.h
HLTSeeding::m_roiZedWidthDefault
Gaudi::Property< float > m_roiZedWidthDefault
Definition: HLTSeeding.h:69
AthReentrantAlgorithm.h
HLTSeeding::m_costMonitoringChain
Gaudi::Property< std::string > m_costMonitoringChain
Definition: HLTSeeding.h:64
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.copyTCTOutput.chains
chains
Definition: copyTCTOutput.py:81
HLTSeeding::m_keyWriterTool
ToolHandle< TrigConf::IKeyWriterTool > m_keyWriterTool
Definition: HLTSeeding.h:89
HLTSeeding
Collects information from CTP bits and LVL1 RoIs, activates HLT chains and creates seeding RoIs.
Definition: HLTSeeding.h:31
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
HLTSeeding::initialize
virtual StatusCode initialize() override
Definition: HLTSeeding.cxx:20
HLTIdentifier.h
IKeyWriterTool.h
HLTSeeding::m_ctpUnpacker
ToolHandle< ICTPUnpackingTool > m_ctpUnpacker
Definition: HLTSeeding.h:77
HLTSeeding::HLTSeeding
HLTSeeding(const std::string &name, ISvcLocator *pSvcLocator)
Definition: HLTSeeding.cxx:16
HLTSeeding::m_summaryKey
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > m_summaryKey
Definition: HLTSeeding.h:52
TrigTimeStamp.h
TrigRoiDescriptorCollection.h
ServiceHandle< ITrigCostSvc >