ATLAS Offline Software
SimpleMMClusterBuilderTool.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 SimpleMMClusterBuilderTool_h
6 #define SimpleMMClusterBuilderTool_h
7 
14 //
15 // Simple clusterization tool for MicroMegas
16 //
17 namespace Muon {
18 
20  public:
21  SimpleMMClusterBuilderTool(const std::string&, const std::string&, const IInterface*);
22  virtual ~SimpleMMClusterBuilderTool() = default;
23 
24  StatusCode initialize() override;
25 
26  StatusCode getClusters(const EventContext& ctx,
27  std::vector<Muon::MMPrepData>&& stripsVect,
28  std::vector<std::unique_ptr<Muon::MMPrepData>>& clustersVect) const override;
29 
30 
31 
32  RIO_Author getCalibratedClusterPosition(const EventContext& ctx,
33  const std::vector<NSWCalib::CalibratedStrip>& calibratedStrips,
34  const Amg::Vector3D& directionEstimate,
35  Amg::Vector2D& clusterLocalPosition,
36  Amg::MatrixX& covMatrix) const override;
37 
38  private:
39  StatusCode getClusterPosition(const EventContext& ctx,
40  const Identifier& clustId,
41  std::vector<Muon::MMPrepData>& stripsVect,
42  Amg::Vector2D& clusterLocalPosition,
43  Amg::MatrixX& covMatrix) const;
44 
45 
47  "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
48 
49  SG::ReadCondHandleKey<NswErrorCalibData> m_uncertCalibKey{this, "ErrorCalibKey", "NswUncertData",
50  "Key of the parametrized NSW uncertainties"};
51 
52 
53  Gaudi::Property<bool> m_writeStripProperties{this, "writeStripProperties", true};
54  Gaudi::Property<uint> m_maxHoleSize{this, "maxHoleSize", 1};
55  Gaudi::Property<unsigned int> m_maxClusSize{this, "maxClusSize", 50};
56  };
57 
58 } // namespace Muon
59 #endif
Muon::SimpleMMClusterBuilderTool::initialize
StatusCode initialize() override
Definition: SimpleMMClusterBuilderTool.cxx:21
Muon::SimpleMMClusterBuilderTool
Definition: SimpleMMClusterBuilderTool.h:19
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
Muon::SimpleMMClusterBuilderTool::m_uncertCalibKey
SG::ReadCondHandleKey< NswErrorCalibData > m_uncertCalibKey
Definition: SimpleMMClusterBuilderTool.h:49
Muon::SimpleMMClusterBuilderTool::getClusterPosition
StatusCode getClusterPosition(const EventContext &ctx, const Identifier &clustId, std::vector< Muon::MMPrepData > &stripsVect, Amg::Vector2D &clusterLocalPosition, Amg::MatrixX &covMatrix) const
get cluster local position and covariance matrix
Definition: SimpleMMClusterBuilderTool.cxx:153
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:45
Muon::IMMClusterBuilderTool
Definition: IMMClusterBuilderTool.h:22
Muon::SimpleMMClusterBuilderTool::getCalibratedClusterPosition
RIO_Author getCalibratedClusterPosition(const EventContext &ctx, const std::vector< NSWCalib::CalibratedStrip > &calibratedStrips, const Amg::Vector3D &directionEstimate, Amg::Vector2D &clusterLocalPosition, Amg::MatrixX &covMatrix) const override
Definition: SimpleMMClusterBuilderTool.cxx:202
Muon::SimpleMMClusterBuilderTool::getClusters
StatusCode getClusters(const EventContext &ctx, std::vector< Muon::MMPrepData > &&stripsVect, std::vector< std::unique_ptr< Muon::MMPrepData >> &clustersVect) const override
Standard Interface to produce Micromega clusters from raw Input hits without external contstaint.
Definition: SimpleMMClusterBuilderTool.cxx:27
Muon::SimpleMMClusterBuilderTool::~SimpleMMClusterBuilderTool
virtual ~SimpleMMClusterBuilderTool()=default
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::covMatrix
covMatrix
Definition: TrackMeasurement_v1.cxx:19
Muon::SimpleMMClusterBuilderTool::m_maxHoleSize
Gaudi::Property< uint > m_maxHoleSize
Definition: SimpleMMClusterBuilderTool.h:54
AthAlgTool.h
MMPrepData.h
NswErrorCalibData.h
ReadCondHandleKey.h
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
SG::ReadCondHandleKey< NswErrorCalibData >
Muon::SimpleMMClusterBuilderTool::m_writeStripProperties
Gaudi::Property< bool > m_writeStripProperties
Definition: SimpleMMClusterBuilderTool.h:53
IMMClusterBuilderTool.h
AthAlgTool
Definition: AthAlgTool.h:26
Muon::MMClusterOnTrack::Author
Author
Definition: MMClusterOnTrack.h:89
Muon::SimpleMMClusterBuilderTool::m_maxClusSize
Gaudi::Property< unsigned int > m_maxClusSize
Definition: SimpleMMClusterBuilderTool.h:55
Muon::SimpleMMClusterBuilderTool::SimpleMMClusterBuilderTool
SimpleMMClusterBuilderTool(const std::string &, const std::string &, const IInterface *)
Definition: SimpleMMClusterBuilderTool.cxx:16
IMuonIdHelperSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >
Muon::SimpleMMClusterBuilderTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: SimpleMMClusterBuilderTool.h:46
Identifier
Definition: IdentifierFieldParser.cxx:14