ATLAS Offline Software
Loading...
Searching...
No Matches
MdtAnalyticRtCalibAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
8
9#ifndef MUONCALIBR4_MDTANALYTICCALIBALG_H
10#define MUONCALIBR4_MDTANALYTICCALIBALG_H
11
13
17
18
21#include "Acts/Utilities/Helpers.hpp"
22
23namespace MuonCalib{
24 class SamplePoint;
25}
26namespace MuonCalibR4{
28 public:
29 using AthCondAlgorithm::AthCondAlgorithm;
30 virtual ~MdtAnalyticRtCalibAlg() = default;
31
32 virtual StatusCode initialize() override final;
33 virtual StatusCode execute(const EventContext& ctx) const override final;
34
41
42 private:
43
44 void drawRt(const EventContext& ctx,
45 const Identifier& detId,
46 const std::vector<MuonCalib::SamplePoint>& rtPoints,
47 const MuonCalib::MdtRtRelation& inRel) const;
48
49 void drawResoFunc(const EventContext& ctx,
50 const Identifier& detId,
51 const std::vector<MuonCalib::SamplePoint>& resoPoints,
52 const MuonCalib::IRtResolution& inReso) const;
53
59 RtRelationPtr translateRt(const EventContext& ctx,
60 const Identifier& detId,
61 const MuonCalib::MdtRtRelation& inRel) const;
62
63
64 std::vector<Identifier> tubeIds(const Identifier& chId) const;
65
66 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
68 ServiceHandle<MuonValR4::IRootVisualizationService> m_visualSvc{this, "VisualSvc", "MuonValR4::RootVisualizationService"};
71
74 "Conditions object containing the calibrations"};
75
77 Gaudi::Property<unsigned> m_maxOrder{this, "maxOrder", 12};
79 Gaudi::Property<int> m_polyTypeRt{this, "PolyTypeRt", Acts::toUnderlying(PolyType::ChebyChev)};
81 Gaudi::Property<int> m_polyTypeTr{this, "PolyTypeTr", Acts::toUnderlying(PolyType::Legendre)};
83 Gaudi::Property<bool> m_fitRtReso{this, "FitRtReso", true};
85 Gaudi::Property<double> m_relUncReso{this, "RelUncertOnReso", 0.01};
87 Gaudi::Property<unsigned> m_maxOrderReso{this, "maxOrderReso", 25};
89 Gaudi::Property<float> m_chiCutOff{this,"chi2CutOff", 0.05};
90
92 Gaudi::Property<bool> m_saveDiagnostic{this, "saveDiagnosticHist", true};
94 Gaudi::Property<std::string> m_outStream{this, "OutStream", "MDTANALYTICRTS"};
96 Gaudi::Property<unsigned> m_precCutOff{this,"precCutOff", 6};
98 Gaudi::Property<bool> m_fillMissingCh{this, "fillMissingCh", true};
100 Gaudi::Property<float> m_missingT0{this, "missingT0", 5.4597301};
101 };
102}
103
104
105
106#endif
Base class for conditions algorithms.
Base class for conditions algorithms.
Gaudi::Property< bool > m_fillMissingCh
At the end of the translation, it's checked whether all channels have been assigned.
Gaudi::Property< unsigned > m_precCutOff
Precision cut-off to treat two incoming rt-relations as equivalent.
virtual StatusCode execute(const EventContext &ctx) const override final
Gaudi::Property< std::string > m_outStream
StreamName of the diagnostic histograms.
Gaudi::Property< float > m_missingT0
Default t0 constant to use, in case there's.
Gaudi::Property< unsigned > m_maxOrder
Maximum order of the polynomial in use.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
void drawRt(const EventContext &ctx, const Identifier &detId, const std::vector< MuonCalib::SamplePoint > &rtPoints, const MuonCalib::MdtRtRelation &inRel) const
SG::WriteCondHandleKey< MuonCalib::MdtCalibDataContainer > m_writeKey
Gaudi::Property< bool > m_fitRtReso
Toggle whether the resolution shall be also converted into a polynomial.
Gaudi::Property< double > m_relUncReso
Assignment of the relative uncertainty on each resolution data point.
MuonCalib::MdtFullCalibData::RtRelationPtr RtRelationPtr
void drawResoFunc(const EventContext &ctx, const Identifier &detId, const std::vector< MuonCalib::SamplePoint > &resoPoints, const MuonCalib::IRtResolution &inReso) const
ServiceHandle< MuonValR4::IRootVisualizationService > m_visualSvc
Service handle of the visualization service.
Gaudi::Property< bool > m_saveDiagnostic
Save diagnostic histograms.
Gaudi::Property< unsigned > m_maxOrderReso
Maximal order to use for the resolution.
Gaudi::Property< int > m_polyTypeRt
Toggle the polynomial for the Rt-relation: ChebyChev or Legendre.
Gaudi::Property< int > m_polyTypeTr
Toggle the polynomial for the Rt-relation: ChebyChev or Legendre.
MuonValR4::IRootVisualizationService::ClientToken m_clientToken
Token to be presented to the visualization service.
Gaudi::Property< float > m_chiCutOff
Stop incrementing the order once the chi2CutOff is reached.
virtual StatusCode initialize() override final
RtRelationPtr translateRt(const EventContext &ctx, const Identifier &detId, const MuonCalib::MdtRtRelation &inRel) const
Translates the rt / tr & resolution relation from a look-up table into the requested polynomial type.
virtual ~MdtAnalyticRtCalibAlg()=default
std::vector< Identifier > tubeIds(const Identifier &chId) const
SG::ReadCondHandleKey< MuonCalib::MdtCalibDataContainer > m_readKey
Generic interface to retrieve the resolution on the drift radius as a function of the drift time.
class which holds calibration constants per rt-region
This class provides a sample point for the BaseFunctionFitter.
Definition SamplePoint.h:15
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
GeoModel::TransientConstSharedPtr< MdtRtRelation > RtRelationPtr
Token class to identify a particular visualization client.