|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef MDTCALIBDBCOOLSTRTOOL_MDTCALIBDBALG_H
10 #define MDTCALIBDBCOOLSTRTOOL_MDTCALIBDBALG_H
16 #include "CLHEP/Random/RandomEngine.h"
17 #include "CoralBase/Blob.h"
30 #include "nlohmann/json.hpp"
64 ToolHandle<MuonCalib::IIdToFixedIdTool>
m_idToFixedIdTool{
this,
"IdToFixedIdTool",
"MuonCalib::IdToFixedIdTool"};
70 "Switch between the legacy and the new geometry"};
74 Gaudi::Property<bool>
m_checkTubes{
this,
"checkTubes",
true,
"If true the number of tubes must agree between the conditions DB & geometry"};
76 Gaudi::Property<bool>
m_newFormat2020{
this,
"NewFormat2020",
false,
"Use the new calibration data format "};
81 "If set to true, the B-field correction functions are initialized for each rt-relation that is loaded."};
84 "If set to true, the slewing correction functions are initialized for each rt-relation that is loaded."};
96 Gaudi::Property<bool>
m_UseMLRt{
this,
"UseMLRt",
false,
"Enable use of ML-RTs from COOL"};
102 Gaudi::Property<double>
m_defaultT0{
this,
"defaultT0", 40.,
"default T0 value to be used in absence of DB information"};
103 Gaudi::Property<double>
m_t0Shift{
this,
"T0Shift", 0.,
"for simulation: common shift of all T0s, in ns"};
104 Gaudi::Property<double>
m_t0Spread{
this,
"T0Spread", 0.,
"for simulation: sigma for random smeraing of T0s, in ns"};
106 Gaudi::Property<double>
m_rtShift{
this,
"RTShift", 0.,
"for simulations: maximum RT distortion, in mm"};
107 Gaudi::Property<double>
m_rtScale{
this,
"RTScale", 1.,
"for simulations: a muliplicitive scale to the drift r"};
108 Gaudi::Property<double>
m_prop_beta{
this,
"PropagationSpeedBeta", 1.,
"Speed of the signal propagation"};
114 StringProperty
m_RTfileName{
this,
"RT_InputFile",
"MuonCondAlg/Muon_RT_default.data",
115 "single input ascii file for default RT to be applied in absence of DB information"};
117 static std::unique_ptr<MuonCalib::RtResolutionLookUp>
getRtResolutionInterpolation(
const std::vector<MuonCalib::SamplePoint>& sample_points);
122 "Conditions object containing the calibrations"};
Gaudi::Property< bool > m_create_b_field_function
Gaudi::Property< double > m_rtScale
Gaudi::Property< bool > m_useNewGeo
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
Gaudi::Property< double > m_rtShift
Gaudi::Property< double > m_defaultT0
Gaudi::Property< bool > m_createSlewingFunction
const MuonGM::MuonDetectorManager * m_detMgr
StringProperty m_randomStream
StatusCode loadTube(const EventContext &ctx, MuonCalib::MdtCalibDataContainer &writeCdo) const
ServiceHandle< IAthRNGSvc > m_AthRNGSvc
static std::unique_ptr< MuonCalib::RtResolutionLookUp > getRtResolutionInterpolation(const std::vector< MuonCalib::SamplePoint > &sample_points)
StatusCode legacyTubePayloadToJSON(const coral::AttributeList &attr, nlohmann::json &json) const
Gaudi::Property< double > m_TsCorrectionT0
StatusCode loadRt(const EventContext &ctx, MuonCalib::MdtCalibDataContainer &writeCdo) const
Gaudi::Property< bool > m_TimeSlewingCorrection
std::optional< double > getInnerTubeRadius(const Identifier &id) const
An algorithm that can be simultaneously executed in multiple threads.
SG::WriteCondHandleKey< MuonCalib::MdtCalibDataContainer > m_writeKey
Gaudi::Property< double > m_prop_beta
StringProperty m_RTfileName
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Gaudi::Property< bool > m_UseMLRt
virtual StatusCode initialize() override
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual bool isReEntrant() const override
SG::ReadCondHandleKey< MdtCondDbData > m_readKeyDCS
StatusCode legacyRtPayloadToJSON(const coral::AttributeList &attr, nlohmann::json &json) const
Parses the legacy payload for the RT functions to a json format.
virtual ~MdtCalibDbAlg()=default
Gaudi::Property< bool > m_newFormat2020
Gaudi::Property< double > m_t0Spread
const MuonGMR4::MuonDetectorManager * m_r4detMgr
SG::ReadCondHandleKey< CondAttrListCollection > m_readKeyRt
A wrapper class for event-slot-local random engines.
StatusCode declareDependency(const EventContext &ctx, SG::WriteCondHandle< MuonCalib::MdtCalibDataContainer > &writeHandle) const
SG::ReadCondHandleKey< CondAttrListCollection > m_readKeyTube
MdtCalibDbAlg(const std::string &name, ISvcLocator *pSvcLocator)
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Gaudi::Property< std::vector< float > > m_MeanCorrectionVsR
Gaudi::Property< bool > m_checkTubes
only needed to retrieve information on number of tubes etc. (no alignment needed)
StatusCode defaultT0s(MuonCalib::MdtCalibDataContainer &writeCdoTube) const
ATHRNG::RNGWrapper * m_RNGWrapper
GeoModel::TransientConstSharedPtr< MdtRtRelation > RtRelationPtr
Gaudi::Property< double > m_t0Shift
virtual StatusCode execute(const EventContext &ctx) const override
StatusCode defaultRt(MuonCalib::MdtCalibDataContainer &writeCdoRt, LoadedRtMap &loadedRts) const
ToolHandle< MuonCalib::IIdToFixedIdTool > m_idToFixedIdTool
std::map< Identifier, RtRelationPtr > LoadedRtMap
MdtCalibDbAlg reads raw condition data and writes derived condition data to the condition store.