ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
DerivationFramework
DerivationFrameworkInDet
DerivationFrameworkInDet
EgammaTrackParticleThinning.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// EgammaTrackParticleThinning.h, (c) ATLAS Detector software
8
9
#ifndef DERIVATIONFRAMEWORK_EGAMMATRACKPARTICLETHINNING_H
10
#define DERIVATIONFRAMEWORK_EGAMMATRACKPARTICLETHINNING_H
11
12
#include <atomic>
13
#include <string>
14
#include <vector>
15
16
#include "
AthenaBaseComps/AthAlgTool.h
"
17
#include "
DerivationFrameworkInDet/TracksInCone.h
"
18
#include "
DerivationFrameworkInterfaces/IThinningTool.h
"
19
#include "GaudiKernel/ToolHandle.h"
20
#include "
StoreGate/ThinningHandleKey.h
"
21
#include "
xAODEgamma/EgammaContainer.h
"
22
#include "
xAODTracking/TrackParticleContainer.h
"
23
#include "
xAODTracking/VertexContainer.h
"
24
25
#include "
ExpressionEvaluation/ExpressionParserUser.h
"
26
27
28
namespace
DerivationFramework
{
29
30
class
EgammaTrackParticleThinning
31
:
public
extends<ExpressionParserUser<AthAlgTool>, IThinningTool>
32
{
33
public
:
34
EgammaTrackParticleThinning
(
const
std::string& t,
35
const
std::string& n,
36
const
IInterface* p);
37
virtual
~EgammaTrackParticleThinning
();
38
virtual
StatusCode
initialize
()
override
;
39
virtual
StatusCode
finalize
()
override
;
40
virtual
StatusCode
doThinning
(
const
EventContext& ctx)
const override
;
41
42
private
:
43
mutable
std::atomic<unsigned long int>
m_ntot
= 0;
44
mutable
std::atomic<unsigned long int>
m_ntotGSF
= 0;
45
mutable
std::atomic<unsigned long int>
m_ntotGSFVtx
= 0;
46
mutable
std::atomic<unsigned long int>
m_npass
= 0;
47
mutable
std::atomic<unsigned long int>
m_nGSFPass
= 0;
48
mutable
std::atomic<unsigned long int>
m_nGSFVtxPass
= 0;
49
mutable
std::atomic<unsigned long int>
m_nEgammas
= 0;
50
mutable
std::atomic<unsigned long int>
m_nSelEgammas
= 0;
51
52
StringProperty
53
m_streamName
{
this
,
"StreamName"
,
""
,
"Name of the stream being thinned"
};
54
55
SG::ReadHandleKey<xAOD::EgammaContainer>
m_egammaKey
{
this
,
"SGKey"
,
""
,
""
};
56
57
SG::ThinningHandleKey<xAOD::TrackParticleContainer>
58
m_inDetSGKey
{
this
,
"InDetTrackParticlesKey"
,
"InDetTrackParticles"
,
""
};
59
60
SG::ThinningHandleKey<xAOD::TrackParticleContainer>
61
m_gsfSGKey
{
this
,
"GSFTrackParticlesKey"
,
"GSFTrackParticles"
,
""
};
62
63
SG::ThinningHandleKey<xAOD::VertexContainer>
64
m_gsfVtxSGKey
{
this
,
"GSFConversionVerticesKey"
,
""
,
""
};
65
66
StringProperty
m_selectionString
{
this
,
"SelectionString"
,
""
,
""
};
67
68
BooleanProperty
m_bestMatchOnly
{
this
,
"BestMatchOnly"
,
true
,
""
};
69
BooleanProperty
m_bestVtxMatchOnly
{
this
,
"BestVtxMatchOnly"
,
false
,
""
};
70
FloatProperty
m_coneSize
{
this
,
"ConeSize"
, -1.0,
""
};
71
72
void
setPhotonMasks
(
const
EventContext& ctx,
73
std::vector<bool>&,
74
std::vector<bool>&,
75
const
xAOD::EgammaContainer
*,
76
const
xAOD::TrackParticleContainer
*,
77
const
xAOD::TrackParticleContainer
*)
const
;
78
void
setElectronMasks
(std::vector<bool>&,
79
std::vector<bool>&,
80
const
xAOD::EgammaContainer
*,
81
const
xAOD::TrackParticleContainer
*,
82
const
xAOD::TrackParticleContainer
*)
const
;
83
void
clearGSFVtx
(
const
EventContext& ctx)
const
;
84
};
85
}
86
87
#endif
// DERIVATIONFRAMEWORK_EGAMMATRACKPARTICLETHINNING_H
AthAlgTool.h
EgammaContainer.h
TrackParticleContainer.h
ExpressionParserUser.h
IThinningTool.h
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
TracksInCone.h
VertexContainer.h
DerivationFramework::EgammaTrackParticleThinning::m_inDetSGKey
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
Definition
EgammaTrackParticleThinning.h:58
DerivationFramework::EgammaTrackParticleThinning::m_gsfSGKey
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_gsfSGKey
Definition
EgammaTrackParticleThinning.h:61
DerivationFramework::EgammaTrackParticleThinning::~EgammaTrackParticleThinning
virtual ~EgammaTrackParticleThinning()
DerivationFramework::EgammaTrackParticleThinning::EgammaTrackParticleThinning
EgammaTrackParticleThinning(const std::string &t, const std::string &n, const IInterface *p)
Definition
EgammaTrackParticleThinning.cxx:22
DerivationFramework::EgammaTrackParticleThinning::m_bestVtxMatchOnly
BooleanProperty m_bestVtxMatchOnly
Definition
EgammaTrackParticleThinning.h:69
DerivationFramework::EgammaTrackParticleThinning::m_ntotGSFVtx
std::atomic< unsigned long int > m_ntotGSFVtx
Definition
EgammaTrackParticleThinning.h:45
DerivationFramework::EgammaTrackParticleThinning::m_nGSFVtxPass
std::atomic< unsigned long int > m_nGSFVtxPass
Definition
EgammaTrackParticleThinning.h:48
DerivationFramework::EgammaTrackParticleThinning::m_gsfVtxSGKey
SG::ThinningHandleKey< xAOD::VertexContainer > m_gsfVtxSGKey
Definition
EgammaTrackParticleThinning.h:64
DerivationFramework::EgammaTrackParticleThinning::finalize
virtual StatusCode finalize() override
Definition
EgammaTrackParticleThinning.cxx:87
DerivationFramework::EgammaTrackParticleThinning::doThinning
virtual StatusCode doThinning(const EventContext &ctx) const override
Definition
EgammaTrackParticleThinning.cxx:108
DerivationFramework::EgammaTrackParticleThinning::m_nGSFPass
std::atomic< unsigned long int > m_nGSFPass
Definition
EgammaTrackParticleThinning.h:47
DerivationFramework::EgammaTrackParticleThinning::m_streamName
StringProperty m_streamName
Definition
EgammaTrackParticleThinning.h:53
DerivationFramework::EgammaTrackParticleThinning::m_bestMatchOnly
BooleanProperty m_bestMatchOnly
Definition
EgammaTrackParticleThinning.h:68
DerivationFramework::EgammaTrackParticleThinning::m_ntot
std::atomic< unsigned long int > m_ntot
Definition
EgammaTrackParticleThinning.h:43
DerivationFramework::EgammaTrackParticleThinning::m_nEgammas
std::atomic< unsigned long int > m_nEgammas
Definition
EgammaTrackParticleThinning.h:49
DerivationFramework::EgammaTrackParticleThinning::m_ntotGSF
std::atomic< unsigned long int > m_ntotGSF
Definition
EgammaTrackParticleThinning.h:44
DerivationFramework::EgammaTrackParticleThinning::clearGSFVtx
void clearGSFVtx(const EventContext &ctx) const
Definition
EgammaTrackParticleThinning.cxx:215
DerivationFramework::EgammaTrackParticleThinning::setPhotonMasks
void setPhotonMasks(const EventContext &ctx, std::vector< bool > &, std::vector< bool > &, const xAOD::EgammaContainer *, const xAOD::TrackParticleContainer *, const xAOD::TrackParticleContainer *) const
Definition
EgammaTrackParticleThinning.cxx:233
DerivationFramework::EgammaTrackParticleThinning::initialize
virtual StatusCode initialize() override
Definition
EgammaTrackParticleThinning.cxx:35
DerivationFramework::EgammaTrackParticleThinning::m_selectionString
StringProperty m_selectionString
Definition
EgammaTrackParticleThinning.h:66
DerivationFramework::EgammaTrackParticleThinning::m_coneSize
FloatProperty m_coneSize
Definition
EgammaTrackParticleThinning.h:70
DerivationFramework::EgammaTrackParticleThinning::setElectronMasks
void setElectronMasks(std::vector< bool > &, std::vector< bool > &, const xAOD::EgammaContainer *, const xAOD::TrackParticleContainer *, const xAOD::TrackParticleContainer *) const
Definition
EgammaTrackParticleThinning.cxx:324
DerivationFramework::EgammaTrackParticleThinning::m_nSelEgammas
std::atomic< unsigned long int > m_nSelEgammas
Definition
EgammaTrackParticleThinning.h:50
DerivationFramework::EgammaTrackParticleThinning::m_npass
std::atomic< unsigned long int > m_npass
Definition
EgammaTrackParticleThinning.h:46
DerivationFramework::EgammaTrackParticleThinning::m_egammaKey
SG::ReadHandleKey< xAOD::EgammaContainer > m_egammaKey
Definition
EgammaTrackParticleThinning.h:55
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition
ThinningHandleKey.h:39
DerivationFramework
THE reconstruction tool.
Definition
CascadeTools.h:16
xAOD::TrackParticleContainer
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticleContainer.h:14
xAOD::EgammaContainer
EgammaContainer_v1 EgammaContainer
Definition of the current "egamma container version".
Definition
EgammaContainer.h:17
Generated on
for ATLAS Offline Software by
1.17.0