31 auto outputViewCol = std::make_unique<ConstDataVector<xAOD::TrackParticleContainer>>(
SG::VIEW_ELEMENTS);
32 auto outputCol = std::make_unique<xAOD::TrackParticleContainer>();
34 std::unique_ptr<xAOD::TrackParticleAuxContainer> outputAuxCol;
36 outputAuxCol = std::make_unique<xAOD::TrackParticleAuxContainer>();
37 outputCol->setStore(outputAuxCol.get());
41 for (
auto& readHandle : readHandles) {
44 outputViewCol->push_back(tp);
47 outputCol->push_back(newTp);
59 ATH_CHECK(outputTrackParticlesCopy.
record(std::move(outputCol), std::move(outputAuxCol)));
62 return StatusCode::SUCCESS;
virtual StatusCode execute(const EventContext &ctx) const override final
Function executing the algorithm.
TrackParticleMergerAlg(const std::string &name, ISvcLocator *svcLoc)
Algorithm constructor.
SG::ReadDecorHandleKeyArray< xAOD::TrackParticleContainer > m_requiredDecorations
Extra guard for deep-copy mode.
SG::WriteHandleKey< ConstDataVector< xAOD::TrackParticleContainer > > m_outputTrackParticleLocationView
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_outputTrackParticleLocationCopy
Output collection name.
virtual StatusCode initialize() override final
Function initialising the algorithm.
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_inputTrackParticleLocations
Input track collections to be merged.
Gaudi::Property< bool > m_createViewCollection
Option to create a view collection and not deep-copy tracks.