Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
18 ISvcLocator* pSvcLocator)
19 : AnaReentrantAlgorithm (
name, pSvcLocator)
40 return StatusCode::SUCCESS;
44 execute (
const EventContext &ctx)
const
49 return StatusCode::FAILURE;
53 using GTC = std::vector<ElementLink<DataVector<xAOD::IParticle> > >;
56 std::vector<SG::ReadDecorHandle<xAOD::JetContainer, GTC> > ghostTrackAccs;
59 ghostTrackAccs.emplace_back(
key, ctx);
65 std::vector<ElementLink<xAOD::IParticleContainer>> mergedGhosts;
66 for (
const auto& ghostTrackAcc: ghostTrackAccs) {
67 const GTC &ghosts = ghostTrackAcc( *
jet );
68 mergedGhosts.insert(mergedGhosts.end(), ghosts.begin(), ghosts.end());
70 mergedGhostDecor(*
jet) = std::move(mergedGhosts);
72 return StatusCode::SUCCESS;
StatusCode execute(const EventContext &ctx) const override
SG::ReadHandleKey< xAOD::JetContainer > m_jetLocation
the jet collection we run on
SG::WriteDecorHandleKey< xAOD::JetContainer > m_mergedGhostContainer
the name of the output ghost collection
const std::string & key() const
Return the StoreGate ID for the referenced object.
Select isolated Photons, Electrons and Muons.
JetGhostMergingAlg(const std::string &name, ISvcLocator *pSvcLocator)
the standard constructor
::StatusCode StatusCode
StatusCode definition for legacy code.
Handle class for adding a decoration to an object.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
std::vector< SG::ReadDecorHandleKey< xAOD::JetContainer > > m_ghostTrackKeys
internal vector to hold the ReadDecorHandles for the difference ghosts
StatusCode initialize() override
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Gaudi::Property< std::vector< std::string > > m_inputGhostTrackNames