14 const std::string& linkName,
15 const EventContext& eventContext) {
17 target.typelessSetObjectLink(linkName,
24 const std::string& linkName,
25 const EventContext& eventContext) {
27 target.typelessSetObjectLink(linkName,
58 return StatusCode::SUCCESS;
69 auto cont = std::make_unique<xAOD::TrigCompositeContainer>();
70 auto auxcont = std::make_unique<xAOD::TrigCompositeAuxContainer>();
71 cont->setStore(auxcont.get());
76 l1trHandle->push_back(std::make_unique<xAOD::TrigComposite>());
79 auto retrieveAndLink = [
this, &eventContext, &l1trHandle](
const auto &keys) -> StatusCode {
80 for(
const auto& key : keys) {
82 if (key.empty()) {
continue; }
88 if (not handle->empty()) {
89 makeLink(key, *(l1trHandle->back()), key.key(), eventContext);
92 return StatusCode::SUCCESS;
109 ATH_CHECK(tool->decorateThresholds(eventContext));
112 return StatusCode::SUCCESS;
130 ATH_CHECK(cTauRoIs.
record(std::make_unique<xAOD::eFexTauRoIContainer>(),
131 std::make_unique<xAOD::eFexTauRoIAuxContainer>()));
135 SG::ReadHandle <xAOD::jFexTauRoIContainer> jTauRoIs{jTauKey, eventContext};
138 SG::ReadHandle <xAOD::eFexTauRoIContainer> eTauRoIs{eTauKey, eventContext};
145 cTauRoIs->push_back(std::make_unique<xAOD::eFexTauRoI>());
147 *cTauRoIs->back() = *eTau;
150 if (i_jTau == std::numeric_limits<size_t>::max()) {
153 cjTauLink(*cTauRoIs->back()) = jTauLink_t{};
156 ATH_MSG_DEBUG(
"Matched jTau index " << i_jTau <<
" to eTau index " << i_eTau);
158 cjTauLink(*cTauRoIs->back()) = jTauLink_t{jTauKey.key(), i_jTau, eventContext};
164 ATH_MSG_DEBUG(eTauKey.key() <<
" size: " << eTauRoIs->size());
166 ATH_MSG_DEBUG(jTauKey.key() <<
" size: " << jTauRoIs->size());
170 if (not cTauRoIs->empty()) {
174 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.
SG::WriteHandleKey< xAOD::eFexTauRoIContainer > m_cTauRoIKey
SG::ReadHandleKeyArray< xAOD::jFexSRJetRoIContainer > m_jFexSRJetRoIKeys
SG::ReadHandleKeyArray< xAOD::jFexTauRoIContainer > m_jFexTauRoIKeys
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_l1TriggerResultWHKey
SG::ReadHandleKeyArray< xAOD::gFexJetRoIContainer > m_gFexSRJetRoIKeys
SG::ReadHandleKeyArray< xAOD::jFexFwdElRoIContainer > m_jFexFwdElRoIKeys
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::ReadHandleKeyArray< xAOD::eFexTauRoIContainer > m_eFexTauRoIKeys
SG::ReadHandleKeyArray< xAOD::gFexJetRoIContainer > m_gFexLRJetRoIKeys
SG::ReadHandleKeyArray< xAOD::eFexEMRoIContainer > m_eFexEMRoIKeys
L1TriggerResultMaker(const std::string &name, ISvcLocator *svcLoc)
Standard constructor.
SG::ReadHandleKeyArray< xAOD::MuonRoIContainer > m_muRoIKeys
SG::ReadHandleKeyArray< xAOD::jFexLRJetRoIContainer > m_jFexLRJetRoIKeys
SG::WriteDecorHandleKey< xAOD::eFexTauRoIContainer > m_cjTauLinkKey
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)
pointer & link(pointer p) const
Return a reference to the link for an element.
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.
static constexpr CLID ID()