5#ifndef MOOSEGMENTFINDERS_MUOSEGMENTFINDERALGS_H
6#define MOOSEGMENTFINDERS_MUOSEGMENTFINDERALGS_H
24 using AthReentrantAlgorithm::AthReentrantAlgorithm;
29 virtual StatusCode
execute(
const EventContext& ctx)
const override;
35 "Muon::MuonIdHelperSvc/MuonIdHelperSvc",
38 PublicToolHandle<Muon::MuonEDMPrinterTool>
m_printer{
41 "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool",
45 "MuonPatternCalibration",
46 "Muon::MuonPatternCalibration/MuonPatternCalibration",
51 "Muon::DCMathSegmentMaker/DCMathSegmentMaker",
55 "MuonSegmentOverlapRemovalTool",
56 "Muon::MuonSegmentOverlapRemovalTool/MuonSegmentOverlapRemovalTool",
61 "Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackCreator",
71 "Csc2dSegmentMaker/Csc2dSegmentMaker",
76 "Csc4dSegmentMaker/Csc4dSegmentMaker",
80 "Muon::MuonSegmentSelectionTool/MuonSegmentSelectionTool"};
85 "SegmentCollectionName",
91 "NSWSegmentCollectionName",
92 "TrackMuonNSWSegments",
93 "WriteHandleKey for NSW Segments",
103 "MuonLayerHoughCombisKey",
104 "MuonLayerHoughCombis",
105 "Hough combinations",
118 std::unique_ptr<MuonSegmentCombinationCollection>& csc4dSegmentCombinations)
const;
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< bool > m_runMdtSegments
Run the Mdt segment maker (Switched of the NCB systems)
virtual StatusCode initialize() override
Gaudi::Property< bool > m_doFullFinder
Run segment finding with eta / phi determination.
SG::ReadHandleKey< MuonPatternCombinationCollection > m_patternCollKey
StatusCode createCscSegments(const EventContext &ctx, std::unique_ptr< MuonSegmentCombinationCollection > &csc4dSegmentCombinations) const
Retrieve the raw outputs from the Csc segment makers for the curved combination.
void appendSegmentsFromCombi(const std::unique_ptr< MuonSegmentCombinationCollection > &combi_coll, Trk::SegmentCollection *segments) const
SG::WriteHandleKey< Trk::SegmentCollection > m_segmentCollectionKey
StatusCode createSegmentsWithMDTs(const EventContext &ctx, const Muon::MuonPatternCombination *patt, Trk::SegmentCollection *segs) const
ToolHandle< Muon::IMuonSegmentMaker > m_segmentMaker
Gaudi::Property< bool > m_doMMSegments
ToolHandle< Muon::IMuonPatternCalibration > m_patternCalibration
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< Trk::SegmentCollection > m_segmentNSWCollectionKey
SG::ReadHandleKey< Muon::CscPrepDataContainer > m_cscPrdsKey
Muon::IMuonNSWSegmentFinderTool::SegmentMakingCache NSWSegmentCache
virtual ~MuonSegmentFinderAlg()=default
ToolHandle< Muon::IMuonNSWSegmentFinderTool > m_clusterSegMakerNSW
Gaudi::Property< int > m_segQuality
Apply a preselection on the segments.
PublicToolHandle< Muon::MuonEDMPrinterTool > m_printer
Gaudi::Property< bool > m_printSummary
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
void createNSWSegments(const EventContext &ctx, const Muon::MuonPatternCombination *patt, NSWSegmentCache &cache) const
Gaudi::Property< bool > m_removeUsedNswHits
If switched to true, hits that have been already successfully combined to a segment are removed from ...
ToolHandle< ICscSegmentFinder > m_csc4dSegmentFinder
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_clusterCreator
ToolHandle< Muon::IMuonSegmentOverlapRemovalTool > m_segmentOverlapRemovalTool
ToolHandle< ICscSegmentFinder > m_csc2dSegmentFinder
Gaudi::Property< bool > m_doSTgcSegments
Run the NSW segment maker.
ToolHandle< Muon::IMuonSegmentSelectionTool > m_segmentSelector
The MuonPatternCombination class provides the means to store the output of the initial global pattern...
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
DataVector< Trk::Segment > SegmentCollection