ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCombinedTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONCOMBINEDBASETOOLS_MUONCOMBINEDTOOL_H
6#define MUONCOMBINEDBASETOOLS_MUONCOMBINEDTOOL_H
7
10#include "GaudiKernel/ToolHandle.h"
19
21namespace MuonCombined {
22
23 class MuonCombinedTool : public AthAlgTool, virtual public IMuonCombinedTool {
24 public:
25 MuonCombinedTool(const std::string& type, const std::string& name, const IInterface* parent);
26 virtual ~MuonCombinedTool() = default;
27
28 virtual StatusCode initialize() override;
29
30 virtual void combine(const MuonCandidateCollection& muonCandidates, const InDetCandidateCollection& inDetCandidates,
31 std::vector<InDetCandidateToTagMap*> tagMaps, TrackCollection* combinedTracks, TrackCollection* METracks,
32 const EventContext& ctx) const override;
33
34 private:
35 void associate(const MuonCandidate& muonCandidate, const InDetCandidateCollection& inDetCandidates,
36 std::vector<const InDetCandidate*>& associatedIdCandidates) const;
37
38 void fill_debugging(const MuonCandidateCollection& muonCandidates, const InDetCandidateCollection& inDetCandidates) const;
39
41 bool pass_prematching(const MuonCandidate& muonCandidate, const InDetCandidate& idCandidate) const;
42 // helpers, managers, tools
43 PublicToolHandle<Muon::MuonEDMPrinterTool> m_printer{this, "Printer", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"};
44 ToolHandleArray<MuonCombined::IMuonCombinedTagTool> m_muonCombinedTagTools{this, "MuonCombinedTagTools", {}};
45 ToolHandle<MuonCombinedDebuggerTool> m_muonCombDebugger{this, "MuonCombinedDebuggerTool",
46 "MuonCombined::MuonCombinedDebuggerTool/MuonCombinedDebuggerTool"};
47
49 PublicToolHandle<Muon::IMuonAlignmentUncertTool> m_alignUncertTool{this, "AlignmentUncertTool", ""};
50
51 Gaudi::Property<float> m_deltaEtaPreSelection{this, "DeltaEtaPreSelection", 0.5};
52 Gaudi::Property<float> m_deltaPhiPreSelection{this, "DeltaPhiPreSelection", 1};
53 Gaudi::Property<float> m_ptBalance{this, "PtBalancePreSelection", -1.};
54
55 Gaudi::Property<bool> m_runMuonCombinedDebugger{this, "RunMuonCombinedDebugger", false};
56 };
57
58} // namespace MuonCombined
59
60#endif
DataVector< MuonCombined::InDetCandidate > InDetCandidateCollection
This typedef represents a collection of InDetCandidate objects.
DataVector< MuonCombined::MuonCandidate > MuonCandidateCollection
This typedef represents a collection of MuonCandidate objects.
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
Define macros for attributes used to control the static checker.
#define ATLAS_CHECK_FILE_THREAD_SAFETY
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
interface for tools building combined muons from ID and Muon candidates
ToolHandle< MuonCombinedDebuggerTool > m_muonCombDebugger
PublicToolHandle< Muon::MuonEDMPrinterTool > m_printer
Gaudi::Property< bool > m_runMuonCombinedDebugger
virtual StatusCode initialize() override
Gaudi::Property< float > m_ptBalance
Gaudi::Property< float > m_deltaEtaPreSelection
virtual ~MuonCombinedTool()=default
virtual void combine(const MuonCandidateCollection &muonCandidates, const InDetCandidateCollection &inDetCandidates, std::vector< InDetCandidateToTagMap * > tagMaps, TrackCollection *combinedTracks, TrackCollection *METracks, const EventContext &ctx) const override
IMuonCombinedTool interface: build combined muons from ID and MS candidates.
ToolHandleArray< MuonCombined::IMuonCombinedTagTool > m_muonCombinedTagTools
void associate(const MuonCandidate &muonCandidate, const InDetCandidateCollection &inDetCandidates, std::vector< const InDetCandidate * > &associatedIdCandidates) const
bool pass_prematching(const MuonCandidate &muonCandidate, const InDetCandidate &idCandidate) const
Gaudi::Property< float > m_deltaPhiPreSelection
PublicToolHandle< Muon::IMuonAlignmentUncertTool > m_alignUncertTool
Use this tool to retrieve the last and first measurments of the ID and MS, respectively.
MuonCombinedTool(const std::string &type, const std::string &name, const IInterface *parent)
void fill_debugging(const MuonCandidateCollection &muonCandidates, const InDetCandidateCollection &inDetCandidates) const
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...