ATLAS Offline Software
MuFastPatternFinder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGL2MUONSA_MUFASTPATTERNFINDER_H
6 #define TRIGL2MUONSA_MUFASTPATTERNFINDER_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "GaudiKernel/ToolHandle.h"
11 
14 #include "MuonRoad.h"
15 #include "MdtData.h"
16 #include "TrackData.h"
18 #include "NswPatternFinder.h"
19 
20 // --------------------------------------------------------------------------------
21 // --------------------------------------------------------------------------------
22 
23 namespace TrigL2MuonSA {
24 
26 {
27  unsigned int ntot{0};
28  unsigned int ntot_all{0};
29  unsigned int ndigi{0};
30  unsigned int ndigi_all{0};
31  double ResSum{0};
32  std::vector<unsigned int> indexes{};
33 };
34 
35 // --------------------------------------------------------------------------------
36 // --------------------------------------------------------------------------------
37 
39 {
40  public:
41 
43 
44  virtual StatusCode initialize() override;
45 
46  private:
47 
48  double calc_residual(double aw,double bw,double x,double y) const;
49  void doMdtCalibration(const EventContext& ctx, TrigL2MuonSA::MdtHitData& mdtHit, double track_phi, double phi0, bool isEndcap) const;
50 
51  public:
52 
53  StatusCode findPatterns(const EventContext& ctx,
54  const TrigL2MuonSA::MuonRoad& muonRoad,
55  TrigL2MuonSA::MdtHits& mdtHits,
56  std::vector<TrigL2MuonSA::TrackPattern>& v_trackPatterns) const;
57 
58  StatusCode findPatterns(const EventContext& ctx,
59  const TrigL2MuonSA::MuonRoad& muonRoad,
60  TrigL2MuonSA::MdtHits& mdtHits,
61  TrigL2MuonSA::StgcHits& stgcHits,
62  TrigL2MuonSA::MmHits& mmHits,
63  std::vector<TrigL2MuonSA::TrackPattern>& v_trackPatterns) const;
64  private:
65  ToolHandle<NswPatternFinder> m_nswPatternFinder {this, "NswPatternFinder", "TrigL2MuonSA::NswPatternFinder"};
66 
67  // MDT calibration service
68  ToolHandle<IMdtCalibrationTool> m_mdtCalibrationTool{this, "CalibrationTool", "MdtCalibrationTool"};
69 
70  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
71 };
72 
73 // --------------------------------------------------------------------------------
74 // --------------------------------------------------------------------------------
75 
76 } // namespace TrigL2MuonSA
77 
78 #endif // MUFASTPATTERNFINDER_H
TrigL2MuonSA::MuFastPatternFinder::doMdtCalibration
void doMdtCalibration(const EventContext &ctx, TrigL2MuonSA::MdtHitData &mdtHit, double track_phi, double phi0, bool isEndcap) const
Definition: MuFastPatternFinder.cxx:20
MuonRoad.h
InDetAccessor::phi0
@ phi0
Definition: InDetAccessor.h:33
IMdtCalibrationTool.h
MdtData.h
TrigL2MuonSA::MdtHits
std::vector< MdtHitData > MdtHits
Definition: MdtData.h:56
TrigL2MuonSA::MdtHitData
Definition: MdtData.h:18
TrigL2MuonSA::MdtLayerHits::indexes
std::vector< unsigned int > indexes
Definition: MuFastPatternFinder.h:32
TrackData.h
x
#define x
GeoPrimitives.h
NswPatternFinder.h
TrigL2MuonSA::MuFastPatternFinder::calc_residual
double calc_residual(double aw, double bw, double x, double y) const
Definition: MuFastPatternFinder.cxx:271
TrigL2MuonSA::MdtLayerHits
Definition: MuFastPatternFinder.h:26
TrigL2MuonSA::MdtLayerHits::ndigi_all
unsigned int ndigi_all
Definition: MuFastPatternFinder.h:30
TrigL2MuonSA::MuonRoad
Definition: MuonRoad.h:20
TrigL2MuonSA::MuFastPatternFinder::m_nswPatternFinder
ToolHandle< NswPatternFinder > m_nswPatternFinder
Definition: MuFastPatternFinder.h:65
TrigL2MuonSA::MuFastPatternFinder
Definition: MuFastPatternFinder.h:39
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
TrigL2MuonSA::MuFastPatternFinder::initialize
virtual StatusCode initialize() override
Definition: MuFastPatternFinder.cxx:10
TrigL2MuonSA::MuFastPatternFinder::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuFastPatternFinder.h:70
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
TrigL2MuonSA::MdtLayerHits::ndigi
unsigned int ndigi
Definition: MuFastPatternFinder.h:29
TrigL2MuonSA::MdtLayerHits::ResSum
double ResSum
Definition: MuFastPatternFinder.h:31
TrigL2MuonSA::MdtLayerHits::ntot
unsigned int ntot
Definition: MuFastPatternFinder.h:27
TrigL2MuonSA::MuFastPatternFinder::findPatterns
StatusCode findPatterns(const EventContext &ctx, const TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtHits &mdtHits, std::vector< TrigL2MuonSA::TrackPattern > &v_trackPatterns) const
Definition: MuFastPatternFinder.cxx:99
TrigL2MuonSA::MmHits
std::vector< MmHitData > MmHits
Definition: MmData.h:47
y
#define y
TrigL2MuonSA::StgcHits
std::vector< StgcHitData > StgcHits
Definition: StgcData.h:49
AthAlgTool
Definition: AthAlgTool.h:26
TrigL2MuonSA::MdtLayerHits::ntot_all
unsigned int ntot_all
Definition: MuFastPatternFinder.h:28
TrigL2MuonSA::MuFastPatternFinder::m_mdtCalibrationTool
ToolHandle< IMdtCalibrationTool > m_mdtCalibrationTool
Definition: MuFastPatternFinder.h:68
IMuonIdHelperSvc.h
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
ServiceHandle< Muon::IMuonIdHelperSvc >