ATLAS Offline Software
Loading...
Searching...
No Matches
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
7begin : Summer 2014
8authors : Niels van Eldik (CERN PH-ATC),Christos (MT)
9 ***************************************************************************/
10#ifndef TRKPARTICLECREATOR_PARTICLECALOCELLASSOCIATION_H
11#define TRKPARTICLECREATOR_PARTICLECALOCELLASSOCIATION_H
12
14#include "GaudiKernel/ToolHandle.h"
16#include "PathLengthUtils.h"
22
23namespace Trk {
25class CaloExtension;
26} // namespace Trk
27
29
30namespace Rec {
31
34 , public AthAlgTool
35{
36public:
37 ParticleCaloCellAssociationTool(const std::string&,
38 const std::string&,
39 const IInterface*);
40
42
43 virtual StatusCode initialize() override final;
44 virtual StatusCode finalize() override final;
52 const xAOD::IParticle& particle,
53 float dr,
55 const CaloExtensionCollection* extensionCache =
56 nullptr) const override final;
57
74
76 const xAOD::IParticle& particle,
77 float dr,
80 const CaloExtensionCollection* extensionCache =
81 nullptr) const override final;
82
85 const Trk::CaloExtension& caloExtension,
86 const std::vector<const CaloCell*>& cells,
87 ParticleCellAssociation::CellIntersections& cellIntersections) const;
88
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
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
109
111};
112
113} // namespace Rec
114
115#endif
Definition of CaloDetDescrManager.
DataVector< Trk::CaloExtension > CaloExtensionCollection
Handle class for reading from StoreGate.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Container class for CaloCell.
Data object for each calorimeter readout cell.
Definition CaloCell.h:57
Interface for extending Particles with calo cells.
std::unordered_map< size_t, std::unique_ptr< ParticleCellAssociation > > Cache
Method to get the ParticleCellAssociation for a given Particle.
ToolHandle< Trk::IParticleCaloExtensionTool > m_caloExtensionTool
void associateCells(const CaloCellContainer &container, const Trk::CaloExtension &caloExtension, float dr, std::vector< const CaloCell * > &cells) const
ParticleCaloCellAssociationTool(const std::string &, const std::string &, const IInterface *)
SG::ReadHandleKey< CaloCellContainer > m_cellContainerName
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
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.
virtual ~ParticleCaloCellAssociationTool() override
void getCellIntersections(const Trk::CaloExtension &caloExtension, const std::vector< const CaloCell * > &cells, ParticleCellAssociation::CellIntersections &cellIntersections) const
class storing calorimeter cell association with IParticle objects
Property holding a SG store/key/clid from which a ReadHandle is made.
Tracking class to hold the extrapolation through calorimeter Layers Both the caloEntryLayerIntersecti...
Interface for extending Particles with calo intersections.
STL class.
Gaudi Tools.
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
#define private