22 return StatusCode::SUCCESS;
32 return StatusCode::FAILURE;
38 auto outputTracks = std::make_unique<ConstDataVector<TrackCollection>>(
SG::VIEW_ELEMENTS);
39 outputTracks->reserve(inputTracks->size());
42 int tracksProcessed = 0;
43 int tracksAlreadyHaveSummary = 0;
52 if (!track->trackSummary()) {
53 bool doSummary =
true;
57 const float pt = per->
momentum().perp();
71 if (!track->trackSummary()) {
73 return StatusCode::FAILURE;
77 ++tracksAlreadyHaveSummary;
81 outputTracks->push_back(track);
84 ATH_MSG_DEBUG(
"Processed " << tracksProcessed <<
" tracks. " << tracksAlreadyHaveSummary <<
" tracks already had summary");
90 return StatusCode::SUCCESS;
Scalar eta() const
pseudorapidity method
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
An algorithm that can be simultaneously executed in multiple threads.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
AddTrackSummaryAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
SG::WriteHandleKey< ConstDataVector< TrackCollection > > m_outputTrackCollection
Output track collection with summaries added.
Gaudi::Property< float > m_minPt
virtual StatusCode execute(const EventContext &ctx) const override
SG::ReadHandleKey< TrackCollection > m_inputTrackCollection
Input track collection (read-only)
Gaudi::Property< float > m_maxAbsEta
ToolHandle< Trk::ITrackSummaryTool > m_trackSummaryTool
Track summary tool.
const Amg::Vector3D & momentum() const
Access method for the momentum.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee