ATLAS Offline Software
MuonPhaseII/MuonPatternRecognition/MuonTruthAlgsR4/src/TruthHitSummaryAlg.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #include "TruthHitSummaryAlg.h"
5 
6 #include "StoreGate/ReadHandle.h"
8 
11 
13 namespace MuonR4{
17  ATH_CHECK(m_summaryTool.retrieve());
18 
19  for (const auto hitSumm :{
20  "innerSmallHits", "innerLargeHits", "middleSmallHits", "middleLargeHits",
21  "outerSmallHits", "outerLargeHits", "extendedSmallHits", "extendedLargeHits",
22  "etaLayer1Hits", "phiLayer1Hits", "etaLayer2Hits", "phiLayer2Hits",
23  "etaLayer3Hits", "phiLayer3Hits", "etaLayer4Hits", "phiLayer4Hits"}){
24  m_hitDecorKeys.emplace_back(m_readKey, hitSumm);
25  }
26  ATH_CHECK(m_hitDecorKeys.initialize());
27  return StatusCode::SUCCESS;
28  }
29  StatusCode TruthHitSummaryAlg::execute(const EventContext& ctx) const {
30  const xAOD::TruthParticleContainer* truthMuons{nullptr};
31  ATH_CHECK(SG::get(truthMuons, m_readKey, ctx));
32  for (const xAOD::TruthParticle* truth : *truthMuons){
33  m_summaryTool->copySummary(m_summaryTool->makeSummary(ctx,
34  getTruthSegments(*truth)), *truth);
35  }
36  return StatusCode::SUCCESS;
37  }
38 
39 }
MuonSimHitHelpers.h
MuonTrackSummaryAccessors_v1.h
TruthHitSummaryAlg.h
HitSummary.h
MuonR4::TruthHitSummaryAlg::initialize
virtual StatusCode initialize() override final
Definition: MuonPhaseII/MuonPatternRecognition/MuonTruthAlgsR4/src/TruthHitSummaryAlg.cxx:14
MuonR4::TruthHitSummaryAlg::m_segLinkKey
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_segLinkKey
Dependency on the truth -> segment decoration.
Definition: MuonPhaseII/MuonPatternRecognition/MuonTruthAlgsR4/src/TruthHitSummaryAlg.h:27
MuonR4::TruthHitSummaryAlg::m_readKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_readKey
input truth particle container
Definition: MuonPhaseII/MuonPatternRecognition/MuonTruthAlgsR4/src/TruthHitSummaryAlg.h:25
MuonR4::getTruthSegments
std::vector< const xAOD::MuonSegment * > getTruthSegments(const xAOD::TruthParticle &truthMuon)
Returns the segments associated to the truth muon.
Definition: MuonSimHitHelpers.cxx:128
SG::ReadDecorHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
SG::get
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
Definition: ReadCondHandle.h:283
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
WriteDecorHandle.h
Handle class for adding a decoration to an object.
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
MuonR4::TruthHitSummaryAlg::m_summaryTool
ToolHandle< MuonR4::ITrackSummaryTool > m_summaryTool
The track summary tool filling the summary state from the associated segments.
Definition: MuonPhaseII/MuonPatternRecognition/MuonTruthAlgsR4/src/TruthHitSummaryAlg.h:31
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
MuonR4::TruthHitSummaryAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: MuonPhaseII/MuonPatternRecognition/MuonTruthAlgsR4/src/TruthHitSummaryAlg.cxx:29
MuonR4::TruthHitSummaryAlg::m_hitDecorKeys
SG::WriteDecorHandleKeyArray< xAOD::TruthParticleContainer > m_hitDecorKeys
Declare the decorations written by this algorithm.
Definition: MuonPhaseII/MuonPatternRecognition/MuonTruthAlgsR4/src/TruthHitSummaryAlg.h:29
ReadHandle.h
Handle class for reading from StoreGate.