ATLAS Offline Software
DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h
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  * File: TrackTools.h
7  * Author: Marco van Woerden <mvanwoer@cern.ch>
8  * Description: Track tools.
9  *
10  * Created in February 2013, based on TrackInCaloTools.
11  */
12 
13 #ifndef TrackTools_H
14 #define TrackTools_H
15 #include "ITrackTools.h"
16 
19 
20 #include <memory>
21 
22 class TileID;
24 
25 namespace TileCal {
26 
27 //==========================================================================================================================
28 class TrackTools: public extends<AthAlgTool, ITrackTools> {
29 //==========================================================================================================================
30  public:
31  using base_class::base_class;
32 
33  StatusCode initialize() override final;
34  StatusCode finalize() override final;
35 
36  // METHOD FOR CALOCELL FILTERING
38  const CaloCellContainer* input,
40  double cone,
41  bool includelar) const override;
42 
43  std::vector< double > getXYZEtaPhiInCellSampling(const TRACK* track, const CaloCell *cell) const override;
44  std::vector< double > getXYZEtaPhiInCellSampling(const TRACK* track, CaloSampling::CaloSample sampling) const override;
45  std::unique_ptr<const Trk::TrackParameters> getTrackInCellSampling(const TRACK* track, CaloSampling::CaloSample sampling) const override;
46  std::vector< std::vector<double> > getXYZEtaPhiPerLayer(const TRACK* track) const override;
47  std::vector< std::vector<double> > getXYZEtaPhiPerSampling(const TRACK* track) const override;
48  double getPathInsideCell(const TRACK *track, const CaloCell *cell) const override;
49  double getPath(const CaloCell* cell, const Trk::TrackParameters *entrance, const Trk::TrackParameters *exit) const override;
50  int retrieveIndex(int sampling, float eta) const override;
51 
52 
53  private:
54 
55  Gaudi::Property<bool> m_isCollision{this, "IsCollision", true};
56 
57  ToolHandle <Trk::IParticleCaloExtensionTool> m_caloExtensionTool{this,
58  "ParticleCaloExtensionTool", "Trk::ParticleCaloExtensionTool/ParticleCaloExtensionTool"};
59 
60  const TileID* m_tileID{nullptr};
61  const TileDetDescrManager* m_tileMgr{nullptr};
63 };
64 
65 } // TileCal namespace
66 #endif //TrackTools_H
TileCal::TrackTools::getXYZEtaPhiPerSampling
std::vector< std::vector< double > > getXYZEtaPhiPerSampling(const TRACK *track) const override
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.cxx:171
TileCal::TrackTools::TILE_RAW_SECOND
@ TILE_RAW_SECOND
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:62
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
TileCal::TrackTools::getCellsWithinConeAroundTrack
void getCellsWithinConeAroundTrack(const xAOD::TrackParticle *track, const CaloCellContainer *input, ConstDataVector< CaloCellContainer > *output, double cone, bool includelar) const override
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.cxx:192
TileCal::TrackTools::finalize
StatusCode finalize() override final
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.cxx:45
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
TileCal::TrackTools::TILE_RAW_THIRD
@ TILE_RAW_THIRD
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:62
TileCal::TrackTools::m_tileID
const TileID * m_tileID
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:60
TileCal::TrackTools::m_caloExtensionTool
ToolHandle< Trk::IParticleCaloExtensionTool > m_caloExtensionTool
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:57
TileCal::TrackTools::TILE_RAW_FIRST
@ TILE_RAW_FIRST
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:62
TileCal::TrackTools::getPathInsideCell
double getPathInsideCell(const TRACK *track, const CaloCell *cell) const override
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.cxx:228
TileCal::TrackTools::m_tileMgr
const TileDetDescrManager * m_tileMgr
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:61
TileCal
Definition: DerivationFramework/DerivationFrameworkTileCal/src/ITrackTools.h:71
TileCal::TrackTools::TILE_RAW_FIFTH
@ TILE_RAW_FIFTH
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:62
TileCal::TrackTools
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:28
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
TileDetDescrManager
Definition: TileDetDescrManager.h:33
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileCal::TrackTools::getXYZEtaPhiInCellSampling
std::vector< double > getXYZEtaPhiInCellSampling(const TRACK *track, const CaloCell *cell) const override
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.cxx:122
ITrackTools.h
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
AthAlgTool.h
Trk::ParametersBase
Definition: ParametersBase.h:55
calibdata.exit
exit
Definition: calibdata.py:236
TileCal::TrackTools::retrieveIndex
int retrieveIndex(int sampling, float eta) const override
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.cxx:540
TileCal::TrackTools::getXYZEtaPhiPerLayer
std::vector< std::vector< double > > getXYZEtaPhiPerLayer(const TRACK *track) const override
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.cxx:137
merge.output
output
Definition: merge.py:17
TileCal::TrackTools::getTrackInCellSampling
std::unique_ptr< const Trk::TrackParameters > getTrackInCellSampling(const TRACK *track, CaloSampling::CaloSample sampling) const override
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.cxx:52
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
TileCal::TrackTools::TILE_RAW
TILE_RAW
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:62
IParticleCaloExtensionTool.h
TileCal::TrackTools::initialize
StatusCode initialize() override final
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.cxx:23
TileCal::TrackTools::TILE_RAW_SIXTH
@ TILE_RAW_SIXTH
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:62
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
ConstDataVector< CaloCellContainer >
TileCal::TrackTools::getPath
double getPath(const CaloCell *cell, const Trk::TrackParameters *entrance, const Trk::TrackParameters *exit) const override
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.cxx:316
TileCal::TrackTools::m_isCollision
Gaudi::Property< bool > m_isCollision
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:55
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
TileCal::TrackTools::TILE_RAW_FOURTH
@ TILE_RAW_FOURTH
Definition: DerivationFramework/DerivationFrameworkTileCal/src/TrackTools.h:62