ATLAS Offline Software
MuonCombinedStacoTagTool.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_MUONCOMBINEDSTACOTAGTOOL_H
6 #define MUONCOMBINEDBASETOOLS_MUONCOMBINEDSTACOTAGTOOL_H
7 
8 #include <string>
9 #include <vector>
10 
12 #include "GaudiKernel/ToolHandle.h"
21 
22 namespace MuonCombined {
23  class InDetCandidate;
24  class MuonCandidate;
25  class InDetCandidateToTagMap;
26 
27  class MuonCombinedStacoTagTool : public AthAlgTool, virtual public IMuonCombinedTagTool {
28  public:
29  MuonCombinedStacoTagTool(const std::string& type, const std::string& name, const IInterface* parent);
30  virtual ~MuonCombinedStacoTagTool() = default;
31 
32  virtual StatusCode initialize() override;
33 
35  virtual void combine(const MuonCandidate& muonCandidate, const std::vector<const InDetCandidate*>& indetCandidates,
36  InDetCandidateToTagMap& tagMap, TrackCollection* combTracks, TrackCollection* METracks,
37  const EventContext& ctx) const override;
38 
39  private:
40  std::unique_ptr<Trk::Perigee> theCombIdMu(const Trk::Perigee& indetPerigee, const Trk::Perigee& extrPerigee, double& chi2) const;
41 
42  ToolHandle<Muon::MuonEDMPrinterTool> m_printer{this, "Printer", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"};
43  ToolHandle<MuonCombined::IMuonTrackTagTool> m_tagTool{this, "TagTool", ""}; // tool needs to be set up explicitly
44  ToolHandle<Trk::IExtrapolator> m_extrapolator{this, "Extrapolator", "Trk::Extrapolator/AtlasExtrapolator"};
45  };
46 
47 } // namespace MuonCombined
48 
49 #endif // MUIDCOMBINEDTOOLS_MUIDMUONRECOVERY_H
TrackParameters.h
MuonEDMPrinterTool.h
MuonCombined::MuonCombinedStacoTagTool
Definition: MuonCombinedStacoTagTool.h:27
MuonCombined::InDetCandidateToTagMap
Definition: InDetCandidateToTagMap.h:15
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
IExtrapolator.h
MuonCombined::MuonCombinedStacoTagTool::theCombIdMu
std::unique_ptr< Trk::Perigee > theCombIdMu(const Trk::Perigee &indetPerigee, const Trk::Perigee &extrPerigee, double &chi2) const
Definition: MuonCombinedStacoTagTool.cxx:107
MuonCombined::IMuonCombinedTagTool
interface for tools building combined muons from a MuonCandidate and a set of ID tracks
Definition: IMuonCombinedTagTool.h:23
IMuonCombinedTagTool.h
MuonCombined::MuonCombinedStacoTagTool::m_printer
ToolHandle< Muon::MuonEDMPrinterTool > m_printer
Definition: MuonCombinedStacoTagTool.h:42
MuonCombined::MuonCandidate
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h:25
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonCombined::MuonCombinedStacoTagTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: MuonCombinedStacoTagTool.h:44
AthAlgTool.h
TrackCollection.h
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:522
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DataVector< Trk::Track >
MuonCombined::MuonCombinedStacoTagTool::~MuonCombinedStacoTagTool
virtual ~MuonCombinedStacoTagTool()=default
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
MuonCombined::MuonCombinedStacoTagTool::initialize
virtual StatusCode initialize() override
Definition: MuonCombinedStacoTagTool.cxx:27
IMuonTrackTagTool.h
IParticleCaloExtensionTool.h
MuonCombined::MuonCombinedStacoTagTool::combine
virtual void combine(const MuonCandidate &muonCandidate, const std::vector< const InDetCandidate * > &indetCandidates, InDetCandidateToTagMap &tagMap, TrackCollection *combTracks, TrackCollection *METracks, const EventContext &ctx) const override
IMuonCombinedTagTool interface: build combined muons from a muon and a vector of indet candidates.
Definition: MuonCombinedStacoTagTool.cxx:35
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MuonCombined
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
Definition: IMuonSystemExtensionTool.h:23
AthAlgTool
Definition: AthAlgTool.h:26
MuonCombined::MuonCombinedStacoTagTool::MuonCombinedStacoTagTool
MuonCombinedStacoTagTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: MuonCombinedStacoTagTool.cxx:22
MuonCombined::MuonCombinedStacoTagTool::m_tagTool
ToolHandle< MuonCombined::IMuonTrackTagTool > m_tagTool
Definition: MuonCombinedStacoTagTool.h:43
SegmentCollection.h