ATLAS Offline Software
Loading...
Searching...
No Matches
TBTrackToCaloAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
6// TrackToCaloAlg.h
7// Header file for class TrackToCaloAlg
9// Top algorithm class for extrapolating tracks to Calo
11
12
13#ifndef TBREC_TBTRACKTOCALOALG_H
14#define TBREC_TBTRACKTOCALOALG_H
15
16// Base class
18#include "GaudiKernel/ToolHandle.h"
19//#include "TrkTrack/Track.h"
20#include "TrkTrack/TrackCollection.h" // typedef
21//#include "Particle/TrackParticleContainer.h"
22//#include "Particle/TrackParticle.h"
23//#include "TrackToCalo/ImpactInCalo.h"
27//class IExtrapolTrackToCaloTool;
28class IExtrapolateToCaloTool;
31class CaloCellList;
32class CaloDepthTool;
33class ImpactInCalo;
34
35namespace Trk {
36 class Track;
37}
38namespace Rec {
39 class TrackParticle;
41}
42
44
62
64
65public:
66
67 // Constructor with parameters:
68 TBTrackToCaloAlg(const std::string &name,ISvcLocator *pSvcLocator);
69
71 // Non-const methods:
73
74 // Basic algorithm methods:
75 virtual StatusCode initialize() override;
76 virtual StatusCode execute() override;
77 virtual StatusCode finalize() override;
78
79 // Loop on Trk::Tracks and create ImpactInCaloCollection
81 ImpactInCalo* GetImpactsInCalo(const Trk::Track* track, bool& got_a_track);
82
83 // Retreive ImpactInCaloCollection and compare to CaloClusters
85 void PrintImpact();
86
87 // List of cells crossed by Trk::Tracks
88 // in sampling_or_module = 0,1,2,3
89 // ( neta and nphi are the total window width, e.g .5x5 )
91 const CaloCell_ID::CaloSample sam,
92 int neta, int nphi);
93 bool PrintCellsCrossed();
94
95
96 // A little check : where is the beam ?
97 void PrintBeamPosition();
98
100 // Private methods:
102private:
106
108 // Private data:
110private:
111 // Tracking variables :
112 std::string m_TrackName;
116 std::string m_trkinput;
117
118 // Calo variables :
120 std::string m_cell_container;
122
123 // Between the 2 :
128
129 // these ones are only here for debugging, not for general use !
131
132 SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey{this,"CaloDetDescrManager", "CaloDetDescrManager"};
133
134};
135
136#endif //TESTLARDETDESCR_TESTTRACKTOCALO_H
137
Definition of CaloDetDescrManager.
CaloPhiRange class declaration.
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
CaloSampling::CaloSample CaloSample
Definition CaloCell_ID.h:53
Implementation of the ICaloDepthTool interface.Given a Track direction, checks if it is in the Calori...
This class defines the phi convention for Calorimeters.
This (clean) interface is implemented in the (rather dirty) ICaloCoordinateTool class,...
The ImpactInCalo collection is created by the TrackToCaloAlg algorithm, which loops on all Tracks of ...
This class takes a given TrkTrack, extrapolates it to the Calo and returns the variables needed to co...
std::string m_cell_container
const Rec::TrackParticleContainer * m_particle
const TrackCollection * m_tracks
CaloPhiRange m_phiRange
std::string m_TrackParticleName
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
TBTrackToCaloAlg(const TBTrackToCaloAlg &)
TBExtrapolTrackToCaloTool * m_toCalo
std::string m_ImpactInCalosOutputName
virtual StatusCode initialize() override
TBTrackToCaloAlg & operator=(const TBTrackToCaloAlg &)
const CaloCell_ID * m_calo_id
virtual StatusCode execute() override
TBTrackToCaloAlg(const std::string &name, ISvcLocator *pSvcLocator)
ImpactInCalo * GetImpactsInCalo(const Trk::Track *track, bool &got_a_track)
std::string m_cluster_container
virtual StatusCode finalize() override
CaloCellList * CellsCrossedByTrack(const Trk::Track *trk, const CaloCell_ID::CaloSample sam, int neta, int nphi)
ICaloCoordinateTool * m_calo_tb_coord
CaloDepthTool * m_calodepth
std::string m_TrackName
Gaudi Tools.
Ensure that the ATLAS eigen extensions are properly loaded.