ATLAS Offline Software
Loading...
Searching...
No Matches
FPGATrackSimReportingAlg.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 FPGATRACKSIMREPORTING_FPGATRACKSIMREPORTINGALG
6#define FPGATRACKSIMREPORTING_FPGATRACKSIMREPORTINGALG
7
8
16
24
26
28
29namespace FPGATrackSim {
31 public:
32 FPGATrackSimReportingAlg(const std::string& name, ISvcLocator* pSvcLocator);
33 virtual ~FPGATrackSimReportingAlg() = default;
34
35 virtual StatusCode initialize() override final; //once, before any input is loaded
36 virtual StatusCode execute(const EventContext& ctx) const override final;
37 virtual StatusCode finalize() override final;
38
39 private:
40 mutable std::vector<uint32_t> m_pixelClustersPerFPGATrack ATLAS_THREAD_SAFE, m_stripClustersPerFPGATrack ATLAS_THREAD_SAFE;
41 mutable std::vector<uint32_t> m_pixelClustersPerPrototrack ATLAS_THREAD_SAFE, m_stripClustersPerPrototrack ATLAS_THREAD_SAFE;
42
43 mutable std::map<std::string, std::vector<FPGATrackSimActsEventTracks> > m_allActsTracks ATLAS_THREAD_SAFE;
44 mutable std::map<std::string, std::map<uint32_t,std::vector<uint32_t>> > m_actsTrackStats ATLAS_THREAD_SAFE;
45
46 Gaudi::Property<bool> m_printoutForEveryEvent {this, "perEventReports", false, "A flag to enable per event printout"};
47 Gaudi::Property<bool> m_isDataPrep {this, "isDataPrep", false, "If True, this is for data prep pipeline only"};
48 //_________________________________________________________________________________________________________________________
49 // xAOD Pixel clusters to monitor
51 this, "xAODPixelClusterContainers", {},
52 "input list of xAOD Pixel Cluster Containers, as resulted from FPGATrackSim (hit/road) EDM conversion" };
53
54 // xAOD Strip clusters to monitor
56 this, "xAODStripClusterContainers", {"ITkStripClusters" ,"xAODStripClusters_1stFromFPGACluster", "xAODStripClusters_1stFromFPGAHit"},
57 "input list of xAOD Strip Cluster Containers, as resulted from FPGATrackSim (hit/road) EDM conversion" };
58
59 // xAOD SpacePoints to monitor
61 this, "xAODSpacePointContainersFromFPGA", {"xAODStripSpacePoints_1stFromFPGA","xAODPixelSpacePoints_1stFromFPGA"},
62 "input list of xAOD SpacePoint Containers, as resulted from FPGATrackSim (hit/road) EDM conversion" };
63 // FPGA Cluster collection
64 // To be implemented
65
66 // FPGA Road collection
67 SG::ReadHandleKey <FPGATrackSimRoadCollection> m_FPGARoadsKey{ this, "FPGATrackSimRoads","","FPGATrackSim Roads key" };
68 // FPGA Track collection
69 SG::ReadHandleKey <FPGATrackSimTrackCollection> m_FPGATracksKey{ this, "FPGATrackSimTracks","","FPGATrackSim Tracks key" };
70
71 SG::ReadHandleKeyArray<ActsTrk::ProtoTrackCollection> m_FPGAProtoTrackCollections{this, "FPGATrackSimProtoTracks",{},"FPGATrackSim PrototrackCollection"};
72
73 SG::ReadHandleKeyArray<ActsTrk::TrackContainer> m_ActsTrackCollections{this, "FPGAActsTracks",{},"Acts track collections from (C)KF"};
74
75 SG::ReadHandleKeyArray<ActsTrk::SeedContainer> m_ActsSeedCollections{this, "FPGAActsSeeds",{},"Acts Seeds collections from (C)KF"};
76
77 SG::ReadHandleKeyArray<ActsTrk::BoundTrackParametersContainer> m_ActsSeedParamCollections{this, "FPGAActsSeedsParam",{},"Acts Seeds param collections from (C)KF"};
78
79
80 //_________________________________________________________________________________________________________________________
81 // Tools
82 ToolHandle<FPGATrackSim::ActsTrackInspectionTool> m_ActsInspectionTool {this, "ActsInspectionTool", "FPGATrackSim::ActsTrackInspectionTool/ActsTrackInspectionTool", "Monitoring tool for acts tracks"};
83
84 //_________________________________________________________________________________________________________________________
85 template <class XAOD_CLUSTER>
87 template <class XAOD_CLUSTER>
88 void printxAODClusters(SG::ReadHandle<DataVector< XAOD_CLUSTER >>& clusterContainer) const;
89
92
95
98
101
104
107
110
112
114 };
115
116}
117
118#endif //> !FPGATRACKSIMREPORTING_FPGATRACKSIMREPORTINGALG
FPGATrackSim::ActsTrackInspectionTool::fpgaActsEventTracks FPGATrackSimActsEventTracks
Property holding a SG store/key/clid from which a ReadHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Derived DataVector<T>.
Definition DataVector.h:795
SG::ReadHandleKeyArray< xAOD::StripClusterContainer > m_xAODStripClusterContainerKeys
void processFPGASeeds(SG::ReadHandle< ActsTrk::SeedContainer > &FPGASeeds) const
SG::ReadHandleKeyArray< ActsTrk::BoundTrackParametersContainer > m_ActsSeedParamCollections
SG::ReadHandleKeyArray< ActsTrk::SeedContainer > m_ActsSeedCollections
void printFPGAClusters(SG::ReadHandle< FPGATrackSimClusterCollection > &FPGAClusters) const
virtual StatusCode finalize() override final
FPGATrackSimReportingAlg(const std::string &name, ISvcLocator *pSvcLocator)
void printFPGAPrototracks(SG::ReadHandle< ActsTrk::ProtoTrackCollection > &FPGAPrototracks) const
void printFPGARoads(SG::ReadHandle< FPGATrackSimRoadCollection > &FPGARoads) const
SG::ReadHandleKeyArray< xAOD::SpacePointContainer > m_xAODSpacePointContainerKeys
std::vector< uint32_t > m_pixelClustersPerFPGATrack ATLAS_THREAD_SAFE
void processFPGAClusters(SG::ReadHandle< FPGATrackSimClusterCollection > &FPGAClusters) const
void printxAODClusters(SG::ReadHandle< DataVector< XAOD_CLUSTER > > &clusterContainer) const
SG::ReadHandleKeyArray< ActsTrk::ProtoTrackCollection > m_FPGAProtoTrackCollections
virtual StatusCode initialize() override final
void processFPGARoads(SG::ReadHandle< FPGATrackSimRoadCollection > &FPGARoads) const
SG::ReadHandleKey< FPGATrackSimTrackCollection > m_FPGATracksKey
virtual StatusCode execute(const EventContext &ctx) const override final
ToolHandle< FPGATrackSim::ActsTrackInspectionTool > m_ActsInspectionTool
void processFPGAPrototracks(SG::ReadHandle< ActsTrk::ProtoTrackCollection > &FPGAPrototracks) const
void printFPGASeeds(SG::ReadHandle< ActsTrk::SeedContainer > &FPGASeeds) const
void printFPGATracks(SG::ReadHandle< FPGATrackSimTrackCollection > &FPGATracks) const
void processFPGATracks(SG::ReadHandle< FPGATrackSimTrackCollection > &FPGATracks) const
void processFPGASeedsParam(SG::ReadHandle< ActsTrk::BoundTrackParametersContainer > &FPGASeedsParam) const
void processActsTracks(SG::ReadHandle< ActsTrk::TrackContainer > &ActsTracks) const
SG::ReadHandleKey< FPGATrackSimRoadCollection > m_FPGARoadsKey
void printFPGASeedsParam(SG::ReadHandle< ActsTrk::BoundTrackParametersContainer > &FPGASeedsParam) const
void processxAODClusters(SG::ReadHandle< DataVector< XAOD_CLUSTER > > &clusterContainer) const
SG::ReadHandleKeyArray< ActsTrk::TrackContainer > m_ActsTrackCollections
void printxAODSpacePoints(SG::ReadHandle< DataVector< xAOD::SpacePoint > > &spContainer) const
void processxAODSpacePoints(SG::ReadHandle< DataVector< xAOD::SpacePoint > > &spContainer) const
SG::ReadHandleKeyArray< xAOD::PixelClusterContainer > m_xAODPixelClusterContainerKeys
Support class for PropertyMgr.
Definition Property.h:23
STL class.
=============================================================================
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
STL namespace.
#define private