ATLAS Offline Software
Loading...
Searching...
No Matches
OfflineElectronDecoratorAlg.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_OFFLINEELECTRONDECORATORALG_H
6#define INDETTRACKPERFMON_OFFLINEELECTRONDECORATORALG_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 OfflineElectronDecoratorAlg( const std::string& name, ISvcLocator* pSvcLocator );
41
42 virtual ~OfflineElectronDecoratorAlg() = 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", "LinkedElectron_", "Decoration prefix to avoid clashes" };
54
55 StatusCode decorateElectronTrack(
56 const xAOD::TrackParticle& track,
58 ElementElectronLink_t > >& ele_decor,
59 const xAOD::ElectronContainer& electrons ) const;
60
62 this, "ElectronContainerName", "Electrons", "Name of container of offline electrons" };
63
64 BooleanProperty m_useGSF { this, "useGSF", false, "Match electron with original ID track after GSF" };
65
76
77 const std::vector< std::string > m_decor_ele_names {
78 "All",
79 "Tight",
80 "Medium",
81 "Loose",
82 "LHTight",
83 "LHMedium",
84 "LHLoose"
85 };
86
89
90};
91
92} // namespace IDTPM
93
94#endif // > !INDETTRACKPERFMON_OFFLINEELECTRONDECORATORALG_H
header file for function of same name adapted from original IDPVM implementation
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_offlineTrkParticlesName
const std::vector< std::string > m_decor_ele_names
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronsName
OfflineElectronDecoratorAlg(const std::string &name, ISvcLocator *pSvcLocator)
Local includes.
virtual StatusCode execute(const EventContext &ctx) const override
std::vector< IDTPM::WriteKeyAccessorPair< xAOD::TrackParticleContainer, ElementElectronLink_t > > m_decor_ele
StatusCode decorateElectronTrack(const xAOD::TrackParticle &track, std::vector< IDTPM::OptionalDecoration< xAOD::TrackParticleContainer, ElementElectronLink_t > > &ele_decor, const xAOD::ElectronContainer &electrons) const
ElementLink< xAOD::ElectronContainer > ElementElectronLink_t
virtual ~OfflineElectronDecoratorAlg()=default
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.
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".