|
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"
80 ToolHandle<FPGATrackSimRoadUnionTool>
m_roadFinderTool {
this,
"RoadFinder",
"FPGATrackSimPatternMatchTool",
"Road Finder Tool"};
81 ToolHandle<FPGATrackSimLLPRoadFilterTool>
m_LRTRoadFilterTool {
this,
"LRTRoadFilter",
"FPGATrackSimLLPRoadFilterTool/FPGATrackSimLLPRoadFilterTool",
"LRT Road Filter Tool"};
82 ToolHandle<IFPGATrackSimRoadFinderTool>
m_LRTRoadFinderTool {
this,
"LRTRoadFinder",
"FPGATrackSimHoughTransform_d0phi0_Tool/FPGATrackSimHoughTransform_d0phi0_Tool",
"LRT Road Finder Tool"};
83 ToolHandle<IFPGATrackSimRoadFilterTool>
m_roadFilterTool {
this,
"RoadFilter",
"FPGATrackSimEtaPatternFilterTool",
"Road Filter Tool"};
84 ToolHandle<IFPGATrackSimRoadFilterTool>
m_roadFilterTool2 {
this,
"RoadFilter2",
"FPGATrackSimPhiRoadFilterTool",
"Road Filter2 Tool"};
85 ToolHandle<IFPGATrackSimRoadFilterTool>
m_spRoadFilterTool {
this,
"SPRoadFilterTool",
"FPGATrackSimSpacepointRoadFilterTool",
"Spacepoint Road Filter Tool"};
86 ToolHandle<FPGATrackSimNNTrackTool>
m_NNTrackTool {
this,
"NNTrackTool",
"FPGATrackSimNNTrackTool/FPGATrackSimNNTrackTool",
"NN Track Tool"};
87 ToolHandle<FPGATrackSimHoughRootOutputTool>
m_houghRootOutputTool {
this,
"HoughRootOutputTool",
"FPGATrackSimHoughRootOutputTool/FPGATrackSimHoughRootOutputTool",
"Hough ROOT Output Tool"};
88 ToolHandle<FPGATrackSimTrackFitterTool>
m_trackFitterTool_1st {
this,
"TrackFitter_1st",
"FPGATrackSimTrackFitterTool/FPGATrackSimTrackFitterTool_1st",
"1st stage track fit tool"};
89 ToolHandle<FPGATrackSimOverlapRemovalTool>
m_overlapRemovalTool_1st {
this,
"OverlapRemoval_1st",
"FPGATrackSimOverlapRemovalTool/FPGATrackSimOverlapRemovalTool_1st",
"1st stage overlap removal tool"};
90 ToolHandle<FPGATrackSimOutputHeaderTool>
m_writeOutputTool {
this,
"OutputTool",
"FPGATrackSimOutputHeaderTool/FPGATrackSimOutputHeaderTool",
"Output tool"};
95 Gaudi::Property<bool>
m_doSpacepoints {
this,
"Spacepoints",
false,
"flag to enable the spacepoint formation"};
96 Gaudi::Property<bool>
m_doTracking {
this,
"tracking",
false,
"flag to enable the tracking"};
97 Gaudi::Property<bool>
m_doOverlapRemoval {
this,
"doOverlapRemoval", true ,
"flag to enable the overlap removal"};
99 Gaudi::Property<bool>
m_filterRoads {
this,
"FilterRoads",
false,
"enable first road filter"};
100 Gaudi::Property<bool>
m_filterRoads2 {
this,
"FilterRoads2",
false,
"enable second road filter"};
101 Gaudi::Property<bool>
m_doHoughRootOutput {
this,
"DoHoughRootOutput",
false,
"Dump output from the Hough Transform to flat ntuples"};
102 Gaudi::Property<bool>
m_doNNTrack {
this,
"DoNNTrack",
false,
"Run NN track filtering"};
103 Gaudi::Property<bool>
m_doLRT {
this,
"doLRT",
false,
"Enable Large Radius Tracking"};
104 Gaudi::Property<bool>
m_doLRTHitFiltering {
this,
"LRTHitFiltering",
false,
"flag to enable hit/cluster filtering for LRT"};
105 Gaudi::Property<bool>
m_writeOutputData {
this,
"writeOutputData",
true,
"write the output TTree"};
106 Gaudi::Property<bool>
m_runOnRDO {
this,
"runOnRDO",
false,
"case when runnin on RDO file (and not or wrapper)"};
107 Gaudi::Property<float>
m_trackScoreCut {
this,
"TrackScoreCut", 25.0,
"Minimum track score (e.g. chi2 or NN)." };
108 Gaudi::Property<bool>
m_writeOutNonSPStripHits {
this,
"writeOutNonSPStripHits",
true,
"Write tracks to RootOutput if they have strip hits which are not SPs"};
109 Gaudi::Property <int>
m_NumOfHitPerGrouping {
this,
"NumOfHitPerGrouping", 5,
"Number of minimum overlapping hits for a track candidate to be removed in the HoughRootOutputTool"};
113 Gaudi::Property<std::string>
m_sliceBranch {
this,
"SliceBranchName",
"LogicalEventSlicedHeader",
"Name of the branch for slied hits in output ROOT file." };
114 Gaudi::Property<std::string>
m_outputBranch {
this,
"outputBranchName",
"LogicalEventOutputHeader",
"Name of the branch for output data in output ROOT file." };
137 StatusCode writeOutputData(
const std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads_1st, std::vector<FPGATrackSimTrack>
const & tracks_1st,
142 ToolHandle<GenericMonitoringTool>
m_monTool{
this,
"MonTool",
"",
"Monitoring tool"};
159 #endif // FPGATrackSimLOGICALHITSTOALGORITHMS_h
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi::Property< bool > m_doSpacepoints
Gaudi::Property< bool > m_filterRoads
std::vector< FPGATrackSimTrack > m_tracks_1st_guessedcheck
ToolHandle< FPGATrackSimOutputHeaderTool > m_writeOutputTool
ToolHandle< IFPGATrackSimRoadFinderTool > m_LRTRoadFinderTool
Gaudi::Property< bool > m_doMissingHitsChecks
std::string m_description
FPGATrackSimLogicalEventOutputHeader * m_logicEventOutputHeader
SG::WriteHandleKey< FPGATrackSimRoadCollection > m_FPGARoadKey
FPGATrackSimLogicalEventInputHeader * m_slicedHitHeader
std::vector< FPGATrackSimTrack > m_tracks_1st_nomiss
SG::WriteHandleKey< FPGATrackSimHitContainer > m_FPGAHitInRoadsKey
ToolHandle< FPGATrackSimLLPRoadFilterTool > m_LRTRoadFilterTool
Gaudi::Property< bool > m_doTracking
Gaudi::Property< bool > m_writeOutNonSPStripHits
FPGATrackSimLogicalHitsProcessAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< FPGATrackSimTruthTrackCollection > m_FPGATruthTrackKey
ServiceHandle< IFPGATrackSimEventSelectionSvc > m_evtSel
Gaudi::Property< bool > m_writeOutputData
ToolHandle< FPGATrackSimOverlapRemovalTool > m_overlapRemovalTool_1st
SG::WriteHandleKey< FPGATrackSimHitCollection > m_FPGAHitFilteredKey
SG::ReadHandleKey< FPGATrackSimOfflineTrackCollection > m_FPGAOfflineTrackKey
Gaudi::Property< bool > m_doNNTrack
SG::WriteHandleKey< FPGATrackSimTrackCollection > m_FPGATrackKey
ToolHandle< GenericMonitoringTool > m_monTool
Gaudi::Property< bool > m_runOnRDO
Gaudi::Property< bool > m_doHoughRootOutput
Gaudi::Property< float > m_trackScoreCut
Gaudi::Property< bool > m_doLRTHitFiltering
ToolHandle< IFPGATrackSimRoadFilterTool > m_roadFilterTool2
ToolHandle< FPGATrackSimRoadUnionTool > m_roadFinderTool
virtual StatusCode execute() override
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< bool > m_doOverlapRemoval
std::vector< FPGATrackSimTrack > m_tracks_2nd_nomiss
StatusCode writeOutputData(const std::vector< std::shared_ptr< const FPGATrackSimRoad >> &roads_1st, std::vector< FPGATrackSimTrack > const &tracks_1st, FPGATrackSimDataFlowInfo const *dataFlowInfo)
Gaudi::Property< std::string > m_sliceBranch
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a WriteHandle is made.
long m_nTracksChi2OLRFound
ToolHandle< IFPGATrackSimRoadFilterTool > m_spRoadFilterTool
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_inputTruthParticleContainerKey
void printHitSubregions(std::vector< FPGATrackSimHit > const &hits)
virtual StatusCode finalize() override
ToolHandle< FPGATrackSimTrackFitterTool > m_trackFitterTool_1st
std::vector< FPGATrackSimTrack > m_tracks_2nd_guessedcheck
ToolHandle< IFPGATrackSimRoadFilterTool > m_roadFilterTool
virtual ~FPGATrackSimLogicalHitsProcessAlg()=default
Gaudi::Property< bool > m_doLRT
virtual StatusCode initialize() override
Gaudi::Property< bool > m_filterRoads2
Gaudi::Property< int > m_NumOfHitPerGrouping
Gaudi::Property< std::string > m_outputBranch
SG::ReadHandleKeyArray< FPGATrackSimHitCollection > m_FPGAHitKey
ToolHandle< FPGATrackSimNNTrackTool > m_NNTrackTool
ToolHandle< FPGATrackSimHoughRootOutputTool > m_houghRootOutputTool
ServiceHandle< IFPGATrackSimMappingSvc > m_FPGATrackSimMapping