|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MUONCOMBINEDALGS_MUONINDETSYSTEMEXTENSIONALG_H
6 #define MUONCOMBINEDALGS_MUONINDETSYSTEMEXTENSIONALG_H
12 #include "GaudiKernel/ToolHandle.h"
52 "HoughDataPerSectorVec key"};
55 "name of muon segment container"};
57 PublicToolHandle<Muon::IMuonSegmentSelectionTool>
m_segmentSelector{
this,
"MuonSegmentSelectionTool",
58 "Muon::MuonSegmentSelectionTool/MuonSegmentSelectionTool"};
61 ToolHandle<Muon::IMuonSystemExtensionTool>
m_muonSystemExtensionTool{
this,
"MuonSystemExtensionTool",
"",
"Muon system extension tool"};
68 "Handle to the service providing the IMuonEDMHelperSvc interface"};
93 std::map<Muon::MuonStationIndex::DetectorRegionIndex, std::set<int>>
hit_sectors;
109 Gaudi::Property<int>
m_houghMin{
this,
"minHoughHits", 4,
"Minimum number of hits required for a hough maximum to be accepted"};
111 Gaudi::Property<int>
m_segmentQuality{
this,
"segQuality", 1,
"Quality cut on the segment."};
113 Gaudi::Property<bool>
m_excludeNSW{
this,
"noNSWforSeeding",
false,
"Ignore hits/segments from the NSW"};
136 StatusCode create(
const EventContext& ctx, InDetCandidateCache& cache)
const;
Property holding a SG store/key/clid from which a ReadHandle is made.
ToolHandle< Muon::IMuonSystemExtensionTool > m_muonSystemExtensionTool
The system extension tool extrapolates the candidate through the spectrometer.
std::map< unsigned int, std::set< Identifier > > consumed_hits
Map of hits that were successfully combined to a muon segment Key is the hash made out of region & la...
Gaudi::Property< float > m_extThreshold
Minimum pt threshold of the IdCandidate to be extrapolated through the spectrometer.
std::unique_ptr< InDetCandidateCollection > outputContainer
Output container for the StoreGate.
SG::ReadHandleKey< MuonCombined::InDetCandidateToTagMap > m_combTagMap
That is the collection of MuidCo candidates.
PublicToolHandle< Muon::IMuonSegmentSelectionTool > m_segmentSelector
Gaudi::Property< bool > m_extendBulk
Shall ordinary ID tracks be equiped with a muon system extension used by MuGirl later.
std::vector< MuidCoCache > MuidCoVector
Gaudi::Property< int > m_houghMin
The hough maxima always contain at least 2 hits.
SG::WriteHandleKey< InDetCandidateCollection > m_bulkInDetCandKey
Collection of InDet candidates written for MuGirl and MuonSegmentTag.
MuidCoCache(const MuonCombined::InDetCandidate *_id, const MuonCombined::CombinedFitTag *_cb)
std::set< const Muon::MuonSegment * > combined_segs
List of segments that were successfully combined to a muon.
MuidCoVector tag_map
Combined fit tag map.
const Muon::MuonSectorMapping m_sector_mapping
const InDetCandidateCollection * input_candidates
Collection of the InDet candidates to consider.
void maskHits(const Muon::MuonSegment *muon_seg, InDetCandidateCache &output_cache) const
Mask the hits of the corresponding muon segment as used.
Property holding a SG store/key/clid from which a ReadHandle is made.
StatusCode execute(const EventContext &ctx) const override
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< int > m_segmentQuality
The MuonInDetToMuonSystemExtensionAlg processes further the InDetCandidates created by the MuonCombin...
const MuonCombined::InDetCandidate * id_trk
~MuonInDetToMuonSystemExtensionAlg()=default
SG::WriteHandleKey< InDetCandidateCollection > m_stauInDetCandKey
Collection of InDet candidates written for MuGirlStau.
Property holding a SG store/key/clid from which a WriteHandle is made.
Gaudi::Property< bool > m_restrictExtension
Restrict the extrapolation of ID tracks to sectors in the MS where at least a hit is recorded.
@ OWN_ELEMENTS
this data object owns its elements
ServiceHandle< Muon::IMuonEDMHelperSvc > m_edmHelperSvc
StatusCode createStaus(const EventContext &ctx, const InDetCandidateCollection *ext_candidates, const MuidCoVector &tag_map) const
StatusCode findSegments(const EventContext &ctx, InDetCandidateCache &output_cache) const
Select good segments.
::StatusCode StatusCode
StatusCode definition for legacy code.
MuonInDetToMuonSystemExtensionAlg(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode selectCandidates(const EventContext &ctx, InDetCandidateCache &cache) const
Select the MuidCo candidates and put the associated id tracks on a black list.
TagBase implementation for a combined fit.
std::set< const MuonCombined::InDetCandidate * > excluded_trks
Inner detector tracks to exclude.
bool hasMatchingSeed(const MuonCombined::InDetCandidate &id_cand, const InDetCandidateCache &cache) const
Searches for hough seeds within theta < 0.2 && sharing the same sector.
std::vector< const Muon::MuonSegment * > candidate_segments
Muon segments that could be potentially used for MuGirl / MuTagIMO.
bool hasMatchingSegment(const MuonCombined::InDetCandidate &id_cand, const InDetCandidateCache &cache) const
Searches for segments within theta < 0.2 && sharing the same sector.
Property holding a SG store/key/clid from which a WriteHandle is made.
const MuonCombined::CombinedFitTag * cmb_trk
StatusCode findHitSectors(const EventContext &ctx, InDetCandidateCache &output_cache) const
Find the sectors in the MS with muon signals.
Gaudi::Property< bool > m_excludeNSW
Prelimnary studies have shown that the NSWs generate a massive amount of fake candidates.
Helper struct to cache the MuidCo track and it's associated segments while keeping the association In...
Gaudi::Property< bool > m_extendSAF
Shall SAF tracks be equiped with a muon system extension used by MuGirl later.
SG::ReadHandleKey< Muon::HoughDataPerSectorVec > m_houghDataPerSectorVecKey
Use the hough data to find sectors in the speectrometer traversed by a muon.
StatusCode create(const EventContext &ctx, InDetCandidateCache &cache) const
Create the InDetCandidaes with system extensions.
std::map< Muon::MuonStationIndex::DetectorRegionIndex, std::set< int > > hit_sectors
Hit sector map.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
StatusCode initialize() override
SG::ReadHandleKey< Trk::SegmentCollection > m_segmentKey
Let's exploit the segments to get rid of as much tracks as possible.
SG::ReadHandleKey< InDetCandidateCollection > m_inputCandidate
std::map< int, std::vector< double > > eta_seeds