ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetValidation
InDetTrackPerfMon
src
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
17
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
18
20
#include "
xAODTracking/TrackParticleContainer.h
"
21
#include "
xAODEgamma/ElectronContainer.h
"
22
24
#include <string>
25
#include <vector>
26
28
#include "
SafeDecorator.h
"
29
30
31
namespace
IDTPM
{
32
33
class
OfflineElectronDecoratorAlg
:
34
public
AthReentrantAlgorithm
{
35
36
public
:
37
38
typedef
ElementLink<xAOD::ElectronContainer>
ElementElectronLink_t
;
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
50
SG::ReadHandleKey<xAOD::TrackParticleContainer>
m_offlineTrkParticlesName
{
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,
57
std::vector<
IDTPM::OptionalDecoration
<
xAOD::TrackParticleContainer
,
58
ElementElectronLink_t
> >& ele_decor,
59
const
xAOD::ElectronContainer
& electrons )
const
;
60
61
SG::ReadHandleKey<xAOD::ElectronContainer>
m_electronsName
{
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
66
enum
ElectronDecorations
:
size_t
{
67
All
,
68
Tight
,
69
Medium
,
70
Loose
,
71
LHTight
,
72
LHMedium
,
73
LHLoose
,
74
NDecorations
75
};
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
87
std::vector<
IDTPM::WriteKeyAccessorPair
<
xAOD::TrackParticleContainer
,
88
ElementElectronLink_t
> >
m_decor_ele
{};
89
90
};
91
92
}
// namespace IDTPM
93
94
#endif
// > !INDETTRACKPERFMON_OFFLINEELECTRONDECORATORALG_H
AthReentrantAlgorithm.h
ElectronContainer.h
TrackParticleContainer.h
SafeDecorator.h
header file for function of same name adapted from original IDPVM implementation
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
IDTPM::OfflineElectronDecoratorAlg::ElectronDecorations
ElectronDecorations
Definition
OfflineElectronDecoratorAlg.h:66
IDTPM::OfflineElectronDecoratorAlg::LHLoose
@ LHLoose
Definition
OfflineElectronDecoratorAlg.h:73
IDTPM::OfflineElectronDecoratorAlg::Loose
@ Loose
Definition
OfflineElectronDecoratorAlg.h:70
IDTPM::OfflineElectronDecoratorAlg::NDecorations
@ NDecorations
Definition
OfflineElectronDecoratorAlg.h:74
IDTPM::OfflineElectronDecoratorAlg::LHTight
@ LHTight
Definition
OfflineElectronDecoratorAlg.h:71
IDTPM::OfflineElectronDecoratorAlg::All
@ All
Definition
OfflineElectronDecoratorAlg.h:67
IDTPM::OfflineElectronDecoratorAlg::Tight
@ Tight
Definition
OfflineElectronDecoratorAlg.h:68
IDTPM::OfflineElectronDecoratorAlg::Medium
@ Medium
Definition
OfflineElectronDecoratorAlg.h:69
IDTPM::OfflineElectronDecoratorAlg::LHMedium
@ LHMedium
Definition
OfflineElectronDecoratorAlg.h:72
IDTPM::OfflineElectronDecoratorAlg::initialize
virtual StatusCode initialize() override
Definition
OfflineElectronDecoratorAlg.cxx:29
IDTPM::OfflineElectronDecoratorAlg::m_offlineTrkParticlesName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_offlineTrkParticlesName
Definition
OfflineElectronDecoratorAlg.h:50
IDTPM::OfflineElectronDecoratorAlg::m_decor_ele_names
const std::vector< std::string > m_decor_ele_names
Definition
OfflineElectronDecoratorAlg.h:77
IDTPM::OfflineElectronDecoratorAlg::m_electronsName
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronsName
Definition
OfflineElectronDecoratorAlg.h:61
IDTPM::OfflineElectronDecoratorAlg::OfflineElectronDecoratorAlg
OfflineElectronDecoratorAlg(const std::string &name, ISvcLocator *pSvcLocator)
Local includes.
Definition
OfflineElectronDecoratorAlg.cxx:20
IDTPM::OfflineElectronDecoratorAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
OfflineElectronDecoratorAlg.cxx:53
IDTPM::OfflineElectronDecoratorAlg::m_decor_ele
std::vector< IDTPM::WriteKeyAccessorPair< xAOD::TrackParticleContainer, ElementElectronLink_t > > m_decor_ele
Definition
OfflineElectronDecoratorAlg.h:88
IDTPM::OfflineElectronDecoratorAlg::decorateElectronTrack
StatusCode decorateElectronTrack(const xAOD::TrackParticle &track, std::vector< IDTPM::OptionalDecoration< xAOD::TrackParticleContainer, ElementElectronLink_t > > &ele_decor, const xAOD::ElectronContainer &electrons) const
Definition
OfflineElectronDecoratorAlg.cxx:96
IDTPM::OfflineElectronDecoratorAlg::m_useGSF
BooleanProperty m_useGSF
Definition
OfflineElectronDecoratorAlg.h:64
IDTPM::OfflineElectronDecoratorAlg::m_prefix
StringProperty m_prefix
Definition
OfflineElectronDecoratorAlg.h:53
IDTPM::OfflineElectronDecoratorAlg::ElementElectronLink_t
ElementLink< xAOD::ElectronContainer > ElementElectronLink_t
Definition
OfflineElectronDecoratorAlg.h:38
IDTPM::OfflineElectronDecoratorAlg::~OfflineElectronDecoratorAlg
virtual ~OfflineElectronDecoratorAlg()=default
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
IDTPM
Athena include(s).
Definition
IPlotsDefinitionSvc.h:25
IDTPM::OptionalDecoration
std::pair< SG::WriteDecorHandle< ContainerType, VariableType >, bool > OptionalDecoration
Definition
SafeDecorator.h:46
IDTPM::WriteKeyAccessorPair
std::pair< SG::WriteDecorHandleKey< ContainerType >, SG::AuxElement::ConstAccessor< VariableType > > WriteKeyAccessorPair
Useful declarations.
Definition
SafeDecorator.h:36
xAOD::ElectronContainer
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
Definition
Event/xAOD/xAODEgamma/xAODEgamma/ElectronContainer.h:17
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::TrackParticleContainer
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticleContainer.h:14
Generated on
for ATLAS Offline Software by
1.17.0