ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
DerivationFramework
DerivationFrameworkCalo
DerivationFrameworkCalo
CaloClusterThinning.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// CaloClusterThinning.h, (c) ATLAS Detector software
8
9
#ifndef DERIVATIONFRAMEWORK_CALO_CALOCLUSTERPARTICLETHINNING_H
10
#define DERIVATIONFRAMEWORK_CALO_CALOCLUSTERPARTICLETHINNING_H
11
12
#include <atomic>
13
#include <string>
14
15
#include "
AthenaBaseComps/AthAlgTool.h
"
16
#include "
DerivationFrameworkInterfaces/IThinningTool.h
"
17
#include "
StoreGate/ReadHandleKey.h
"
18
#include "
StoreGate/ThinningHandleKey.h
"
19
#include "
xAODCaloEvent/CaloCluster.h
"
20
#include "
xAODCaloEvent/CaloClusterContainer.h
"
21
#include "
xAODEgamma/EgammaContainer.h
"
22
23
#include "
ExpressionEvaluation/ExpressionParserUser.h
"
24
25
namespace
DerivationFramework
{
26
27
class
CaloClusterThinning
28
:
public
extends<ExpressionParserUser<AthAlgTool>, IThinningTool>
29
{
30
public
:
31
CaloClusterThinning
(
const
std::string& t,
32
const
std::string& n,
33
const
IInterface* p);
34
virtual
~CaloClusterThinning
();
35
virtual
StatusCode
initialize
()
override
;
36
virtual
StatusCode
finalize
()
override
;
37
virtual
StatusCode
doThinning
(
const
EventContext& ctx)
const override
;
38
39
private
:
40
mutable
std::atomic<unsigned int>
m_ntot
,
m_ntotTopo
,
m_npass
,
41
m_npassTopo
;
//, m_ntotFrwd, m_npassFrwd;
42
bool
m_run_calo
,
m_run_topo
;
43
44
StringProperty
m_streamName
{
this
,
45
"StreamName"
,
46
""
,
47
"Name of the stream being thinned"
};
48
49
SG::ReadHandleKey<xAOD::IParticleContainer>
50
m_sgKey
{
this
,
"SGKey"
,
""
,
"SG key of particle container to thin"
};
51
52
SG::ThinningHandleKey<xAOD::CaloClusterContainer>
53
m_CaloClSGKey
{
this
,
"CaloClCollectionSGKey"
,
""
,
""
};
54
SG::ThinningHandleKey<xAOD::CaloClusterContainer>
55
m_TopoClSGKey
{
this
,
"TopoClCollectionSGKey"
,
""
,
""
};
56
// std::string m_FrwdClSGKey;
57
std::string
m_selectionString
;
58
float
m_coneSize
;
59
60
StatusCode
setClustersMask
(std::vector<bool>& mask,
61
const
xAOD::IParticle
* particle,
62
const
xAOD::CaloClusterContainer
* cps,
63
bool
is_muons,
64
bool
is_egamma,
65
bool
is_track)
const
;
66
StatusCode
particleCluster
(std::vector<bool>& mask,
67
const
xAOD::IParticle
* particle,
68
const
xAOD::CaloClusterContainer
* cps,
69
bool
is_muons,
70
bool
is_egamma,
71
bool
is_tau)
const
;
72
};
73
}
74
75
#endif
// DERIVATIONFRAMEWORK_EGAMMACALOCLUSTERPARTIGLETHINNING_H
AthAlgTool.h
EgammaContainer.h
CaloClusterContainer.h
CaloCluster.h
ExpressionParserUser.h
IThinningTool.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
DerivationFramework::CaloClusterThinning::m_npass
std::atomic< unsigned int > m_npass
Definition
CaloClusterThinning.h:40
DerivationFramework::CaloClusterThinning::m_coneSize
float m_coneSize
Definition
CaloClusterThinning.h:58
DerivationFramework::CaloClusterThinning::m_run_calo
bool m_run_calo
Definition
CaloClusterThinning.h:42
DerivationFramework::CaloClusterThinning::particleCluster
StatusCode particleCluster(std::vector< bool > &mask, const xAOD::IParticle *particle, const xAOD::CaloClusterContainer *cps, bool is_muons, bool is_egamma, bool is_tau) const
Definition
CaloClusterThinning.cxx:364
DerivationFramework::CaloClusterThinning::doThinning
virtual StatusCode doThinning(const EventContext &ctx) const override
Definition
CaloClusterThinning.cxx:108
DerivationFramework::CaloClusterThinning::m_TopoClSGKey
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_TopoClSGKey
Definition
CaloClusterThinning.h:55
DerivationFramework::CaloClusterThinning::m_ntotTopo
std::atomic< unsigned int > m_ntotTopo
Definition
CaloClusterThinning.h:40
DerivationFramework::CaloClusterThinning::initialize
virtual StatusCode initialize() override
Definition
CaloClusterThinning.cxx:51
DerivationFramework::CaloClusterThinning::m_sgKey
SG::ReadHandleKey< xAOD::IParticleContainer > m_sgKey
Definition
CaloClusterThinning.h:50
DerivationFramework::CaloClusterThinning::m_ntot
std::atomic< unsigned int > m_ntot
Definition
CaloClusterThinning.h:40
DerivationFramework::CaloClusterThinning::m_run_topo
bool m_run_topo
Definition
CaloClusterThinning.h:42
DerivationFramework::CaloClusterThinning::m_npassTopo
std::atomic< unsigned int > m_npassTopo
Definition
CaloClusterThinning.h:41
DerivationFramework::CaloClusterThinning::~CaloClusterThinning
virtual ~CaloClusterThinning()
DerivationFramework::CaloClusterThinning::m_CaloClSGKey
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_CaloClSGKey
Definition
CaloClusterThinning.h:53
DerivationFramework::CaloClusterThinning::m_streamName
StringProperty m_streamName
Definition
CaloClusterThinning.h:44
DerivationFramework::CaloClusterThinning::finalize
virtual StatusCode finalize() override
Definition
CaloClusterThinning.cxx:95
DerivationFramework::CaloClusterThinning::setClustersMask
StatusCode setClustersMask(std::vector< bool > &mask, const xAOD::IParticle *particle, const xAOD::CaloClusterContainer *cps, bool is_muons, bool is_egamma, bool is_track) const
Definition
CaloClusterThinning.cxx:323
DerivationFramework::CaloClusterThinning::m_selectionString
std::string m_selectionString
Definition
CaloClusterThinning.h:57
DerivationFramework::CaloClusterThinning::CaloClusterThinning
CaloClusterThinning(const std::string &t, const std::string &n, const IInterface *p)
Definition
CaloClusterThinning.cxx:28
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
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
DerivationFramework
THE reconstruction tool.
Definition
CascadeTools.h:16
xAOD::CaloClusterContainer
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloClusterContainer.h:17
Generated on
for ATLAS Offline Software by
1.17.0