ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
RecoTools
CaloRingerTools
src
CaloRingerReaderJetUtils.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
// =====================================================================================
6
#include "
CaloRingerReaderJetUtils.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
BuildCaloRingsJetFctorBase::prepareJetToLoopFor
( 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
BuildCaloRingsJetFctorBase::checkJetRelease
() {
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
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
CaloRingerReaderJetUtils.h
CaloRingsAuxContainer.h
CaloClusterContainer.h
CaloRingsContainer.h
RingSetAuxContainer.h
RingSetContainer.h
Ringer::BuildCaloRingsJetFctorBase::m_part_counter
size_t m_part_counter
Hold number of particles already procesed for this event:
Definition
CaloRingerReaderJetUtils.h:66
Ringer::BuildCaloRingsJetFctorBase::m_part_size
size_t m_part_size
Hold number of particles to be processed:
Definition
CaloRingerReaderJetUtils.h:68
Ringer::BuildCaloRingsJetFctorBase::m_rsContH
SG::WriteHandle< xAOD::RingSetContainer > * m_rsContH
Keep RingSetContainer handle in scope until finished looping.
Definition
CaloRingerReaderJetUtils.h:97
Ringer::BuildCaloRingsJetFctorBase::m_crContH
SG::WriteHandle< xAOD::CaloRingsContainer > * m_crContH
Private Properties.
Definition
CaloRingerReaderJetUtils.h:95
Ringer::BuildCaloRingsJetFctorBase::prepareJetToLoopFor
StatusCode prepareJetToLoopFor(std::size_t nParticles)
Methods.
Definition
CaloRingerReaderJetUtils.cxx:23
Ringer::BuildCaloRingsJetFctorBase::m_builder
ToolHandle< ICaloRingsBuilder > & m_builder
Protected Properties.
Definition
CaloRingerReaderJetUtils.h:64
Ringer::BuildCaloRingsJetFctorBase::checkJetRelease
void checkJetRelease()
Release the handles when finished looping.
Definition
CaloRingerReaderJetUtils.cxx:43
SG::WriteHandle
Definition
StoreGate/StoreGate/WriteHandle.h:73
Ringer
Namespace dedicated for Ringer utilities.
Definition
CaloRingsDefs.h:9
Generated on
for ATLAS Offline Software by
1.17.0