17 return StatusCode::SUCCESS;
22 if (!inDetCandidateCollection.
isValid()) {
24 return StatusCode::FAILURE;
26 if (!inDetCandidateCollection.
isPresent()) {
28 return StatusCode::SUCCESS;
32 if (!muonCandidateCollection.
isValid()) {
34 return StatusCode::FAILURE;
36 if (!muonCandidateCollection.
isPresent()) {
38 return StatusCode::SUCCESS;
41 std::vector<SG::WriteHandle<MuonCombined::InDetCandidateToTagMap> > tagMaps =
m_combTagMaps.makeHandles(ctx);
42 std::vector<MuonCombined::InDetCandidateToTagMap*> maps;
43 for (
auto&
h : tagMaps) {
44 ATH_CHECK(
h.record(std::make_unique<MuonCombined::InDetCandidateToTagMap>()));
45 maps.push_back(
h.ptr());
54 if (inDetCandidateCollection->empty() || muonCandidateCollection->empty())
return StatusCode::SUCCESS;
57 m_muonCombinedTool->combine(*muonCandidateCollection, *inDetCandidateCollection, maps, muidCombTracks.
ptr(), muidMETracks.
ptr(), ctx);
59 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
Header file for AthHistogramAlgorithm.
An algorithm that can be simultaneously executed in multiple threads.
ToolHandle< MuonCombined::IMuonCombinedTool > m_muonCombinedTool
SG::ReadHandleKey< MuonCandidateCollection > m_muonCandidateCollectionName
SG::WriteHandleKey< TrackCollection > m_muidMETracks
StatusCode execute(const EventContext &ctx) const override
SG::ReadHandleKey< InDetCandidateCollection > m_indetCandidateCollectionName
SG::WriteHandleKey< TrackCollection > m_muidCombinedTracks
SG::WriteHandleKeyArray< MuonCombined::InDetCandidateToTagMap > m_combTagMaps
StatusCode initialize() override
MuonCombinedAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual bool isValid() override final
Can the handle be successfully dereferenced?
bool isPresent() const
Is the referenced object present in SG?
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
pointer_type ptr()
Dereference the pointer.