ATLAS Offline Software
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 
14 #include "GaudiKernel/ToolHandle.h"
16 #include "PathLengthUtils.h"
18 #include "StoreGate/ReadHandle.h"
22 
23 namespace Trk {
24 class IParticleCaloExtensionTool;
25 class CaloExtension;
26 } // namespace Trk
27 
28 class CaloCellContainer;
29 
30 namespace Rec {
31 
33  : virtual public IParticleCaloCellAssociationTool
34  , public AthAlgTool
35 {
36 public:
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;
51  virtual std::unique_ptr<ParticleCellAssociation> particleCellAssociation(
53  float dr,
54  const CaloCellContainer* container = nullptr,
55  const CaloExtensionCollection* extensionCache =
56  nullptr) const override final;
57 
77  float dr,
79  const CaloCellContainer* container = nullptr,
80  const CaloExtensionCollection* extensionCache =
81  nullptr) const override final;
82 
83 private:
85  const Trk::CaloExtension& caloExtension,
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 
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
RunTileCalibRec.cells
cells
Definition: RunTileCalibRec.py:271
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
CaloCellSelectorLayerdR.h
Rec::IParticleCaloCellAssociationTool
Interface for extending Particles with calo cells.
Definition: IParticleCaloCellAssociationTool.h:24
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
python.TurnDataReader.dr
dr
Definition: TurnDataReader.py:112
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
SG::ReadHandleKey< CaloCellContainer >
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
Rec::ParticleCaloCellAssociationTool::m_defaultSelector
Trk::CaloCellSelectorLayerdR m_defaultSelector
Definition: ParticleCaloCellAssociationTool.h:108
PathLengthUtils.h
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_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: ParticleCaloCellAssociationTool.h:106
Rec::ParticleCaloCellAssociationTool
Definition: ParticleCaloCellAssociationTool.h:35
Rec
Name: MuonSpContainer.h Package : offline/Reconstruction/MuonIdentification/muonEvent.
Definition: FakeTrackBuilder.h:10
Rec::ParticleCaloCellAssociationTool::m_coneSize
Gaudi::Property< double > m_coneSize
Definition: ParticleCaloCellAssociationTool.h:104
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
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:424
Rec::ParticleCaloCellAssociationTool::ParticleCaloCellAssociationTool
ParticleCaloCellAssociationTool(const std::string &, const std::string &, const IInterface *)
Definition: ParticleCaloCellAssociationTool.cxx:22
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:57
AthAlgTool.h
IParticleCaloCellAssociationTool.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
ReadCondHandleKey.h
Rec::ParticleCaloCellAssociationTool::finalize
virtual StatusCode finalize() override final
Definition: ParticleCaloCellAssociationTool.cxx:51
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
ParticleCellAssociation.h
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
Rec::ParticleCaloCellAssociationTool::m_pathLenUtil
PathLengthUtils m_pathLenUtil
Definition: ParticleCaloCellAssociationTool.h:110
PathLengthUtils
Definition: PathLengthUtils.h:28
Rec::ParticleCaloCellAssociationTool::getCellIntersections
void getCellIntersections(const Trk::CaloExtension &caloExtension, const std::vector< const CaloCell * > &cells, ParticleCellAssociation::CellIntersections &cellIntersections) const
Definition: ParticleCaloCellAssociationTool.cxx:143
Rec::ParticleCaloCellAssociationTool::~ParticleCaloCellAssociationTool
virtual ~ParticleCaloCellAssociationTool() override
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
SG::ReadCondHandleKey< CaloDetDescrManager >
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
Rec::ParticleCaloCellAssociationTool::initialize
virtual StatusCode initialize() override final
Definition: ParticleCaloCellAssociationTool.cxx:35
Rec::ParticleCaloCellAssociationTool::m_cellContainerName
SG::ReadHandleKey< CaloCellContainer > m_cellContainerName
Definition: ParticleCaloCellAssociationTool.h:100
ReadHandle.h
Handle class for reading from StoreGate.
AthAlgTool
Definition: AthAlgTool.h:26
Rec::ParticleCellAssociation
class storing calorimeter cell association with IParticle objects
Definition: ParticleCellAssociation.h:19
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
Trk::CaloCellSelectorLayerdR
Definition: CaloCellSelectorLayerdR.h:26