ATLAS Offline Software
Loading...
Searching...
No Matches
TruthMuonVertexDumper.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONCSVDUMP_TruthMuonVertexDumperAlg_H
5#define MUONCSVDUMP_TruthMuonVertexDumperAlg_H
6
7
9
11
14
18
19
20namespace MuonR4{
22
23 public:
26
27 virtual StatusCode initialize() override final;
28 virtual StatusCode finalize() override final;
29 virtual StatusCode execute() override final;
30
31 private:
32 SG::ReadHandleKey<xAOD::TruthParticleContainer> m_truthMuonsKey{this, "TruthMuonsKey", "MuonTruthParticles", "Key to the truth particle container"};
33 SG::ReadHandleKey<xAOD::TruthVertexContainer> m_truthVertexKey{this, "TruthVerticesKey", "TruthVertices", "Key to the truth vertex container"};
34
35 Gaudi::Property<std::vector<int>> m_pdgIdsToKeepVertex{this, "PdgIdsToKeepVertex", {50, 72, 31, 32, 3000001}, "List of PDG IDs to keep vertices for"};
36
37 MuonVal::MuonTesterTree m_tree{"MuonVertexDump","MuonBucketDump"};
38
39 bool selectDecayVertex(const xAOD::TruthVertex* vertex) const;
40 void printChildren(const xAOD::TruthParticle* particle, int indentLevel) const;
41
42 bool isFromVertexOfInterest(const xAOD::TruthParticle* particle, const xAOD::TruthVertex* vertex) const;
43
44 //Truth muon information
46 MuonVal::MatrixBranch<uint16_t>& m_truthMuonVertexMuonLinks{m_tree.newMatrix<uint16_t>("truthMuonVertexMuonLinks")};
47 std::shared_ptr<MuonVal::IParticleFourMomBranch> m_truthMuonP4{};
48};
49}
50#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
MuonVal::ThreeVectorBranch m_truthMuonVertexPosition
void printChildren(const xAOD::TruthParticle *particle, int indentLevel) const
SG::ReadHandleKey< xAOD::TruthVertexContainer > m_truthVertexKey
virtual StatusCode initialize() override final
virtual StatusCode execute() override final
MuonVal::MatrixBranch< uint16_t > & m_truthMuonVertexMuonLinks
std::shared_ptr< MuonVal::IParticleFourMomBranch > m_truthMuonP4
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Gaudi::Property< std::vector< int > > m_pdgIdsToKeepVertex
virtual StatusCode finalize() override final
bool selectDecayVertex(const xAOD::TruthVertex *vertex) const
bool isFromVertexOfInterest(const xAOD::TruthParticle *particle, const xAOD::TruthVertex *vertex) const
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthMuonsKey
Property holding a SG store/key/clid from which a ReadHandle is made.
This header ties the generic definitions in this package.
Forward declaration.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
TruthVertex_v1 TruthVertex
Typedef to implementation.
Definition TruthVertex.h:15
TruthParticle_v1 TruthParticle
Typedef to implementation.
#define private