|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef HLTSEEDING_IROITHRESHOLDSTOOL_H
5 #define HLTSEEDING_IROITHRESHOLDSTOOL_H
13 #include "GaudiKernel/IAlgTool.h"
21 template<
typename T_RoI,
typename T_RoIContainer, const
char* N_RoIContainer, const
char* N_ThresholdType>
24 using ThrVec = std::vector<std::shared_ptr<TrigConf::L1Threshold>>;
25 using ThrVecRef = std::reference_wrapper<const ThrVec>;
26 using ExtraInfoRef = std::reference_wrapper<const TrigConf::L1ThrExtraInfoBase>;
34 return StatusCode::SUCCESS;
39 std::optional<ThrVecRef> menuThresholds;
44 ATH_MSG_ERROR(
"Failed to retrieve " << N_ThresholdType <<
" thresholds from L1 menu. Exception:" << ex.what());
47 return menuThresholds;
52 std::optional<ExtraInfoRef> menuExtraInfo;
57 ATH_MSG_ERROR(
"Failed to retrieve " << N_ThresholdType <<
" threshold extra info from L1 menu. Exception:" << ex.what());
74 for (
const T_RoI* roi: *thresholdPatterns) {
76 thresholdPatterns(*roi) =
getPattern(*roi, menuThresholds.value().get(), menuExtraInfo.value().get());
79 ATH_MSG_ERROR(
"getPattern() for " << N_RoIContainer <<
" failed with exception: " << ex.what());
80 return StatusCode::FAILURE;
84 return StatusCode::SUCCESS;
89 const ThrVec& menuThresholds,
94 this,
"L1TriggerMenu",
"DetectorStore+L1TriggerMenu",
95 "Name of the L1Menu object to read configuration from"};
98 this,
"ThresholdPatternsDecorKey", std::string(N_RoIContainer)+
".thresholdPatterns",
99 "Decoration for the threshold patterns"};
102 #endif // HLTSEEDING_IROITHRESHOLDSTOOL_H
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
::StatusCode StatusCode
StatusCode definition for legacy code.
Handle class for adding a decoration to an object.
Handle class for adding a decoration to an object.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Handle class for reading from StoreGate.