34 return StatusCode::SUCCESS;
41 const EventContext& ctx = Gaudi::Hive::currentContext();
44 if( !jetContHandle.
isValid() ) {
46 return StatusCode::FAILURE;
51 std::map<const xAOD::Jet*, ElementLink<xAOD::JetContainer> > jetLinkMap;
55 return StatusCode::FAILURE;
59 jetLinkMap.try_emplace(
82 if( !inputMapHandle.
isValid() ) {
84 return StatusCode::FAILURE;
89 std::make_unique<xAOD::MissingETAssociationMap>(),
90 std::make_unique<xAOD::MissingETAuxAssociationMap>()
99 if( !assoc->isMisc() ) {
101 std::map<const xAOD::Jet*, ElementLink<xAOD::JetContainer> >::const_iterator jet_it = jetLinkMap.find(assoc->refJet());
102 if( jet_it != jetLinkMap.end() ) {
104 assoc->setJetLink(jet_it->second);
109 if( !link.isValid() ) {
110 objectLinks.push_back(invalidLink);
114 linkMap_t::const_iterator obj_it = objectLinkMap.find(*link);
115 if( obj_it != objectLinkMap.end() ) {
116 objectLinks.emplace_back(obj_it->second);
120 objectLinks.push_back(invalidLink);
123 assoc->setObjectLinks(objectLinks);
128 return StatusCode::FAILURE;
134 if( !link.isValid() ) {
135 miscObjectLinks.push_back(invalidLink);
139 linkMap_t::const_iterator obj_it = objectLinkMap.find(*link);
140 if( obj_it != objectLinkMap.end() ) {
141 miscObjectLinks.emplace_back(obj_it->second);
143 miscObjectLinks.push_back(invalidLink);
146 assoc->setObjectLinks(miscObjectLinks);
152 if( !inputCoreHandle.
isValid() ) {
154 return StatusCode::FAILURE;
159 std::make_unique<xAOD::MissingETContainer>(),
160 std::make_unique<xAOD::MissingETAuxContainer>()
168 return StatusCode::SUCCESS;
171 template<
typename handle_t>
174 if( !handle.isValid() ) {
176 return StatusCode::FAILURE;
182 return StatusCode::FAILURE;
186 map.try_emplace(orig, link);
188 return StatusCode::SUCCESS;