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
Reconstruction
RecoTools
CaloRingerTools
src
CaloRingerReaderUtils.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// =====================================================================================
6
#include "
CaloRingerReaderUtils.h
"
7
8
9
// Kernel includes:
10
#include "GaudiKernel/StatusCode.h"
11
#include "GaudiKernel/ToolHandle.h"
12
13
// xAOD includes:
14
#include "
xAODCaloEvent/CaloClusterContainer.h
"
15
#include "
xAODCaloRings/CaloRingsContainer.h
"
16
#include "
xAODCaloRings/RingSetContainer.h
"
17
#include "
xAODCaloRings/CaloRingsAuxContainer.h
"
18
#include "
xAODCaloRings/RingSetAuxContainer.h
"
19
20
namespace
Ringer
{
21
22
// =====================================================================================
23
StatusCode
BuildCaloRingsFctorBase::prepareToLoopFor
( std::size_t nParticles ) {
24
ATH_MSG_DEBUG
(
" ---------- Preparing to loop for "
<< nParticles <<
" particles"
);
25
// Reset counters, set number of particles to nParticles:
26
m_part_size
= nParticles;
27
m_part_counter
= 0;
28
29
// Make and set the CaloRings and RingSets container
30
m_crContH
=
new
SG::WriteHandle<xAOD::CaloRingsContainer >
(
m_builder
->crContName());
31
ATH_CHECK
(
m_crContH
->record(std::make_unique<xAOD::CaloRingsContainer>(),
32
std::make_unique<xAOD::CaloRingsAuxContainer>()));
33
m_rsContH
=
new
SG::WriteHandle<xAOD::RingSetContainer>
(
m_builder
->rsContName());
34
ATH_CHECK
(
m_rsContH
->record(std::make_unique<xAOD::RingSetContainer>(),
35
std::make_unique<xAOD::RingSetAuxContainer>()));
36
37
// Set containers which will hold the build CaloRings and reserve one slot per
38
// particle as initial guess:
39
return
m_builder
->preExecute(
m_crContH
->ptr(),
m_rsContH
->ptr(), nParticles );
40
}
41
42
// =====================================================================================
43
void
BuildCaloRingsFctorBase::checkRelease
() {
44
if
(
m_part_counter
==
m_part_size
) {
45
delete
m_crContH
;
m_crContH
=
nullptr
;
46
delete
m_rsContH
;
m_rsContH
=
nullptr
;
47
}
48
}
49
50
}
// namespace Ringer
Ringer::BuildCaloRingsFctorBase::m_builder
ToolHandle< ICaloRingsBuilder > & m_builder
Protected Properties.
Definition:
CaloRingerReaderUtils.h:64
RingSetAuxContainer.h
Ringer::BuildCaloRingsFctorBase::prepareToLoopFor
StatusCode prepareToLoopFor(std::size_t nParticles)
Methods.
Definition:
CaloRingerReaderUtils.cxx:23
Ringer::BuildCaloRingsFctorBase::m_crContH
SG::WriteHandle< xAOD::CaloRingsContainer > * m_crContH
Private Properties.
Definition:
CaloRingerReaderUtils.h:95
CaloRingsAuxContainer.h
CaloRingsContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition:
AthMsgStreamMacros.h:29
Ringer::BuildCaloRingsFctorBase::m_part_counter
size_t m_part_counter
Hold number of particles already procesed for this event:
Definition:
CaloRingerReaderUtils.h:66
CaloRingerReaderUtils.h
ATH_CHECK
#define ATH_CHECK
Definition:
AthCheckMacros.h:40
Ringer::BuildCaloRingsFctorBase::checkRelease
void checkRelease()
Release the handles when finished looping.
Definition:
CaloRingerReaderUtils.cxx:43
RingSetContainer.h
Ringer::BuildCaloRingsFctorBase::m_rsContH
SG::WriteHandle< xAOD::RingSetContainer > * m_rsContH
Keep RingSetContainer handle in scope until finished looping.
Definition:
CaloRingerReaderUtils.h:97
SG::WriteHandle
Definition:
StoreGate/StoreGate/WriteHandle.h:73
CaloClusterContainer.h
Ringer::BuildCaloRingsFctorBase::m_part_size
size_t m_part_size
Hold number of particles to be processed:
Definition:
CaloRingerReaderUtils.h:68
Ringer
Namespace dedicated for Ringer utilities.
Definition:
CaloRingsDefs.h:9
Generated on Wed Apr 23 2025 21:08:19 for ATLAS Offline Software by
1.8.18