ATLAS Offline Software
FPGAConversionAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef FPGATrkConverter_CONVERSIONALGORITHM_H
6 #define FPGATrkConverter_CONVERSIONALGORITHM_H
7 
9 #include "GaudiKernel/ToolHandle.h"
11 
16 
23 
25 
26 public:
29  FPGAConversionAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
30 
32  virtual ~FPGAConversionAlgorithm() = default;
33 
35  virtual StatusCode initialize() override;
36  virtual StatusCode execute(const EventContext& ctx) const override;
37 
38 protected: // was private
39 
40  ToolHandle<IFPGAClusterConverter> m_ClusterConverter{this, "ClusterConverter", "FPGAClusterConverter", "Converter Hits to InDetCluster"};
41  ToolHandle<IFPGAActsTrkConverter> m_ActsTrkConverter{this, "ActsTrkConverter", "FPGAActsTrkConverter", "Make Acts Trks from converted clusters"};
42 
43  SG::ReadHandleKey<FPGATrackSimClusterCollection> m_FPGAClusterKey{this, "FPGATrackSimClusterKey","FPGAClusters","FPGATrackSim Clusters key"};
44  SG::ReadHandleKey<FPGATrackSimHitCollection> m_FPGAHitKey{this, "FPGATrackSimHitKey","FPGAHits","FPGATrackSim Hits key"};
45  SG::ReadHandleKey<FPGATrackSimRoadCollection> m_FPGARoadKey{this, "FPGATrackSimRoadKey","FPGARoads","FPGATrackSim Roads key"};
46  SG::ReadHandleKey<FPGATrackSimTrackCollection> m_FPGATrackKey{this, "FPGATrackSimTrackKey","FPGATracks","FPGATrackSim Tracks key"};
47  SG::ReadHandleKey<FPGATrackSimHitContainer> m_FPGAHitInRoadsKey{this, "FPGATrackSimHitInRoadsKey","FPGAHitInRoads","FPGATrackSim Hit in Roads key"};
48 
49  SG::WriteHandleKey<xAOD::PixelClusterContainer> m_xAODPixelClusterFromFPGAClusterKey{this, "xAODPixelClusterFromFPGAClusterKey","xAODPixelClustersFromFPGACluster","FPGA->xAOD PixelClusters Container"};
50  SG::WriteHandleKey<xAOD::StripClusterContainer> m_xAODStripClusterFromFPGAClusterKey{this, "xAODStripClusterFromFPGAClusterKey","xAODStripClustersFromFPGACluster","FPGA->xAOD StripClusters Container"};
51  SG::WriteHandleKey<xAOD::PixelClusterContainer> m_xAODPixelClusterFromFPGAHitKey{this, "xAODPixelClusterFromFPGAHitKey","xAODPixelClustersFromFPGAHit","FPGA->xAOD PixelClusters Container"};
52  SG::WriteHandleKey<xAOD::StripClusterContainer> m_xAODStripClusterFromFPGAHitKey{this, "xAODStripClusterFromFPGAHitKey","xAODStripClustersFromFPGAHit","FPGA->xAOD StripClusters Container"};
53  SG::WriteHandleKey<ActsTrk::ProtoTrackCollection> m_ActsProtoTrackFromFPGARoadKey{this, "ActsProtoTrackFromFPGARoadKey","ActsProtoTracksFromFPGARoad","Vector of ActsTrk::ProtoTrack from FPGARoads"};
54  SG::WriteHandleKey<ActsTrk::ProtoTrackCollection> m_ActsProtoTrackFromFPGATrackKey{this, "ActsProtoTrackFromFPGATrackKey","ActsProtoTracksFromFPGATrack","Vector of ActsTrk::ProtoTrack from FPGATracks"};
55 
56  template <typename T>
58 
59  SG::WriteHandleKey<InDet::PixelClusterContainer> m_outputPixelClusterContainerKey {this, "FPGAOutputPixelClustersName", "FPGAInDetPixelClusterContainer", "name of the output FPGA InDet pixel cluster container"};
60  SG::WriteHandleKey<InDet::SCT_ClusterContainer> m_outputStripClusterContainerKey {this, "FPGAOutputStripClustersName", "FPGAInDetStripsClusterContainer", "fname of the output FPGA InDet strip cluster container"};
61 
62  Gaudi::Property<bool> m_doClusters {this, "doClusters", true, "Convert FPGATrackSimCluster"};
63  Gaudi::Property<bool> m_doHits {this, "doHits", true, "Convert FPGATrackSimHit"};
64  Gaudi::Property<bool> m_doActsTrk {this, "doActsTrk", false, "Run Acts ProtoTrack finding"};
65 
66 
67 };
68 
69 
70 
71 #endif
72 
FPGAConversionAlgorithm::m_xAODPixelClusterFromFPGAClusterKey
SG::WriteHandleKey< xAOD::PixelClusterContainer > m_xAODPixelClusterFromFPGAClusterKey
Definition: FPGAConversionAlgorithm.h:49
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
FPGAConversionAlgorithm::m_ActsTrkConverter
ToolHandle< IFPGAActsTrkConverter > m_ActsTrkConverter
Definition: FPGAConversionAlgorithm.h:41
FPGATrackSimHitCollection.h
FPGAConversionAlgorithm::convertCollectionToContainer
StatusCode convertCollectionToContainer(Trk::PrepRawDataCollection< T > *inputCollection, SG::WriteHandleKey< Trk::PrepRawDataContainer< Trk::PrepRawDataCollection< T >>> &outputContainerKey)
Definition: FPGAConversionAlgorithm.cxx:153
FPGAConversionAlgorithm::m_xAODPixelClusterFromFPGAHitKey
SG::WriteHandleKey< xAOD::PixelClusterContainer > m_xAODPixelClusterFromFPGAHitKey
Definition: FPGAConversionAlgorithm.h:51
FPGAConversionAlgorithm::m_ActsProtoTrackFromFPGATrackKey
SG::WriteHandleKey< ActsTrk::ProtoTrackCollection > m_ActsProtoTrackFromFPGATrackKey
Definition: FPGAConversionAlgorithm.h:54
Trk::PrepRawDataCollection
Definition: PrepRawDataCollection.h:36
FPGAConversionAlgorithm::m_outputStripClusterContainerKey
SG::WriteHandleKey< InDet::SCT_ClusterContainer > m_outputStripClusterContainerKey
Definition: FPGAConversionAlgorithm.h:60
SG::ReadHandleKey< FPGATrackSimClusterCollection >
FPGAConversionAlgorithm::m_FPGAHitInRoadsKey
SG::ReadHandleKey< FPGATrackSimHitContainer > m_FPGAHitInRoadsKey
Definition: FPGAConversionAlgorithm.h:47
FPGATrackSimRoadCollection.h
FPGAConversionAlgorithm::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: FPGAConversionAlgorithm.cxx:33
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
PhysDESDM_SmpCaloId.inputCollection
inputCollection
Definition: PhysDESDM_SmpCaloId.py:95
FPGAConversionAlgorithm::m_FPGATrackKey
SG::ReadHandleKey< FPGATrackSimTrackCollection > m_FPGATrackKey
Definition: FPGAConversionAlgorithm.h:46
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
FPGATrackSimTrackCollection.h
FPGAConversionAlgorithm
Definition: FPGAConversionAlgorithm.h:24
FPGAActsTrkConverter.h
FPGATrackSimClusterCollection.h
FPGAConversionAlgorithm::m_FPGAHitKey
SG::ReadHandleKey< FPGATrackSimHitCollection > m_FPGAHitKey
Definition: FPGAConversionAlgorithm.h:44
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FPGAConversionAlgorithm::~FPGAConversionAlgorithm
virtual ~FPGAConversionAlgorithm()=default
Destructor:
FPGAConversionAlgorithm::m_FPGARoadKey
SG::ReadHandleKey< FPGATrackSimRoadCollection > m_FPGARoadKey
Definition: FPGAConversionAlgorithm.h:45
FPGAConversionAlgorithm::m_ActsProtoTrackFromFPGARoadKey
SG::WriteHandleKey< ActsTrk::ProtoTrackCollection > m_ActsProtoTrackFromFPGARoadKey
Definition: FPGAConversionAlgorithm.h:53
FPGAConversionAlgorithm::m_outputPixelClusterContainerKey
SG::WriteHandleKey< InDet::PixelClusterContainer > m_outputPixelClusterContainerKey
Definition: FPGAConversionAlgorithm.h:59
FPGAConversionAlgorithm::m_doClusters
Gaudi::Property< bool > m_doClusters
Definition: FPGAConversionAlgorithm.h:62
ProtoTrackCollection.h
AthReentrantAlgorithm.h
FPGAConversionAlgorithm::m_ClusterConverter
ToolHandle< IFPGAClusterConverter > m_ClusterConverter
Definition: FPGAConversionAlgorithm.h:40
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
PixelClusterContainer.h
FPGAConversionAlgorithm::m_FPGAClusterKey
SG::ReadHandleKey< FPGATrackSimClusterCollection > m_FPGAClusterKey
Definition: FPGAConversionAlgorithm.h:43
FPGATrackSimHitContainer.h
Trk::PrepRawDataContainer
Definition: PrepRawDataContainer.h:26
FPGAConversionAlgorithm::m_xAODStripClusterFromFPGAHitKey
SG::WriteHandleKey< xAOD::StripClusterContainer > m_xAODStripClusterFromFPGAHitKey
Definition: FPGAConversionAlgorithm.h:52
FPGAConversionAlgorithm::m_doHits
Gaudi::Property< bool > m_doHits
Definition: FPGAConversionAlgorithm.h:63
SCT_ClusterContainer.h
FPGAConversionAlgorithm::FPGAConversionAlgorithm
FPGAConversionAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition: FPGAConversionAlgorithm.cxx:7
FPGAConversionAlgorithm::initialize
virtual StatusCode initialize() override
Athena algorithm's Hooks.
Definition: FPGAConversionAlgorithm.cxx:10
FPGAConversionAlgorithm::m_xAODStripClusterFromFPGAClusterKey
SG::WriteHandleKey< xAOD::StripClusterContainer > m_xAODStripClusterFromFPGAClusterKey
Definition: FPGAConversionAlgorithm.h:50
FPGAClusterConverter.h
FPGAConversionAlgorithm::m_doActsTrk
Gaudi::Property< bool > m_doActsTrk
Definition: FPGAConversionAlgorithm.h:64