23 return StatusCode::SUCCESS;
35 ATH_MSG_ERROR(
"Could not get background Truth particle container " << bkgContainer.
name() <<
" from store " << bkgContainer.
store());
36 return StatusCode::FAILURE;
38 ATH_MSG_DEBUG(
"Found background Truth particle container " << bkgContainer.
name() <<
" in store " << bkgContainer.
store());
42 ATH_CHECK(outputContainer.
record(std::make_unique<xAOD::TruthParticleContainer>(), std::make_unique<xAOD::TruthParticleAuxContainer>()));
43 if (!outputContainer.
isValid()) {
44 ATH_MSG_ERROR(
"Could not record output Truth particle container " << outputContainer.
name() <<
" to store " << outputContainer.
store());
45 return StatusCode::FAILURE;
47 ATH_MSG_DEBUG(
"Recorded output Truth particle container " << outputContainer.
name() <<
" in store " << outputContainer.
store());
49 outputContainer->reserve(bkgContainer->size());
53 outputContainer->push_back(xTruthParticle);
54 *xTruthParticle = *bkgTruthParticle;
58 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.
CopyPileupParticleTruthInfo(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode execute(const EventContext &ctx) const override
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_bkgInputKey
SG::WriteHandleKey< xAOD::TruthParticleContainer > m_outputKey
virtual StatusCode initialize() override
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const_pointer_type cptr()
Dereference the pointer.
std::string store() const
Return the name of the store holding the object we are proxying.
const std::string & name() const
Return the StoreGate ID for the referenced object.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
TruthParticle_v1 TruthParticle
Typedef to implementation.