ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
KLFitterAnalysisAlgorithms
Root
KLFitterFinalizeOutputAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
7
8
#include "
KLFitterAnalysisAlgorithms/KLFitterFinalizeOutputAlg.h
"
9
10
namespace
EventReco
{
11
12
KLFitterFinalizeOutputAlg::KLFitterFinalizeOutputAlg
(
const
std::string &name,
13
ISvcLocator *pSvcLocator)
14
:
EL
::
AnaAlgorithm
(name, pSvcLocator) {}
15
16
StatusCode
KLFitterFinalizeOutputAlg::initialize
() {
17
ANA_CHECK
(
m_inHandle
.initialize(
m_systematicsList
));
18
ANA_CHECK
(
m_outHandle
.initialize(
m_systematicsList
));
19
ANA_CHECK
(
m_systematicsList
.initialize());
20
return
StatusCode::SUCCESS;
21
}
22
23
StatusCode
KLFitterFinalizeOutputAlg::execute
(
const
EventContext& ctx) {
24
for
(
const
auto
&sys :
m_systematicsList
.systematicsVector()) {
25
// for events, where the KLFitterResultContainer was not created (e.g. event
26
// didn't pass any of the regions' selections) we have to record an empty
27
// container -- this ensures that every single event has at least empty
28
// container (no KLFitter permutations)
29
if
(!
m_inHandle
.isValid(sys, ctx)) {
30
auto
resultAuxContainer =
31
std::make_unique<xAOD::KLFitterResultAuxContainer>();
32
auto
resultContainer = std::make_unique<xAOD::KLFitterResultContainer>();
33
resultContainer->setStore(resultAuxContainer.get());
34
ANA_CHECK
(
m_outHandle
.record(std::move(resultContainer),
35
std::move(resultAuxContainer), sys, ctx));
36
}
37
}
38
return
StatusCode::SUCCESS;
39
}
40
41
}
// namespace EventReco
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:322
KLFitterFinalizeOutputAlg.h
EL::AnaAlgorithm::AnaAlgorithm
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition
AnaAlgorithm.cxx:40
EL::AnaAlgorithm::execute
virtual::StatusCode execute()
execute this algorithm
Definition
AnaAlgorithm.cxx:315
EventReco::KLFitterFinalizeOutputAlg::m_inHandle
CP::SysReadHandle< xAOD::KLFitterResultContainer > m_inHandle
Definition
KLFitterFinalizeOutputAlg.h:29
EventReco::KLFitterFinalizeOutputAlg::initialize
virtual StatusCode initialize() final
Definition
KLFitterFinalizeOutputAlg.cxx:16
EventReco::KLFitterFinalizeOutputAlg::m_systematicsList
CP::SysListHandle m_systematicsList
Definition
KLFitterFinalizeOutputAlg.h:27
EventReco::KLFitterFinalizeOutputAlg::KLFitterFinalizeOutputAlg
KLFitterFinalizeOutputAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition
KLFitterFinalizeOutputAlg.cxx:12
EventReco::KLFitterFinalizeOutputAlg::m_outHandle
CP::SysWriteHandle< xAOD::KLFitterResultContainer, xAOD::KLFitterResultAuxContainer > m_outHandle
Definition
KLFitterFinalizeOutputAlg.h:34
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition
AsgComponentFactories.h:16
EventReco
Definition
KLFitterEnums.h:16
Generated on
for ATLAS Offline Software by
1.17.0