ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
tauRecTools
Root
TauEleOverlapChecker.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
tauRecTools/TauEleOverlapChecker.h
"
6
7
TauEleOverlapChecker::TauEleOverlapChecker
(
const
std::string& name) :
8
TauRecToolBase
(name) {
9
}
10
11
StatusCode
TauEleOverlapChecker::initialize
() {
12
ATH_CHECK
(
m_removedClustersContainer
.initialize() );
13
ATH_CHECK
(
m_removedTracksContainer
.initialize() );
14
return
StatusCode::SUCCESS;
15
}
16
17
StatusCode
TauEleOverlapChecker::execute
(
xAOD::TauJet
& tau)
const
{
18
// Checking if the seed jet is valid
19
auto
jet_seed = tau.
jet
();
20
if
(jet_seed ==
nullptr
) {
21
ATH_MSG_ERROR
(
"Tau jet link is invalid."
);
22
return
StatusCode::FAILURE;
23
}
24
// retrieve the input removed tracks and clusters containers
25
SG::ReadHandle<xAOD::CaloClusterContainer>
removedClustersHandle(
m_removedClustersContainer
);
26
SG::ReadHandle<xAOD::TrackParticleContainer>
removedTracksHandle (
m_removedTracksContainer
);
27
if
(!removedClustersHandle.
isValid
() || !removedTracksHandle.
isValid
()) {
28
ATH_MSG_ERROR
(
29
"Could not retrieve HiveDataObj with key "
<<
30
(!removedClustersHandle.
isValid
() ? removedClustersHandle.
key
() :
""
) <<
31
(!removedTracksHandle.
isValid
() ? removedTracksHandle.
key
() :
""
)
32
);
33
return
StatusCode::FAILURE;
34
}
35
const
xAOD::CaloClusterContainer
*removed_clusters_cont = removedClustersHandle.
cptr
();
36
const
xAOD::TrackParticleContainer
*removed_tracks_cont = removedTracksHandle.
cptr
();
37
38
39
for
(
auto
removal_direction : *removed_tracks_cont) {
40
if
(removal_direction->p4().DeltaR(jet_seed->p4()) <
m_checkingCone
) {
41
return
StatusCode::SUCCESS;
42
}
43
}
44
for
(
auto
removal_direction : *removed_clusters_cont) {
45
if
(removal_direction->p4().DeltaR(jet_seed->p4()) <
m_checkingCone
) {
46
return
StatusCode::SUCCESS;
47
}
48
}
49
ATH_MSG_DEBUG
(
"TauJet do not overlap with removal direction, skipping..."
);
50
return
StatusCode::FAILURE;
51
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
TauEleOverlapChecker.h
SG::ReadHandle
Definition
StoreGate/StoreGate/ReadHandle.h:67
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SG::ReadHandle::cptr
const_pointer_type cptr()
Dereference the pointer.
SG::VarHandleBase::key
virtual const std::string & key() const override final
Return the StoreGate ID for the referenced object.
Definition
AthToolSupport/AsgDataHandles/Root/VarHandleBase.cxx:64
TauEleOverlapChecker::initialize
virtual StatusCode initialize() override
Initialization of the tool.
Definition
TauEleOverlapChecker.cxx:11
TauEleOverlapChecker::m_checkingCone
Gaudi::Property< double > m_checkingCone
Definition
TauEleOverlapChecker.h:39
TauEleOverlapChecker::m_removedClustersContainer
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_removedClustersContainer
Definition
TauEleOverlapChecker.h:40
TauEleOverlapChecker::m_removedTracksContainer
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_removedTracksContainer
Definition
TauEleOverlapChecker.h:41
TauEleOverlapChecker::execute
virtual StatusCode execute(xAOD::TauJet &tau) const override
Execution of this tool.
Definition
TauEleOverlapChecker.cxx:17
TauEleOverlapChecker::TauEleOverlapChecker
TauEleOverlapChecker(const std::string &name)
Constructor.
Definition
TauEleOverlapChecker.cxx:7
TauRecToolBase::TauRecToolBase
TauRecToolBase(const std::string &name)
Definition
TauRecToolBase.cxx:125
xAOD::TauJet_v3::jet
const Jet * jet() const
xAOD::TauJet
TauJet_v3 TauJet
Definition of the current "tau version".
Definition
TauJet.h:17
xAOD::TrackParticleContainer
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticleContainer.h:14
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