ATLAS Offline Software
Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONCOMBINEDEVENT_MUONCANDIDATE_H
6 #define MUONCOMBINEDEVENT_MUONCANDIDATE_H
7 
8 #include <memory>
9 #include <vector>
10 
11 #include "AthLinks/ElementLink.h"
15 
16 namespace Trk {
17  class Track;
18 }
19 namespace Muon {
20  class MuonSegment;
21 }
22 
23 namespace MuonCombined {
24 
25  class MuonCandidate {
26  public:
32 
33  /*Constructor taking two ElementLinks, and the index location of the extrapolated track in the container*/
35  size_t container_idx);
36 
37  /* Update constructor to insert the element link to the extrapolated MSOE xAOD TrackParticle */
38  MuonCandidate(const MuonCandidate& oldCandidate, const ElementLink<xAOD::TrackParticleContainer>& msoeTrackLink);
39 
42 
44  const Trk::Track& muonSpectrometerTrack() const;
45 
48 
50  const Trk::Track* extrapolatedTrack() const;
51 
53  const Trk::Track* primaryTrack() const;
54 
58  size_t extrapolatedElementID() const;
61 
63  std::string toString() const;
64 
66  void setCommissioning(bool b);
68  bool isCommissioning() const;
69 
71  void setSegments(std::vector<const Muon::MuonSegment*>&& segments);
73  const std::vector<const Muon::MuonSegment*>& getSegments() const;
74 
75  private:
82 
85 
87  bool m_isCommissioning{false};
88 
90  std::vector<const Muon::MuonSegment*> m_assoc_segments;
91 
93  size_t m_extContIdx{0};
94  };
95 
96 } // namespace MuonCombined
97 
98 #endif
MuonCombined::MuonCandidate::m_extrapolatedParticleLink
const ElementLink< xAOD::TrackParticleContainer > m_extrapolatedParticleLink
element link to the extrapolated muon track particle
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h:79
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
MuonCombined::MuonCandidate::primaryTrack
const Trk::Track * primaryTrack() const
Returns the extrapolated track otherwise the muonSpectrometer.
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:53
MuonCombined::MuonCandidate::m_muonSpectrometerTrack
const Trk::Track * m_muonSpectrometerTrack
pointer to spectrometer track, not owned
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h:84
MuonCombined::MuonCandidate::m_muonSpectrometerTrackLink
const ElementLink< xAOD::TrackParticleContainer > m_muonSpectrometerTrackLink
element link to spectrometer track
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h:77
MuonCombined::MuonCandidate::m_assoc_segments
std::vector< const Muon::MuonSegment * > m_assoc_segments
Segments associated with the candidate.
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h:90
MuonCombined::MuonCandidate::m_extrapolatedTrackLink
const ElementLink< TrackCollection > m_extrapolatedTrackLink
element link to extrapolated track
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h:81
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
MuonSegmentContainer.h
MuonCombined::MuonCandidate::muonSpectrometerTrackLink
const ElementLink< xAOD::TrackParticleContainer > & muonSpectrometerTrackLink() const
access spectrometer track, always there
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:47
MuonCombined::MuonCandidate::extrapolatedElementID
size_t extrapolatedElementID() const
returns the index of the container where the extrapolated track is located
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:59
MuonCombined::MuonCandidate
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h:25
MuonCombined::MuonCandidate::MuonCandidate
MuonCandidate(const ElementLink< xAOD::TrackParticleContainer > &msTrackLink)
constructor taking an ElementLink to a xAOD::TrackParicle& Users should ensure that the element link ...
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:13
MuonCombined::MuonCandidate::toString
std::string toString() const
print candidate to string
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:33
MuonCombined::MuonCandidate::getSegments
const std::vector< const Muon::MuonSegment * > & getSegments() const
returns the vector of associated muon segments
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:64
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
MuonCombined::MuonCandidate::extrapolatedTrackLink
const ElementLink< TrackCollection > & extrapolatedTrackLink() const
access extrapolated track element link
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:58
TrackParticle.h
MuonCombined::MuonCandidate::extrapolatedTrack
const Trk::Track * extrapolatedTrack() const
access extrapolated track, can be zero if back extrapolation failed
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:50
MuonCombined::MuonCandidate::setSegments
void setSegments(std::vector< const Muon::MuonSegment * > &&segments)
set the vector of associated segments to the candidate
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:63
MuonCombined
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
Definition: IMuonSystemExtensionTool.h:23
MuonCombined::MuonCandidate::~MuonCandidate
~MuonCandidate()
destructor
MuonCombined::MuonCandidate::extrapolatedParticleLink
const ElementLink< xAOD::TrackParticleContainer > & extrapolatedParticleLink() const
access extrapolated track particle element link
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:65
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
MuonCombined::MuonCandidate::muonSpectrometerTrack
const Trk::Track & muonSpectrometerTrack() const
access spectrometer track, always there
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:45
MuonCombined::MuonCandidate::isCommissioning
bool isCommissioning() const
Returns whether the muon belongs to the comissioning chain.
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:61
MuonCombined::MuonCandidate::m_isCommissioning
bool m_isCommissioning
flag whether the track belongs to the comissioning stream
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h:87
MuonCombined::MuonCandidate::m_extContIdx
size_t m_extContIdx
Index of the MSOE track in the output container.
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h:93
TrackParticleContainer.h
MuonCombined::MuonCandidate::setCommissioning
void setCommissioning(bool b)
Sets ths comissioning flag.
Definition: Reconstruction/MuonIdentification/MuonCombinedEvent/src/MuonCandidate.cxx:60