ATLAS Offline Software
QratCscClusterFitter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef QratCscClusterFitter_H
6 #define QratCscClusterFitter_H
7 
8 // Woochun Park & David Adams
9 // March 2007
10 //
11 // Tool to fit a CSC cluster using adjacent charge ratios.
12 
16 #include "GaudiKernel/ServiceHandle.h"
17 #include "GaudiKernel/ToolHandle.h"
21 
22 namespace Muon {
23  class CscPrepData;
24 }
25 
26 class QratCscClusterFitter : virtual public ICscClusterFitter, public AthAlgTool {
27 public:
28  QratCscClusterFitter(const std::string&, const std::string&, const IInterface*);
29 
30  ~QratCscClusterFitter() = default;
31 
33 
34  // Inherited methods.
35  const DataNames& dataNames() const;
37  Results fit(const StripFitList& sfits) const;
38  Results fit(const StripFitList& sfits, double dposdz) const;
39  double getCorrectedError(const Muon::CscPrepData* pclu, double slope) const;
40 
41 private:
42  // Properties
43  std::vector<unsigned int> m_max_width;
44  std::string m_posopt_eta;
45  std::string m_posopt_phi;
46  std::string m_erropt_eta;
47  std::string m_erropt_phi;
48  double m_error_eta;
49  double m_error_phi;
52  double m_qrat_maxsig;
60  std::vector<double> m_qratcor_css_eta;
61  std::vector<double> m_qratcor_csl_eta;
62 
63  double m_atanh_a_css_eta; // MS: atanh qrat parametrization
71 
72  double m_dposmin; // MS: minimum position error in mm
73 
76  this,
77  "DetectorManagerKey",
78  "MuonDetectorManager",
79  "Key of input MuonDetectorManager condition data",
80  };
81 
83  this,
84  "MuonIdHelperSvc",
85  "Muon::MuonIdHelperSvc/MuonIdHelperSvc",
86  };
87 
88  ToolHandle<ICscAlignmentTool> m_alignmentTool{
89  this,
90  "CscAlignmentTool",
91  "CscAlignmentTool/CscAlignmentTool",
92  };
93 };
94 #endif
QratCscClusterFitter::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: QratCscClusterFitter.h:82
QratCscClusterFitter::initialize
StatusCode initialize()
Definition: QratCscClusterFitter.cxx:252
QratCscClusterFitter::m_qratcor_css_eta
std::vector< double > m_qratcor_css_eta
Definition: QratCscClusterFitter.h:60
ICscClusterFitter::Results
std::vector< Result > Results
Definition: ICscClusterFitter.h:101
QratCscClusterFitter::m_xtan_css_eta_offset
double m_xtan_css_eta_offset
Definition: QratCscClusterFitter.h:54
QratCscClusterFitter::m_qratmin_css_eta
double m_qratmin_css_eta
Definition: QratCscClusterFitter.h:58
QratCscClusterFitter::m_dposmin
double m_dposmin
Definition: QratCscClusterFitter.h:72
QratCscClusterFitter::m_posopt_phi
std::string m_posopt_phi
Definition: QratCscClusterFitter.h:45
QratCscClusterFitter::m_atanh_c_css_eta
double m_atanh_c_css_eta
Definition: QratCscClusterFitter.h:65
QratCscClusterFitter::m_error_phi
double m_error_phi
Definition: QratCscClusterFitter.h:49
QratCscClusterFitter::dataNames
const DataNames & dataNames() const
Definition: QratCscClusterFitter.cxx:301
QratCscClusterFitter::m_qrat_maxsig
double m_qrat_maxsig
Definition: QratCscClusterFitter.h:52
QratCscClusterFitter::m_xtan_csl_eta_offset
double m_xtan_csl_eta_offset
Definition: QratCscClusterFitter.h:56
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
QratCscClusterFitter::m_xtan_css_eta_slope
double m_xtan_css_eta_slope
Definition: QratCscClusterFitter.h:55
QratCscClusterFitter::m_atanh_c_csl_eta
double m_atanh_c_csl_eta
Definition: QratCscClusterFitter.h:69
QratCscClusterFitter::m_alignmentTool
ToolHandle< ICscAlignmentTool > m_alignmentTool
Definition: QratCscClusterFitter.h:88
QratCscClusterFitter::m_atanh_a_csl_eta
double m_atanh_a_csl_eta
Definition: QratCscClusterFitter.h:67
QratCscClusterFitter::QratCscClusterFitter
QratCscClusterFitter(const std::string &, const std::string &, const IInterface *)
Definition: QratCscClusterFitter.cxx:209
Trk::PrepRawDataType::CscPrepData
@ CscPrepData
QratCscClusterFitter::m_atanh_b_css_eta
double m_atanh_b_css_eta
Definition: QratCscClusterFitter.h:64
QratCscClusterFitter::m_precisionErrorScaler
double m_precisionErrorScaler
Definition: QratCscClusterFitter.h:50
ICscClusterFitter.h
ICscClusterFitter
Definition: ICscClusterFitter.h:33
Muon::CscPrepData
Class representing clusters from the CSC.
Definition: CscPrepData.h:39
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ICscClusterFitter::fit
virtual Results fit(const StripFitList &sfits) const =0
ICscClusterFitter::DataNames
std::vector< std::string > DataNames
Definition: ICscClusterFitter.h:46
QratCscClusterFitter::m_error_eta
double m_error_eta
Definition: QratCscClusterFitter.h:48
AthAlgTool.h
QratCscClusterFitter
Definition: QratCscClusterFitter.h:26
QratCscClusterFitter::m_erropt_eta
std::string m_erropt_eta
Definition: QratCscClusterFitter.h:46
CscClusterStatus.h
QratCscClusterFitter::m_max_width
std::vector< unsigned int > m_max_width
Definition: QratCscClusterFitter.h:43
MuonDetectorManager.h
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
QratCscClusterFitter::~QratCscClusterFitter
~QratCscClusterFitter()=default
QratCscClusterFitter::m_DetectorManagerKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
retrieve MuonDetectorManager from the conditions store
Definition: QratCscClusterFitter.h:75
QratCscClusterFitter::m_atanh_b_csl_eta
double m_atanh_b_csl_eta
Definition: QratCscClusterFitter.h:68
QratCscClusterFitter::m_error_tantheta
double m_error_tantheta
Definition: QratCscClusterFitter.h:53
QratCscClusterFitter::m_erropt_phi
std::string m_erropt_phi
Definition: QratCscClusterFitter.h:47
QratCscClusterFitter::fit
Results fit(const StripFitList &sfits) const
Definition: QratCscClusterFitter.cxx:735
QratCscClusterFitter::getCorrectedError
double getCorrectedError(const Muon::CscPrepData *pclu, double slope) const
Definition: QratCscClusterFitter.cxx:702
QratCscClusterFitter::m_xtan_csl_eta_slope
double m_xtan_csl_eta_slope
Definition: QratCscClusterFitter.h:57
ICscClusterFitter::StripFitList
std::vector< StripFit > StripFitList
Definition: ICscClusterFitter.h:40
AthAlgTool
Definition: AthAlgTool.h:26
QratCscClusterFitter::m_atanh_x0_css_eta
double m_atanh_x0_css_eta
Definition: QratCscClusterFitter.h:66
QratCscClusterFitter::m_qrat_maxdiff
double m_qrat_maxdiff
Definition: QratCscClusterFitter.h:51
QratCscClusterFitter::m_atanh_x0_csl_eta
double m_atanh_x0_csl_eta
Definition: QratCscClusterFitter.h:70
QratCscClusterFitter::m_posopt_eta
std::string m_posopt_eta
Definition: QratCscClusterFitter.h:44
ICscAlignmentTool.h
IMuonIdHelperSvc.h
QratCscClusterFitter::m_qratmin_csl_eta
double m_qratmin_csl_eta
Definition: QratCscClusterFitter.h:59
QratCscClusterFitter::m_atanh_a_css_eta
double m_atanh_a_css_eta
Definition: QratCscClusterFitter.h:63
ServiceHandle< Muon::IMuonIdHelperSvc >
QratCscClusterFitter::m_qratcor_csl_eta
std::vector< double > m_qratcor_csl_eta
Definition: QratCscClusterFitter.h:61