ATLAS Offline Software
MdtTubeFitContainer.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 MUONFIT_MDTTUBECALIBCONTAINER_H
6 #define MUONFIT_MDTTUBECALIBCONTAINER_H
7 
8 #include <vector>
9 #include <array>
10 
12 
13 namespace MuonCalib {
14 
17  public:
18  struct SingleTubeFit {
20  int statistics{0};
22  int n_hits{0};
26  float chi2Tdc{0.f};
28  float chi2TdcEnd{0.f};
29  std::array<float, 8> par{};
30  std::array<float, 36> cov{};
31  std::array<float, 4> adc_par{};
32  std::array<float, 4> adc_err{};
33  float adc_chi2{0.f};
34  std::string group_by{"UNKNOWN"};
35  SingleTubeFit() = default;
36  };
37 
40  const Identifier& moduleID);
41 
43  const SingleTubeFit* getFit(const Identifier& tubeId) const;
44  SingleTubeFit* getFit(const Identifier& tubeId);
45 
47  bool setFit(SingleTubeFit&& val, const Identifier& tubeId, MsgStream& log);
48 
50  void setImplementation(const std::string& impl);
52  std::string name() const;
54  std::string implementation() const;
55 
56  void setGroupBy(const std::string& group_by);
57 
58  std::string GroupBy() const;
59  private:
60  std::vector<SingleTubeFit> m_info{};
61  std::string m_name{"MdtTubeFitContainer"};
62  std::string m_implementation{"implementation"};
63  std::string m_group_by {"UNKNOWN"};
64  };
65 
66 } // namespace MuonCalib
67 
68 #endif
MuonCalib::MdtTubeFitContainer::SingleTubeFit::group_by
std::string group_by
Definition: MdtTubeFitContainer.h:34
MuonCalib::MdtTubeFitContainer::SingleTubeFit::chi2Tdc
float chi2Tdc
Definition: MdtTubeFitContainer.h:26
MuonCalib::MdtTubeFitContainer::implementation
std::string implementation() const
return the name of the implementation filling this class
Definition: MdtTubeFitContainer.cxx:22
MuonCalib::MdtTubeFitContainer::setImplementation
void setImplementation(const std::string &impl)
set the name of the implementation used to fill this class
Definition: MdtTubeFitContainer.cxx:14
MuonCalib::MdtTubeFitContainer::SingleTubeFit::par
std::array< float, 8 > par
Definition: MdtTubeFitContainer.h:29
MuonCalib::MdtTubeFitContainer::m_group_by
std::string m_group_by
Definition: MdtTubeFitContainer.h:63
MuonCalib::MdtTubeFitContainer::SingleTubeFit
Definition: MdtTubeFitContainer.h:18
MdtTubeCalibContainer.h
MuonCalib::MdtTubeFitContainer::setGroupBy
void setGroupBy(const std::string &group_by)
Definition: MdtTubeFitContainer.cxx:37
MuonCalib::MdtTubeFitContainer::m_implementation
std::string m_implementation
Definition: MdtTubeFitContainer.h:62
MuonCalib::MdtTubeFitContainer::SingleTubeFit::statistics
int statistics
< number of hits used for the fit
Definition: MdtTubeFitContainer.h:20
MuonCalib::MdtTubeFitContainer::SingleTubeFit::adc_err
std::array< float, 4 > adc_err
Definition: MdtTubeFitContainer.h:32
MuonCalib::MdtTubeFitContainer::SingleTubeFit::chi2TdcEnd
float chi2TdcEnd
for MTT0 chi2 of trailing edge fit
Definition: MdtTubeFitContainer.h:28
MuonCalib::MdtTubeFitContainer::SingleTubeFit::adc_chi2
float adc_chi2
Definition: MdtTubeFitContainer.h:33
MuonCalib::MdtTubeFitContainer::m_info
std::vector< SingleTubeFit > m_info
Definition: MdtTubeFitContainer.h:60
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
MuonCalib::MdtTubeFitContainer::SingleTubeFit::n_hits_above_adc_cut
int n_hits_above_adc_cut
number of hits above adc cut
Definition: MdtTubeFitContainer.h:24
MuonCalib::MdtTubeFitContainer::SingleTubeFit::cov
std::array< float, 36 > cov
Definition: MdtTubeFitContainer.h:30
MuonCalib::MdtTubeCalibContainer
Holds single-tube calibration constants of one chamber.
Definition: MdtTubeCalibContainer.h:16
MuonCalib::MdtTubeFitContainer::MdtTubeFitContainer
MdtTubeFitContainer(const Muon::IMuonIdHelperSvc *idHelperSvc, const Identifier &moduleID)
nMl = number of multilayres, nLayers = number of layers in multilayer (3 or 4); nTubes = number of tu...
Definition: MdtTubeFitContainer.cxx:8
MuonCalib::MdtTubeFitContainer::name
std::string name() const
return the name of this class
Definition: MdtTubeFitContainer.cxx:18
MuonCalib::MdtTubeFitContainer::SingleTubeFit::n_hits
int n_hits
Definition: MdtTubeFitContainer.h:22
impl
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:46
MuonCalib::MdtTubeFitContainer::getFit
const SingleTubeFit * getFit(const Identifier &tubeId) const
return calibration constants of a single tube
Definition: MdtTubeFitContainer.cxx:47
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
MuonCalib::MdtTubeFitContainer
Holds single-tube full calibration information of one chamber.
Definition: MdtTubeFitContainer.h:16
MuonCalib::MdtTubeFitContainer::setFit
bool setFit(SingleTubeFit &&val, const Identifier &tubeId, MsgStream &log)
set the calibration constants of a single tube
Definition: MdtTubeFitContainer.cxx:26
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
Muon::IMuonIdHelperSvc
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Definition: IMuonIdHelperSvc.h:26
MuonCalib::MdtTubeFitContainer::SingleTubeFit::adc_par
std::array< float, 4 > adc_par
Definition: MdtTubeFitContainer.h:31
MuonCalib::MdtTubeFitContainer::SingleTubeFit::SingleTubeFit
SingleTubeFit()=default
MuonCalib::MdtTubeFitContainer::GroupBy
std::string GroupBy() const
Definition: MdtTubeFitContainer.cxx:42
MuonCalib::MdtTubeFitContainer::m_name
std::string m_name
Definition: MdtTubeFitContainer.h:61
MuonCalib::MdtTubeCalibContainer::idHelperSvc
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Definition: MdtTubeCalibContainer.cxx:50