ATLAS Offline Software
MuonTrackSummaryHelperTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONTRACKSUMMARYHELPERTOOL_H
6 #define MUONTRACKSUMMARYHELPERTOOL_H
7 
8 #include <bitset>
9 #include <string>
10 #include <vector>
11 
13 #include "GaudiKernel/ServiceHandle.h"
14 #include "GaudiKernel/ToolHandle.h"
26 
27 namespace Trk {
28  class RIO_OnTrack;
29  class TrackStateOnSurface;
31 } // namespace Trk
32 
33 namespace MuonGM {
34  class MuonDetectorManager;
35 }
36 
37 namespace Muon {
38 
39  class MuonTrackSummaryHelperTool : public extends<AthAlgTool, Trk::IExtendedTrackSummaryHelperTool> {
40  public:
41  MuonTrackSummaryHelperTool(const std::string&, const std::string&, const IInterface*);
42 
43  virtual ~MuonTrackSummaryHelperTool() = default;
44 
45  virtual StatusCode initialize() override;
46 
47  using IExtendedTrackSummaryHelperTool::addDetailedTrackSummary;
48  using IExtendedTrackSummaryHelperTool::analyse;
49  virtual void analyse(const Trk::Track& trk, const Trk::RIO_OnTrack* rot, const Trk::TrackStateOnSurface* tsos,
50  std::vector<int>& information, std::bitset<Trk::numberOfDetectorTypes>& hitPattern) const override final;
51 
52  virtual void analyse(const Trk::Track& trk, const Trk::CompetingRIOsOnTrack* crot, const Trk::TrackStateOnSurface* tsos,
53  std::vector<int>& information, std::bitset<Trk::numberOfDetectorTypes>& hitPattern) const override final;
54 
55  virtual void searchForHoles(const Trk::Track& track, std::vector<int>& information,
56  Trk::ParticleHypothesis hyp) const override final;
57 
58  virtual void addDetailedTrackSummary(const Trk::Track& track, Trk::TrackSummary& summary) const override final;
59 
60  private:
61  const MdtPrepDataCollection* findMdtPrdCollection(const Identifier& chId) const;
63  bool isFirstProjection(const Identifier& id) const;
64  void updateHoleContent(Trk::MuonTrackSummary::ChamberHitSummary& chamberHitSummary) const;
65 
67  static void increment(int& type) ;
68 
69  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
70 
71  /* used to do hits-in-road search for straight tracks */
72  ToolHandle<Trk::IExtrapolator> m_slExtrapolator{this, "StaightLineExtrapolator", "Trk::Extrapolator/MuonStraightLineExtrapolator"};
73 
74  /* used to do hits-in-road search */
75  ToolHandle<Trk::IExtrapolator> m_extrapolator{this, "Extrapolator", "Trk::Extrapolator/AtlasExtrapolator"};
76 
78  Gaudi::Property<bool> m_calculateCloseHits{this, "CalculateCloseHits", false};
79 
81  Gaudi::Property<double> m_roadWidth{this, "RoadWidth", 135., "width used to calculate hits within the road (mm)"};
82 
84  SG::ReadHandleKey<Muon::MdtPrepDataContainer> m_mdtKey{this, "MdtPrepDataContainer", "MDT_DriftCircles", "MDT PRDs"};
85 
86  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey{this, "DetectorManagerKey", "MuonDetectorManager",
87  "Key of input MuonDetectorManager condition data"};
88  };
89 } // namespace Muon
90 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
Muon::MuonTrackSummaryHelperTool::searchForHoles
virtual void searchForHoles(const Trk::Track &track, std::vector< int > &information, Trk::ParticleHypothesis hyp) const override final
Definition: MuonTrackSummaryHelperTool.cxx:110
Muon::MuonTrackSummaryHelperTool::isFirstProjection
bool isFirstProjection(const Identifier &id) const
Definition: MuonTrackSummaryHelperTool.cxx:541
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
Muon::MuonTrackSummaryHelperTool::addDetailedTrackSummary
virtual void addDetailedTrackSummary(const Trk::Track &track, Trk::TrackSummary &summary) const override final
Definition: MuonTrackSummaryHelperTool.cxx:115
MuonTrackSummary.h
Muon::MuonTrackSummaryHelperTool::m_roadWidth
Gaudi::Property< double > m_roadWidth
width road use to associate close hits
Definition: MuonTrackSummaryHelperTool.h:81
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
IExtrapolator.h
Muon::MuonTrackSummaryHelperTool::m_DetectorManagerKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
Definition: MuonTrackSummaryHelperTool.h:86
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
MuonPrepDataContainer.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Trk::MuonTrackSummary::ChamberHitSummary
structure to hold information per chamber in the muon system
Definition: MuonTrackSummary.h:32
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
Muon::MuonTrackSummaryHelperTool::MuonTrackSummaryHelperTool
MuonTrackSummaryHelperTool(const std::string &, const std::string &, const IInterface *)
Definition: MuonTrackSummaryHelperTool.cxx:29
Muon::MuonTrackSummaryHelperTool::analyse
virtual void analyse(const Trk::Track &trk, const Trk::RIO_OnTrack *rot, const Trk::TrackStateOnSurface *tsos, std::vector< int > &information, std::bitset< Trk::numberOfDetectorTypes > &hitPattern) const override final
Definition: MuonTrackSummaryHelperTool.cxx:43
Trk::MeasurementBaseType::CompetingRIOsOnTrack
@ CompetingRIOsOnTrack
Definition: MeasurementBase.h:50
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Muon::MuonTrackSummaryHelperTool::initialize
virtual StatusCode initialize() override
Definition: MuonTrackSummaryHelperTool.cxx:34
AthAlgTool.h
Muon::MuonTrackSummaryHelperTool::m_slExtrapolator
ToolHandle< Trk::IExtrapolator > m_slExtrapolator
Definition: MuonTrackSummaryHelperTool.h:72
Trk::CompetingRIOsOnTrack
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Definition: CompetingRIOsOnTrack.h:64
TrackSummary.h
Trk::ParametersBase
Definition: ParametersBase.h:55
Muon::MuonTrackSummaryHelperTool::increment
static void increment(int &type)
increment the 'type'
Definition: MuonTrackSummaryHelperTool.cxx:103
Muon::MuonPrepDataCollection
Template to hold collections of MuonPrepRawData objects.
Definition: MuonPrepDataCollection.h:46
ParticleHypothesis.h
Muon::MuonTrackSummaryHelperTool::calculateRoadHits
void calculateRoadHits(Trk::MuonTrackSummary::ChamberHitSummary &chamberHitSummary, const Trk::TrackParameters &pars) const
Definition: MuonTrackSummaryHelperTool.cxx:423
Muon::MuonTrackSummaryHelperTool::~MuonTrackSummaryHelperTool
virtual ~MuonTrackSummaryHelperTool()=default
Muon::MuonTrackSummaryHelperTool::findMdtPrdCollection
const MdtPrepDataCollection * findMdtPrdCollection(const Identifier &chId) const
Definition: MuonTrackSummaryHelperTool.cxx:546
IMuonEDMHelperSvc.h
ITrackHoleSearchTool.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
Muon::MuonTrackSummaryHelperTool
Definition: MuonTrackSummaryHelperTool.h:39
Trk::TrackSummary
A summary of the information contained by a track.
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:287
IExtendedTrackSummaryHelperTool.h
Muon::MuonTrackSummaryHelperTool::m_calculateCloseHits
Gaudi::Property< bool > m_calculateCloseHits
allow us to block the calculation of close hits
Definition: MuonTrackSummaryHelperTool.h:78
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
Muon::MuonTrackSummaryHelperTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonTrackSummaryHelperTool.h:69
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
Muon::MuonTrackSummaryHelperTool::m_mdtKey
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_mdtKey
storegate key of MdtPrepDataContainer
Definition: MuonTrackSummaryHelperTool.h:84
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrackingGeometry.h
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Muon::MuonTrackSummaryHelperTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: MuonTrackSummaryHelperTool.h:75
IMuonIdHelperSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >
Muon::MuonTrackSummaryHelperTool::updateHoleContent
void updateHoleContent(Trk::MuonTrackSummary::ChamberHitSummary &chamberHitSummary) const
Definition: MuonTrackSummaryHelperTool.cxx:371
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65