ATLAS Offline Software
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
AsgAnalysisAlgorithms
Root
AsgObjectScaleFactorAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include <
AsgAnalysisAlgorithms/AsgObjectScaleFactorAlg.h
>
6
7
namespace
CP
8
{
9
10
StatusCode AsgObjectScaleFactorAlg ::
11
initialize ()
12
{
13
14
ANA_CHECK
(
m_particlesHandle
.initialize (
m_systematicsList
));
15
16
for
(
const
auto
& sf :
m_inScaleFactors
)
17
m_inSFHandles
.emplace_back(sf,
this
);
18
for
(
auto
&
handle
:
m_inSFHandles
)
19
ANA_CHECK
(
handle
.initialize(
m_systematicsList
,
m_particlesHandle
));
20
21
ANA_CHECK
(
m_outSFHandle
.initialize(
m_systematicsList
,
m_particlesHandle
));
22
23
ANA_CHECK
(
m_systematicsList
.initialize());
24
25
return
StatusCode::SUCCESS;
26
}
27
28
StatusCode AsgObjectScaleFactorAlg ::
29
execute ()
30
{
31
32
for
(
const
auto
& sys :
m_systematicsList
.systematicsVector())
33
{
34
const
xAOD::IParticleContainer
*particles =
nullptr
;
35
ANA_CHECK
(
m_particlesHandle
.retrieve (particles, sys));
36
for
(
const
xAOD::IParticle
*particle : *particles)
37
{
38
float
scaleFactor = 1.;
39
for
(
const
auto
& sf :
m_inSFHandles
)
40
scaleFactor *= sf.get(*particle, sys);
41
42
m_outSFHandle
.set(*particle, scaleFactor, sys);
43
}
44
}
45
46
return
StatusCode::SUCCESS;
47
}
48
49
}
// namespace
AsgObjectScaleFactorAlg.h
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:324
CP::AsgObjectScaleFactorAlg::m_inSFHandles
std::vector< SysReadDecorHandle< float > > m_inSFHandles
Definition
AsgObjectScaleFactorAlg.h:40
CP::AsgObjectScaleFactorAlg::m_outSFHandle
SysWriteDecorHandle< float > m_outSFHandle
Definition
AsgObjectScaleFactorAlg.h:42
CP::AsgObjectScaleFactorAlg::m_particlesHandle
SysReadHandle< xAOD::IParticleContainer > m_particlesHandle
the particle container we run on
Definition
AsgObjectScaleFactorAlg.h:34
CP::AsgObjectScaleFactorAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition
AsgObjectScaleFactorAlg.h:31
CP::AsgObjectScaleFactorAlg::m_inScaleFactors
Gaudi::Property< std::vector< std::string > > m_inScaleFactors
Definition
AsgObjectScaleFactorAlg.h:37
EL::AnaAlgorithm::handle
void handle(const Incident &inc)
receive the given incident
Definition
AnaAlgorithm.cxx:521
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
xAOD::IParticleContainer
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.
Definition
xAOD/xAODBase/xAODBase/IParticleContainer.h:32
Generated on
for ATLAS Offline Software by
1.14.0