![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
3 #ifndef FPGATrackSim_LOGICALHITSPROCESSALG_H
4 #define FPGATrackSim_LOGICALHITSPROCESSALG_H
11 #include "GaudiKernel/ToolHandle.h"
74 ToolHandle<IFPGATrackSimInputTool>
m_hitSGInputTool {
this,
"SGInputTool",
"",
"Input tool from SG"};
75 ToolHandle<IFPGATrackSimEventInputHeaderTool>
m_hitInputTool {
this,
"InputTool",
"FPGATrackSimSGToRawHitsTool/FPGATrackSimSGToRawHitsTool",
"Input Tool"};
76 ToolHandle<FPGATrackSimReadRawRandomHitsTool>
m_hitInputTool2 {
this,
"InputTool2",
"FPGATrackSimReadRawRandomHitsTool/FPGATrackSimReadRawRandomHitsTool",
"Potential 2nd input Tool to load data from more than one source"};
77 ToolHandle<FPGATrackSimRawToLogicalHitsTool>
m_hitMapTool {
this,
"RawToLogicalHitsTool",
"FPGATrackSim_RawToLogicalHitsTool/FPGATrackSim_RawToLogicalHitsTool",
"Raw To Logical Tool"};
78 ToolHandle<IFPGATrackSimHitFilteringTool>
m_hitFilteringTool {
this,
"HitFilteringTool",
"FPGATrackSimHitFilteringTool/FPGATrackSimHitFilteringTool",
"Hit Filtering Tool"};
79 ToolHandle<FPGATrackSimClusteringToolI>
m_clusteringTool {
this,
"ClusteringTool",
"FPGATrackSimClusteringTool/FPGATrackSimClusteringTool",
"Hit Clustering Tool"};
80 ToolHandle<FPGATrackSimSpacePointsToolI>
m_spacepointsTool {
this,
"SpacePointTool",
"FPGATrackSimSpacePointsTool/FPGATrackSimSpacePointsTool",
"Space Points Tool"};
81 ToolHandle<IFPGATrackSimRoadFinderTool>
m_roadFinderTool {
this,
"RoadFinder",
"FPGATrackSimPatternMatchTool",
"Road Finder Tool"};
82 ToolHandle<FPGATrackSimLLPRoadFilterTool>
m_LRTRoadFilterTool {
this,
"LRTRoadFilter",
"FPGATrackSimLLPRoadFilterTool/FPGATrackSimLLPRoadFilterTool",
"LRT Road Filter Tool"};
83 ToolHandle<IFPGATrackSimRoadFinderTool>
m_LRTRoadFinderTool {
this,
"LRTRoadFinder",
"FPGATrackSimHoughTransform_d0phi0_Tool/FPGATrackSimHoughTransform_d0phi0_Tool",
"LRT Road Finder Tool"};
84 ToolHandle<IFPGATrackSimRoadFilterTool>
m_roadFilterTool {
this,
"RoadFilter",
"FPGATrackSimEtaPatternFilterTool",
"Road Filter Tool"};
85 ToolHandle<IFPGATrackSimRoadFilterTool>
m_roadFilterTool2 {
this,
"RoadFilter2",
"FPGATrackSimPhiRoadFilterTool",
"Road Filter2 Tool"};
86 ToolHandle<IFPGATrackSimRoadFilterTool>
m_spRoadFilterTool {
this,
"SPRoadFilterTool",
"FPGATrackSimSpacepointRoadFilterTool",
"Spacepoint Road Filter Tool"};
87 ToolHandle<FPGATrackSimNNTrackTool>
m_NNTrackTool {
this,
"NNTrackTool",
"FPGATrackSimNNTrackTool/FPGATrackSimNNTrackTool",
"NN Track Tool"};
88 ToolHandle<FPGATrackSimHoughRootOutputTool>
m_houghRootOutputTool {
this,
"HoughRootOutputTool",
"FPGATrackSimHoughRootOutputTool/FPGATrackSimHoughRootOutputTool",
"Hough ROOT Output Tool"};
89 ToolHandle<FPGATrackSimTrackFitterTool>
m_trackFitterTool_1st {
this,
"TrackFitter_1st",
"FPGATrackSimTrackFitterTool/FPGATrackSimTrackFitterTool_1st",
"1st stage track fit tool"};
90 ToolHandle<FPGATrackSimTrackFitterTool>
m_trackFitterTool_2nd {
this,
"TrackFitter_2nd",
"FPGATrackSimTrackFitterTool/FPGATrackSimTrackFitterTool_2nd",
"2nd stage track fit tool"};
91 ToolHandle<FPGATrackSimOverlapRemovalTool>
m_overlapRemovalTool_1st {
this,
"OverlapRemoval_1st",
"FPGATrackSimOverlapRemovalTool/FPGATrackSimOverlapRemovalTool_1st",
"1st stage overlap removal tool"};
92 ToolHandle<FPGATrackSimOverlapRemovalTool>
m_overlapRemovalTool_2nd {
this,
"OverlapRemoval_2nd",
"FPGATrackSimOverlapRemovalTool/FPGATrackSimOverlapRemovalTool_2nd",
"2nd stage overlap removal tool"};
93 ToolHandle<FPGATrackSimDataFlowTool>
m_dataFlowTool {
this,
"DataFlowTool",
"FPGATrackSimDataFlowTool/FPGATrackSimDataFlowTool",
"Data Flow Tool"};
94 ToolHandle<IFPGATrackSimEventOutputHeaderTool>
m_writeOutputTool {
this,
"OutputTool",
"FPGATrackSimOutputHeaderTool/FPGATrackSimOutputHeaderTool",
"Output tool"};
99 Gaudi::Property<int>
m_firstInputToolN {
this,
"FirstInputToolN", 1,
"number of times to use event from first input tool"};
100 Gaudi::Property<int>
m_secondInputToolN {
this,
"SecondInputToolN", 0,
"number of times to use event from second input tool"};
101 Gaudi::Property<bool>
m_doHitFiltering {
this,
"HitFiltering",
false,
"flag to enable hit/cluster filtering"};
102 Gaudi::Property<bool>
m_clustering {
this,
"Clustering",
false,
"flag to enable the clustering"};
103 Gaudi::Property<bool>
m_doSpacepoints {
this,
"Spacepoints",
false,
"flag to enable the spacepoint formation"};
104 Gaudi::Property<bool>
m_doTracking {
this,
"tracking",
false,
"flag to enable the tracking"};
106 Gaudi::Property<bool>
m_filterRoads {
this,
"FilterRoads",
false,
"enable first road filter"};
107 Gaudi::Property<bool>
m_filterRoads2 {
this,
"FilterRoads2",
false,
"enable second road filter"};
108 Gaudi::Property<bool>
m_runSecondStage {
this,
"RunSecondStage",
false,
"flag to enable running the second stage fitting"};
109 Gaudi::Property<bool>
m_doHoughRootOutput {
this,
"DoHoughRootOutput",
false,
"Dump output from the Hough Transform to flat ntuples"};
110 Gaudi::Property<bool>
m_doNNTrack {
this,
"DoNNTrack",
false,
"Run NN track filtering"};
111 Gaudi::Property<bool>
m_doLRT {
this,
"doLRT",
false,
"Enable Large Radius Tracking"};
112 Gaudi::Property<bool>
m_doLRTHitFiltering {
this,
"LRTHitFiltering",
false,
"flag to enable hit/cluster filtering for LRT"};
113 Gaudi::Property<bool>
m_writeOutputData {
this,
"writeOutputData",
true,
"write the output TTree"};
114 Gaudi::Property<bool>
m_outputHitTxt {
this,
"outputHitTxt",
false,
"write out road hits to text file"};
115 Gaudi::Property<bool>
m_doEvtSel {
this,
"doEvtSel",
true,
"do event selection"};
153 std::vector<FPGATrackSimRoad*> & roads_2nd, std::vector<FPGATrackSimTrack> & tracks_2nd);
156 StatusCode writeOutputData(std::vector<FPGATrackSimRoad*>
const & roads_1st, std::vector<FPGATrackSimTrack>
const & tracks_1st,
157 std::vector<FPGATrackSimRoad*>
const & roads_2nd, std::vector<FPGATrackSimTrack>
const & tracks_2nd,
162 ToolHandle<GenericMonitoringTool>
m_monTool{
this,
"MonTool",
"",
"Monitoring tool"};
176 #endif // FPGATrackSimLOGICALHITSTOALGORITHMS_h
std::vector< FPGATrackSimHit > m_hits_2nd_miss
Gaudi::Property< bool > m_doSpacepoints
Gaudi::Property< bool > m_filterRoads
std::vector< FPGATrackSimCluster > m_clusters_2nd
FPGATrackSimLogicalEventInputHeader * m_logicEventHeader_1st
Gaudi::Property< bool > m_doEvtSel
std::string m_outputHitTxtName
std::vector< FPGATrackSimTrack > m_tracks_1st_guessedcheck
ToolHandle< IFPGATrackSimRoadFinderTool > m_LRTRoadFinderTool
SG::WriteHandleKeyArray< FPGATrackSimClusterCollection > m_FPGAClusterKey
ToolHandle< FPGATrackSimSpacePointsToolI > m_spacepointsTool
Gaudi::Property< bool > m_doMissingHitsChecks
std::string m_description
FPGATrackSimLogicalEventOutputHeader * m_logicEventOutputHeader
SG::WriteHandleKey< FPGATrackSimRoadCollection > m_FPGARoadKey
Gaudi::Property< int > m_secondInputToolN
std::vector< FPGATrackSimTrack > m_tracks_1st_nomiss
std::vector< FPGATrackSimHit > m_hits_1st_miss
SG::WriteHandleKey< FPGATrackSimHitContainer > m_FPGAHitInRoadsKey
StatusCode writeOutputData(std::vector< FPGATrackSimRoad * > const &roads_1st, std::vector< FPGATrackSimTrack > const &tracks_1st, std::vector< FPGATrackSimRoad * > const &roads_2nd, std::vector< FPGATrackSimTrack > const &tracks_2nd, FPGATrackSimDataFlowInfo const *dataFlowInfo)
std::vector< FPGATrackSimCluster > m_spacepoints_1st
std::vector< FPGATrackSimCluster > m_spacepoints_2nd
ToolHandle< FPGATrackSimDataFlowTool > m_dataFlowTool
ToolHandle< FPGATrackSimLLPRoadFilterTool > m_LRTRoadFilterTool
ToolHandle< IFPGATrackSimEventOutputHeaderTool > m_writeOutputTool
Gaudi::Property< bool > m_doTracking
ToolHandle< FPGATrackSimRawToLogicalHitsTool > m_hitMapTool
FPGATrackSimLogicalHitsProcessAlg(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< FPGATrackSimCluster > m_clusters_1st_original
std::vector< FPGATrackSimCluster > m_clusters_1st
ServiceHandle< IFPGATrackSimEventSelectionSvc > m_evtSel
Gaudi::Property< bool > m_writeOutputData
ToolHandle< FPGATrackSimOverlapRemovalTool > m_overlapRemovalTool_1st
SG::WriteHandleKeyArray< FPGATrackSimHitCollection > m_FPGAHitKey
ToolHandle< FPGATrackSimReadRawRandomHitsTool > m_hitInputTool2
SG::WriteHandleKey< FPGATrackSimHitCollection > m_FPGAHitFilteredKey
Gaudi::Property< bool > m_doNNTrack
SG::WriteHandleKey< FPGATrackSimTrackCollection > m_FPGATrackKey
ToolHandle< GenericMonitoringTool > m_monTool
Gaudi::Property< bool > m_doHoughRootOutput
Gaudi::Property< bool > m_doLRTHitFiltering
FPGATrackSimLogicalEventInputHeader * m_logicEventHeader_2nd
Gaudi::Property< bool > m_doHitFiltering
Gaudi::Property< int > m_firstInputToolN
ToolHandle< FPGATrackSimOverlapRemovalTool > m_overlapRemovalTool_2nd
Gaudi::Property< bool > m_runSecondStage
ToolHandle< IFPGATrackSimRoadFilterTool > m_roadFilterTool2
Gaudi::Property< bool > m_outputHitTxt
SG::WriteHandleKeyArray< FPGATrackSimClusterCollection > m_FPGASpacePointsKey
ToolHandle< IFPGATrackSimRoadFinderTool > m_roadFinderTool
FPGATrackSimEventInputHeader m_firstInputHeader
virtual StatusCode execute() override
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::WriteHandleKey< FPGATrackSimHitCollection > m_FPGAHitUnmappedKey
std::vector< FPGATrackSimTrack > m_tracks_2nd_nomiss
ToolHandle< FPGATrackSimClusteringToolI > m_clusteringTool
Header file to be included by clients of the Monitored infrastructure.
Gaudi::Property< bool > m_clustering
Property holding a SG store/key/clid from which a WriteHandle is made.
long m_nTracksChi2OLRFound
StatusCode readInputs(bool &done)
FPGATrackSimEventInputHeader m_eventHeader
ToolHandle< IFPGATrackSimRoadFilterTool > m_spRoadFilterTool
void printHitSubregions(std::vector< FPGATrackSimHit > const &hits)
StatusCode processInputs(SG::WriteHandle< FPGATrackSimHitCollection > &FPGAHitUnmapped_1st, SG::WriteHandle< FPGATrackSimClusterCollection > &FPGAClusters_1st, SG::WriteHandle< FPGATrackSimClusterCollection > &FPGAClustersFiltered_1st, SG::WriteHandle< FPGATrackSimClusterCollection > &FPGASpacePoints_1st)
ToolHandle< IFPGATrackSimHitFilteringTool > m_hitFilteringTool
virtual StatusCode finalize() override
ToolHandle< FPGATrackSimTrackFitterTool > m_trackFitterTool_1st
ToolHandle< IFPGATrackSimInputTool > m_hitSGInputTool
std::vector< FPGATrackSimTrack > m_tracks_2nd_guessedcheck
ToolHandle< IFPGATrackSimRoadFilterTool > m_roadFilterTool
StatusCode secondStageProcessing(std::vector< FPGATrackSimTrack > const &tracks_1st, std::vector< FPGATrackSimRoad * > &roads_2nd, std::vector< FPGATrackSimTrack > &tracks_2nd)
virtual ~FPGATrackSimLogicalHitsProcessAlg()=default
ToolHandle< FPGATrackSimTrackFitterTool > m_trackFitterTool_2nd
std::ofstream m_outputHitTxtStream
Gaudi::Property< bool > m_doLRT
SG::WriteHandleKey< FPGATrackSimClusterCollection > m_FPGAClusterFilteredKey
virtual StatusCode initialize() override
Gaudi::Property< bool > m_filterRoads2
ToolHandle< FPGATrackSimNNTrackTool > m_NNTrackTool
ToolHandle< FPGATrackSimHoughRootOutputTool > m_houghRootOutputTool
ServiceHandle< IFPGATrackSimMappingSvc > m_FPGATrackSimMapping
ToolHandle< IFPGATrackSimEventInputHeaderTool > m_hitInputTool