ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
RecoTools
TrackToCalo
src
ParticleCaloCellAssociationTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/***************************************************************************
6
ParticleCaloCellAssociationTool.h
7
begin : Summer 2014
8
authors : Niels van Eldik (CERN PH-ATC),Christos (MT)
9
***************************************************************************/
10
#ifndef TRKPARTICLECREATOR_PARTICLECALOCELLASSOCIATION_H
11
#define TRKPARTICLECREATOR_PARTICLECALOCELLASSOCIATION_H
12
13
#include "
AthenaBaseComps/AthAlgTool.h
"
14
#include "GaudiKernel/ToolHandle.h"
15
#include "
ParticleCaloExtension/ParticleCellAssociation.h
"
16
#include "
PathLengthUtils.h
"
17
#include "
RecoToolInterfaces/IParticleCaloCellAssociationTool.h
"
18
#include "
StoreGate/ReadHandle.h
"
19
#include "
StoreGate/ReadCondHandleKey.h
"
20
#include "
CaloDetDescr/CaloDetDescrManager.h
"
21
#include "
TrackToCalo/CaloCellSelectorLayerdR.h
"
22
23
namespace
Trk
{
24
class
IParticleCaloExtensionTool
;
25
class
CaloExtension
;
26
}
// namespace Trk
27
28
class
CaloCellContainer
;
29
30
namespace
Rec
{
31
32
class
ParticleCaloCellAssociationTool
33
:
virtual
public
IParticleCaloCellAssociationTool
34
,
public
AthAlgTool
35
{
36
public
:
37
ParticleCaloCellAssociationTool
(
const
std::string&,
38
const
std::string&,
39
const
IInterface*);
40
41
virtual
~ParticleCaloCellAssociationTool
()
override
;
42
43
virtual
StatusCode
initialize
() override final;
44
virtual StatusCode
finalize
() override final;
51
virtual
std
::
unique_ptr
<
ParticleCellAssociation
>
particleCellAssociation
(
52
const
xAOD
::
IParticle
& particle,
53
float
dr,
54
const
CaloCellContainer
* container =
nullptr
,
55
const
CaloExtensionCollection
* extensionCache =
56
nullptr
)
const
override final;
57
74
75
virtual
ParticleCellAssociation
*
particleCellAssociation
(
76
const
xAOD
::
IParticle
& particle,
77
float
dr,
78
IParticleCaloCellAssociationTool
::
Cache
& cache,
79
const
CaloCellContainer
* container =
nullptr
,
80
const
CaloExtensionCollection
* extensionCache =
81
nullptr
)
const
override final;
82
83
private
:
84
void
getCellIntersections
(
85
const
Trk
::CaloExtension& caloExtension,
86
const
std
::
vector
<
const
CaloCell
*>& cells,
87
ParticleCellAssociation
::CellIntersections& cellIntersections)
const
;
88
89
void
associateCells
(
const
CaloCellContainer
& container,
90
const
Trk
::CaloExtension& caloExtension,
91
float
dr,
92
std
::
vector
<
const
CaloCell
*>& cells)
const
;
93
94
ToolHandle<
Trk
::IParticleCaloExtensionTool>
m_caloExtensionTool
{
95
this
,
96
"ParticleCaloExtensionTool"
,
97
""
98
};
99
100
SG::ReadHandleKey<CaloCellContainer>
m_cellContainerName
{
this
,
101
"CaloCellContainer"
,
102
"AllCalo"
};
103
104
Gaudi::Property<double>
m_coneSize
{
this
,
"ConeSize"
, 0.2 };
105
106
SG::ReadCondHandleKey<CaloDetDescrManager>
m_caloMgrKey
{
this
,
"CaloDetDescrManager"
,
"CaloDetDescrManager"
};
107
108
Trk::CaloCellSelectorLayerdR
m_defaultSelector
;
109
110
PathLengthUtils
m_pathLenUtil
;
111
};
112
113
}
// namespace Rec
114
115
#endif
AthAlgTool.h
CaloCellSelectorLayerdR.h
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
CaloExtensionCollection
DataVector< Trk::CaloExtension > CaloExtensionCollection
Definition
CaloExtensionCollection.h:12
IParticleCaloCellAssociationTool.h
ParticleCellAssociation.h
PathLengthUtils.h
ReadCondHandleKey.h
ReadHandle.h
Handle class for reading from StoreGate.
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
CaloCellContainer
Container class for CaloCell.
Definition
CaloCellContainer.h:55
CaloCell
Data object for each calorimeter readout cell.
Definition
CaloCell.h:57
IParticle
Definition
Event/EventKernel/EventKernel/IParticle.h:43
PathLengthUtils
Definition
PathLengthUtils.h:28
Rec::IParticleCaloCellAssociationTool
Interface for extending Particles with calo cells.
Definition
IParticleCaloCellAssociationTool.h:24
Rec::IParticleCaloCellAssociationTool::Cache
std::unordered_map< size_t, std::unique_ptr< ParticleCellAssociation > > Cache
Method to get the ParticleCellAssociation for a given Particle.
Definition
IParticleCaloCellAssociationTool.h:56
Rec::ParticleCaloCellAssociationTool::m_caloExtensionTool
ToolHandle< Trk::IParticleCaloExtensionTool > m_caloExtensionTool
Definition
ParticleCaloCellAssociationTool.h:94
Rec::ParticleCaloCellAssociationTool::associateCells
void associateCells(const CaloCellContainer &container, const Trk::CaloExtension &caloExtension, float dr, std::vector< const CaloCell * > &cells) const
Definition
ParticleCaloCellAssociationTool.cxx:423
Rec::ParticleCaloCellAssociationTool::ParticleCaloCellAssociationTool
ParticleCaloCellAssociationTool(const std::string &, const std::string &, const IInterface *)
Definition
ParticleCaloCellAssociationTool.cxx:21
Rec::ParticleCaloCellAssociationTool::m_defaultSelector
Trk::CaloCellSelectorLayerdR m_defaultSelector
Definition
ParticleCaloCellAssociationTool.h:108
Rec::ParticleCaloCellAssociationTool::finalize
virtual StatusCode finalize() override final
Definition
ParticleCaloCellAssociationTool.cxx:50
Rec::ParticleCaloCellAssociationTool::initialize
virtual StatusCode initialize() override final
Definition
ParticleCaloCellAssociationTool.cxx:34
Rec::ParticleCaloCellAssociationTool::m_cellContainerName
SG::ReadHandleKey< CaloCellContainer > m_cellContainerName
Definition
ParticleCaloCellAssociationTool.h:100
Rec::ParticleCaloCellAssociationTool::m_coneSize
Gaudi::Property< double > m_coneSize
Definition
ParticleCaloCellAssociationTool.h:104
Rec::ParticleCaloCellAssociationTool::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition
ParticleCaloCellAssociationTool.h:106
Rec::ParticleCaloCellAssociationTool::particleCellAssociation
virtual std::unique_ptr< ParticleCellAssociation > particleCellAssociation(const xAOD::IParticle &particle, float dr, const CaloCellContainer *container=nullptr, const CaloExtensionCollection *extensionCache=nullptr) const override final
Method to get the ParticleCellAssociation for a given Particle.
Definition
ParticleCaloCellAssociationTool.cxx:56
Rec::ParticleCaloCellAssociationTool::~ParticleCaloCellAssociationTool
virtual ~ParticleCaloCellAssociationTool() override
Rec::ParticleCaloCellAssociationTool::getCellIntersections
void getCellIntersections(const Trk::CaloExtension &caloExtension, const std::vector< const CaloCell * > &cells, ParticleCellAssociation::CellIntersections &cellIntersections) const
Definition
ParticleCaloCellAssociationTool.cxx:142
Rec::ParticleCaloCellAssociationTool::m_pathLenUtil
PathLengthUtils m_pathLenUtil
Definition
ParticleCaloCellAssociationTool.h:110
Rec::ParticleCellAssociation
class storing calorimeter cell association with IParticle objects
Definition
ParticleCellAssociation.h:20
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
Trk::CaloCellSelectorLayerdR
Definition
CaloCellSelectorLayerdR.h:26
Trk::CaloExtension
Tracking class to hold the extrapolation through calorimeter Layers Both the caloEntryLayerIntersecti...
Definition
TrkEvent/TrkCaloExtension/TrkCaloExtension/CaloExtension.h:19
Trk::IParticleCaloExtensionTool
Interface for extending Particles with calo intersections.
Definition
IParticleCaloExtensionTool.h:95
unique_ptr
STL class.
vector
Definition
MultiHisto.h:13
const
Rec
namespace for combined reconstruction tools and interfaces
Definition
FakeTrackBuilder.h:10
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
std
STL namespace.
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0