ATLAS Offline Software
Loading...
Searching...
No Matches
OfflineMuonDecoratorAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETTRACKPERFMON_OFFLINEMUONDECORATORALG_H
6#define INDETTRACKPERFMON_OFFLINEMUONDECORATORALG_H
7
15
18
22
24#include <string>
25#include <vector>
26
28#include "SafeDecorator.h"
29
30
31namespace IDTPM {
32
35
36 public:
37
39
40 OfflineMuonDecoratorAlg( const std::string& name, ISvcLocator* pSvcLocator );
41
42 virtual ~OfflineMuonDecoratorAlg() = default;
43
44 virtual StatusCode initialize() override;
45
46 virtual StatusCode execute( const EventContext& ctx ) const override;
47
48 private:
49
51 this, "OfflineTrkParticleContainerName", "InDetTrackParticles", "Name of container of offline tracks" };
52
53 StringProperty m_prefix { this, "Prefix", "LinkedMuon_", "Decoration prefix to avoid clashes" };
54
55 StatusCode decorateMuonTrack(
56 const xAOD::TrackParticle& track,
58 ElementMuonLink_t > >& mu_decor,
59 const xAOD::MuonContainer& muons ) const;
60
62 this, "MuonContainerName", "Muons", "Name of container of offline muons" };
63
64 BooleanProperty m_useCombinedMuonTracks {
65 this, "useCombinedMuonTracks", false, "Match combined muon track to muons instead of ID tracks" };
66
75
76 const std::vector< std::string > m_decor_mu_names {
77 "All",
78 "Tight",
79 "Medium",
80 "Loose",
81 "VeryLoose"
82 };
83
86
87 };
88
89} // namespace IDTPM
90
91#endif // > ! INDETTRACKPERFMON_OFFLINEMUONDECORATORALG_H
header file for function of same name adapted from original IDPVM implementation
An algorithm that can be simultaneously executed in multiple threads.
virtual ~OfflineMuonDecoratorAlg()=default
SG::ReadHandleKey< xAOD::MuonContainer > m_muonsName
ElementLink< xAOD::MuonContainer > ElementMuonLink_t
OfflineMuonDecoratorAlg(const std::string &name, ISvcLocator *pSvcLocator)
Local includes.
std::vector< IDTPM::WriteKeyAccessorPair< xAOD::TrackParticleContainer, ElementMuonLink_t > > m_decor_mu
virtual StatusCode execute(const EventContext &ctx) const override
const std::vector< std::string > m_decor_mu_names
virtual StatusCode initialize() override
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_offlineTrkParticlesName
StatusCode decorateMuonTrack(const xAOD::TrackParticle &track, std::vector< IDTPM::OptionalDecoration< xAOD::TrackParticleContainer, ElementMuonLink_t > > &mu_decor, const xAOD::MuonContainer &muons) const
Property holding a SG store/key/clid from which a ReadHandle is made.
Athena include(s).
std::pair< SG::WriteDecorHandle< ContainerType, VariableType >, bool > OptionalDecoration
std::pair< SG::WriteDecorHandleKey< ContainerType >, SG::AuxElement::ConstAccessor< VariableType > > WriteKeyAccessorPair
Useful declarations.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".