ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
Overlay
OverlayUtilities
src
OverlayVertexSkimmingAlg.cxx
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
OverlayVertexSkimmingAlg.h
"
6
7
#include "
EventBookkeeperTools/FilterReporter.h
"
8
9
OverlayVertexSkimmingAlg::OverlayVertexSkimmingAlg
(
const
std::string& name,
10
ISvcLocator* pSvcLocator)
11
: ::
AthReentrantAlgorithm
(name, pSvcLocator) {}
12
13
StatusCode
OverlayVertexSkimmingAlg::initialize
() {
14
ATH_CHECK
(
m_filterParams
.initialize());
15
ATH_CHECK
(
m_vertexContainerKey
.initialize());
16
17
return
StatusCode::SUCCESS;
18
}
19
20
StatusCode
OverlayVertexSkimmingAlg::finalize
() {
21
ATH_MSG_INFO
(
m_filterParams
.summary());
22
return
StatusCode::SUCCESS;
23
}
24
25
StatusCode
OverlayVertexSkimmingAlg::execute
(
const
EventContext& ctx)
const
{
26
FilterReporter
filter(
m_filterParams
,
false
, ctx);
27
28
SG::ReadHandle<xAOD::VertexContainer>
vertices(
m_vertexContainerKey
, ctx);
29
if
(!vertices.
isValid
()) {
30
ATH_MSG_ERROR
(
"Couldn't retrieve xAOD::VertexContainer with key: "
31
<<
m_vertexContainerKey
);
32
return
StatusCode::FAILURE;
33
}
34
35
for
(
const
xAOD::Vertex
* vx : *(vertices.
cptr
())) {
36
if
(vx->vertexType() ==
xAOD::VxType::PriVtx
) {
37
filter.setPassed(
true
);
38
ATH_MSG_VERBOSE
(
"Found primary vertex, passing event"
);
39
break
;
40
}
41
}
42
43
return
StatusCode::SUCCESS;
44
}
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_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:31
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition
AthMsgStreamMacros.h:28
FilterReporter.h
OverlayVertexSkimmingAlg.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
FilterReporter
a guard class for use with ref FilterReporterParams
Definition
FilterReporter.h:35
OverlayVertexSkimmingAlg::OverlayVertexSkimmingAlg
OverlayVertexSkimmingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition
OverlayVertexSkimmingAlg.cxx:9
OverlayVertexSkimmingAlg::m_filterParams
FilterReporterParams m_filterParams
Definition
OverlayVertexSkimmingAlg.h:28
OverlayVertexSkimmingAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition
OverlayVertexSkimmingAlg.cxx:25
OverlayVertexSkimmingAlg::finalize
virtual StatusCode finalize() override final
Definition
OverlayVertexSkimmingAlg.cxx:20
OverlayVertexSkimmingAlg::m_vertexContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerKey
Definition
OverlayVertexSkimmingAlg.h:25
OverlayVertexSkimmingAlg::initialize
virtual StatusCode initialize() override final
Definition
OverlayVertexSkimmingAlg.cxx:13
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.
xAOD::VxType::PriVtx
@ PriVtx
Primary vertex.
Definition
TrackingPrimitives.h:590
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
Generated on
for ATLAS Offline Software by
1.17.0