26 return StatusCode::SUCCESS;
36 const int nInput = scoredTracksHandle->size();
39 std::unique_ptr<const TrackCollection> resolvedTracks;
40 resolvedTracks.reset(
m_ambiTool->process(scoredTracksHandle.
cptr()));
44 ATH_MSG_DEBUG (
"Saving "<<resolvedTracks->size()<<
" tracks of " << nInput);
45 if (!resolvedTracksHandle.
put(std::move(resolvedTracks))) {
47 return StatusCode::FAILURE;
49 return StatusCode::SUCCESS;
60 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
An algorithm that can be simultaneously executed in multiple threads.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const_pointer_type cptr()
Dereference the pointer.
const_pointer_type put(std::unique_ptr< T > data, bool returnExisting=false) const
Record an object to the store.
~TrkAmbiguitySolver(void)
StatusCode finalize(void) override
SG::ReadHandleKey< TracksScores > m_scoredTracksKey
<where to find tracks (set in jobOptions and can be multiple collections
SG::WriteHandleKey< TrackCollection > m_resolvedTracksKey
TrkAmbiguitySolver(const std::string &name, ISvcLocator *pSvcLocator)
std::atomic< long int > m_trackOutCount
Number of tracks passing Ambi solving.
StatusCode execute(const EventContext &ctx) const override
std::atomic< long int > m_trackInCount
Number of tracks input.
ToolHandle< ITrackAmbiguityProcessorTool > m_ambiTool
StatusCode initialize(void) override