ATLAS Offline Software
STgcClusterBuilderCommon.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 STgcClusterBuilderCommon_h
6 #define STgcClusterBuilderCommon_h
7 
10 #include "STgcClusterPosition.h"
11 
13 
14 #include <vector>
15 #include <array>
16 #include <optional>
17 
18 
19 namespace MuonGM
20 {
21  class MuonDetectorManager;
22 }
23 
24 namespace Muon
25 {
26 
27  // Forward declaration
28  class sTgcPrepData;
29 
31  public:
33  STgcClusterBuilderCommon(const sTgcIdHelper& idHelper, const NswErrorCalibData& errorCalibData);
34 
36  std::array<std::vector<sTgcPrepData>, 8> sortSTGCPrdPerLayer(std::vector<sTgcPrepData>&& stripPrds) const;
37 
39  std::vector<std::vector<sTgcPrepData>> findStripCluster(std::vector<sTgcPrepData>&& strips,
40  const int maxMissingStrip) const;
41 
43  std::optional<STgcClusterPosition> weightedAverage(const std::vector<sTgcPrepData>& cluster,
44  const double resolution,
45  bool isStrip) const;
46 
57  std::optional<STgcClusterPosition> caruanaGaussianFitting(const std::vector<sTgcPrepData>& cluster,
58  const double positionResolution,
59  const double angularResolution,
60  const MuonGM::MuonDetectorManager* detManager) const;
61 
62  private:
65  };
66 }
67 
68 #endif
NswErrorCalibData
Definition: NswErrorCalibData.h:19
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
sTgcIdHelper.h
Muon::STgcClusterBuilderCommon::sortSTGCPrdPerLayer
std::array< std::vector< sTgcPrepData >, 8 > sortSTGCPrdPerLayer(std::vector< sTgcPrepData > &&stripPrds) const
Separate the sTGC PRDs by layer, from 0 to 7, and sort the PRDs per layer in ascending order of strip...
Definition: STgcClusterBuilderCommon.cxx:20
STgcClusterPosition.h
Muon::STgcClusterBuilderCommon
Definition: STgcClusterBuilderCommon.h:30
Muon::STgcClusterBuilderCommon::m_errorCalibData
const NswErrorCalibData & m_errorCalibData
Definition: STgcClusterBuilderCommon.h:64
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Dedxcorrection::resolution
double resolution[nGasTypes][nParametersResolution]
Definition: TRT_ToT_Corrections.h:46
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
NswErrorCalibData.h
Muon::STgcClusterBuilderCommon::weightedAverage
std::optional< STgcClusterPosition > weightedAverage(const std::vector< sTgcPrepData > &cluster, const double resolution, bool isStrip) const
Compute the cluster position using the weighted average method.
Definition: STgcClusterBuilderCommon.cxx:83
dumpTgcDigiThreshold.isStrip
list isStrip
Definition: dumpTgcDigiThreshold.py:33
Trk::PrepRawDataType::sTgcPrepData
@ sTgcPrepData
sTgcIdHelper
Definition: sTgcIdHelper.h:55
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
AthMessaging.h
Muon::STgcClusterBuilderCommon::findStripCluster
std::vector< std::vector< sTgcPrepData > > findStripCluster(std::vector< sTgcPrepData > &&strips, const int maxMissingStrip) const
Find strip clusters, assuming the input vector of PRDs are sorted in ascending order of strip number.
Definition: STgcClusterBuilderCommon.cxx:44
Muon::STgcClusterBuilderCommon::m_stgcIdHelper
const sTgcIdHelper & m_stgcIdHelper
Definition: STgcClusterBuilderCommon.h:63
Muon::STgcClusterBuilderCommon::caruanaGaussianFitting
std::optional< STgcClusterPosition > caruanaGaussianFitting(const std::vector< sTgcPrepData > &cluster, const double positionResolution, const double angularResolution, const MuonGM::MuonDetectorManager *detManager) const
Method to fit analytically a cluster to a Gaussian function to obtain the position of the cluster The...
Definition: STgcClusterBuilderCommon.cxx:155
Muon::STgcClusterBuilderCommon::STgcClusterBuilderCommon
STgcClusterBuilderCommon(const sTgcIdHelper &idHelper, const NswErrorCalibData &errorCalibData)
Constructor.
Definition: STgcClusterBuilderCommon.cxx:10