Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
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
CP::SysWriteDecorHandle::set
void set(const SG::AuxElement &object, const T &value, const CP::SystematicSet &sys) const
set the object decoration for the given systematic
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition:
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:324
CP::AsgObjectScaleFactorAlg::m_outSFHandle
SysWriteDecorHandle< float > m_outSFHandle
Definition:
AsgObjectScaleFactorAlg.h:42
CP::SysListHandle::systematicsVector
const std::vector< CP::SystematicSet > & systematicsVector() const
the list of systematics to loop over
Definition:
SysListHandle.cxx:96
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:49
mapkey::sys
@ sys
Definition:
TElectronEfficiencyCorrectionTool.cxx:42
CP::AsgObjectScaleFactorAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition:
AsgObjectScaleFactorAlg.h:31
CP::AsgObjectScaleFactorAlg::initialize
StatusCode initialize() override
Definition:
AsgObjectScaleFactorAlg.cxx:11
EL::AnaAlgorithm::handle
void handle(const Incident &inc)
receive the given incident
Definition:
AnaAlgorithm.cxx:521
CP::SysListHandle::initialize
::StatusCode initialize()
intialize this property
Definition:
SysListHandle.cxx:69
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::SysWriteDecorHandle::initialize
StatusCode initialize(SysListHandle &sysListHandle, const ISysHandleBase &objectHandle)
initialize this handle
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:794
CP::AsgObjectScaleFactorAlg::m_particlesHandle
SysReadHandle< xAOD::IParticleContainer > m_particlesHandle
the particle container we run on
Definition:
AsgObjectScaleFactorAlg.h:34
CP::AsgObjectScaleFactorAlg::m_inScaleFactors
Gaudi::Property< std::vector< std::string > > m_inScaleFactors
Definition:
AsgObjectScaleFactorAlg.h:37
AsgObjectScaleFactorAlg.h
mapkey::sf
@ sf
Definition:
TElectronEfficiencyCorrectionTool.cxx:38
LArG4FSStartPointFilter.particles
list particles
Definition:
LArG4FSStartPointFilter.py:84
CP::AsgObjectScaleFactorAlg::m_inSFHandles
std::vector< SysReadDecorHandle< float > > m_inSFHandles
Definition:
AsgObjectScaleFactorAlg.h:40
CP::AsgObjectScaleFactorAlg::execute
StatusCode execute() override
Definition:
AsgObjectScaleFactorAlg.cxx:29
Generated on Wed Mar 26 2025 21:07:18 for ATLAS Offline Software by
1.8.18