13 const std::string& linkName,
14 const EventContext& eventContext) {
16 target.typelessSetObjectLink(linkName,
23 const std::string& linkName,
24 const EventContext& eventContext) {
26 target.typelessSetObjectLink(linkName,
57 return StatusCode::SUCCESS;
68 auto cont = std::make_unique<xAOD::TrigCompositeContainer>();
69 auto auxcont = std::make_unique<xAOD::TrigCompositeAuxContainer>();
70 cont->setStore(auxcont.get());
75 l1trHandle->push_back(std::make_unique<xAOD::TrigComposite>());
78 auto retrieveAndLink = [
this, &eventContext, &l1trHandle](
auto key) -> StatusCode {
80 if (key.empty()) {
return StatusCode::SUCCESS;}
86 if (not handle->empty()) {
87 makeLink(key, *(l1trHandle->back()), key.key(), eventContext);
89 return StatusCode::SUCCESS;
106 ATH_CHECK(tool->decorateThresholds(eventContext));
109 return StatusCode::SUCCESS;
129 ATH_CHECK(cTauRoIs.
record(std::make_unique<xAOD::eFexTauRoIContainer>(),
130 std::make_unique<xAOD::eFexTauRoIAuxContainer>()));
138 cTauRoIs->push_back(std::make_unique<xAOD::eFexTauRoI>());
140 *cTauRoIs->back() = *eTau;
143 if (i_jTau==std::numeric_limits<size_t>::max()) {
146 cjTauLink(*cTauRoIs->back()) = jTauLink_t{};
149 ATH_MSG_DEBUG(
"Matched jTau index " << i_jTau <<
" to eTau index " << i_eTau);
151 cjTauLink(*cTauRoIs->back()) = jTauLink_t{
m_jFexTauRoIKey.key(), i_jTau, eventContext};
160 if (not cTauRoIs->empty()) {
164 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
An algorithm that can be simultaneously executed in multiple threads.
ElementLink implementation for ROOT usage.
sgkey_t key() const
Get the key that we reference, as a hash.
SG::ReadHandleKey< xAOD::jFexTauRoIContainer > m_jFexTauRoIKey
SG::ReadHandleKey< xAOD::jFexFwdElRoIContainer > m_jFexFwdElRoIKey
SG::WriteHandleKey< xAOD::eFexTauRoIContainer > m_cTauRoIKey
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_l1TriggerResultWHKey
StatusCode createCombinedTauRoIs(xAOD::TrigComposite &l1tr, const EventContext &eventContext) const
Create the combined Tau container matching eTau to jTau.
ToolHandleArray< IRoIThresholdsTool > m_thresholdPatternTools
virtual StatusCode initialize() override
SG::ReadHandleKey< xAOD::eFexTauRoIContainer > m_eFexTauRoIKey
SG::ReadHandleKey< xAOD::eFexEMRoIContainer > m_eFexEMRoIKey
SG::ReadHandleKey< xAOD::jFexSRJetRoIContainer > m_jFexSRJetRoIKey
SG::ReadHandleKey< xAOD::gFexJetRoIContainer > m_gFexLRJetRoIKey
SG::ReadHandleKey< xAOD::jFexLRJetRoIContainer > m_jFexLRJetRoIKey
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_muRoIKey
L1TriggerResultMaker(const std::string &name, ISvcLocator *svcLoc)
Standard constructor.
SG::WriteDecorHandleKey< xAOD::eFexTauRoIContainer > m_cjTauLinkKey
SG::ReadHandleKey< xAOD::gFexJetRoIContainer > m_gFexSRJetRoIKey
virtual StatusCode execute(const EventContext &eventContext) const override
Property holding a SG store/key/clid from which a ReadHandle is made.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const std::string & key() const
Return the StoreGate ID for the referenced object.
Handle class for adding a decoration to an object.
Property holding a SG store/key/clid from which a WriteHandle is made.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
static size_t cTauMatching(const xAOD::eFexTauRoI &eTau, const xAOD::jFexTauRoIContainer &jTauRoIs)
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
ElementLink< T > makeLink(const SG::View *view, const SG::ReadHandle< T > &handle, size_t index)
Create EL to a collection in view.
TrigComposite_v1 TrigComposite
Declare the latest version of the class.
eFexTauRoI_v1 eFexTauRoI
Define the latest version of the eFexTauRoI class.