ATLAS Offline Software
CalibrationDbIOTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CalibrationDbIOTool_H
6 #define CalibrationDbIOTool_H
7 
8 class MdtIdHelper;
9 namespace MuonGM {
10  class MuonDetectorManager;
11 }
12 
13 // MuonCalibStandAloneBase
14 #include <array>
15 #include <memory>
16 
23 class RegionSelectionSvc;
24 
25 namespace MuonCalib {
26 
27  // class CalibDbConnection;
28  class IRtRelation;
29 
30  class CalibrationDbIOTool : public AthAlgTool, virtual public ICalibrationIOTool {
31  public:
33  CalibrationDbIOTool(const std::string &t, const std::string &n, const IInterface *p);
36  StatusCode initialize() override;
38  StatusCode WriteT0(const MdtTubeFitContainer *t0_output, const NtupleStationId &station_id, int iov_start, int iov_end) override;
40  StatusCode LoadT0(std::map<NtupleStationId, MdtStationT0Container *> &t0s, int /*iov_id*/) override;
42  StatusCode WriteRt(const RtCalibrationOutput *rt_relation, std::shared_ptr<const IRtResolution> resolution,
43  const NtupleStationId &station_id, int iov_start, int iov_end, bool /*real_rt*/,
44  bool /*real resolution*/) override;
46  StatusCode LoadRt(std::map<NtupleStationId, IRtRelation *> &rts, std::map<NtupleStationId, IRtResolution *> &res,
47  int /*iov_id*/) override;
48 
49  private:
51  std::string m_calib_dir;
54  // url of oracle data-base
55  std::string m_db_ConnectionString;
57  std::string m_db_WorkingSchema;
61  // username and password - job options
63  int m_headid;
64  std::string m_sitename;
67  std::vector<MuonCalib::NtupleStationId> m_region_ids;
69  std::unique_ptr<CalibDbConnection> m_connection;
70  std::array<std::unique_ptr<CalibDbConnection>, 2> m_data_connections;
71  std::unique_ptr<CalibHeadOperations> m_head_ops;
73  void fillRtPoints(const std::shared_ptr<const IRtRelation>& rt_relation, std::vector<SamplePoint> &points);
74  void fillResPoints(const std::shared_ptr<const IRtResolution>& rt_resolution, std::vector<SamplePoint> &points);
76  };
77 
78 } // namespace MuonCalib
79 #endif
CalibDbConnection.h
MuonCalib::RtCalibrationOutput
Definition: RtCalibrationOutput.h:21
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
MuonCalib::CalibrationDbIOTool::m_data_connections
std::array< std::unique_ptr< CalibDbConnection >, 2 > m_data_connections
Definition: CalibrationDbIOTool.h:70
MuonCalib::CalibrationDbIOTool::m_reader_account
std::string m_reader_account
account data
Definition: CalibrationDbIOTool.h:59
MuonCalib::NtupleStationId
Definition: NtupleStationId.h:36
MuonCalib::CalibrationDbIOTool::m_db_ConnectionString
std::string m_db_ConnectionString
Definition: CalibrationDbIOTool.h:55
MuonCalib::CalibrationDbIOTool::initialize
StatusCode initialize() override
initialisation
Definition: CalibrationDbIOTool.cxx:70
MuonCalib::CalibrationDbIOTool::fillResPoints
void fillResPoints(const std::shared_ptr< const IRtResolution > &rt_resolution, std::vector< SamplePoint > &points)
Definition: CalibrationDbIOTool.cxx:238
MuonCalib::CalibrationDbIOTool::m_head_ops
std::unique_ptr< CalibHeadOperations > m_head_ops
Definition: CalibrationDbIOTool.h:71
RegionSelectionSvc
Definition: RegionSelectionSvc.h:35
ICalibrationIOTool.h
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MuonCalib::CalibrationDbIOTool::m_region_ids
std::vector< MuonCalib::NtupleStationId > m_region_ids
Definition: CalibrationDbIOTool.h:67
MuonCalib::CalibrationDbIOTool::LoadT0
StatusCode LoadT0(std::map< NtupleStationId, MdtStationT0Container * > &t0s, int) override
load t0s
Definition: CalibrationDbIOTool.cxx:113
Dedxcorrection::resolution
double resolution[nGasTypes][nParametersResolution]
Definition: TRT_ToT_Corrections.h:46
MuonCalib::CalibrationDbIOTool::m_reader_password
std::string m_reader_password
Definition: CalibrationDbIOTool.h:59
MuonCalib::CalibrationDbIOTool::m_db_WorkingSchema
std::string m_db_WorkingSchema
Definition: CalibrationDbIOTool.h:57
MuonCalib::CalibrationDbIOTool::m_sitename
std::string m_sitename
Definition: CalibrationDbIOTool.h:64
MuonCalib::CalibrationDbIOTool::m_writer_account
std::string m_writer_account
Definition: CalibrationDbIOTool.h:60
MuonCalib::CalibrationDbIOTool::fillRtPoints
void fillRtPoints(const std::shared_ptr< const IRtRelation > &rt_relation, std::vector< SamplePoint > &points)
convert rt and resolution to points
Definition: CalibrationDbIOTool.cxx:203
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonCalib::CalibrationDbIOTool::WriteT0
StatusCode WriteT0(const MdtTubeFitContainer *t0_output, const NtupleStationId &station_id, int iov_start, int iov_end) override
write out t0
Definition: CalibrationDbIOTool.cxx:95
MuonCalib::CalibrationDbIOTool::m_use_validated_t0
bool m_use_validated_t0
if true use validated - jo
Definition: CalibrationDbIOTool.h:53
AthAlgTool.h
python.ByteStreamConfig.write
def write
Definition: Event/ByteStreamCnvSvc/python/ByteStreamConfig.py:248
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:14
MdtIdHelper
Definition: MdtIdHelper.h:61
MuonCalib::CalibrationDbIOTool::m_headid
int m_headid
Definition: CalibrationDbIOTool.h:63
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
MuonCalib::CalibrationDbIOTool::m_calib_dir
std::string m_calib_dir
path to calibration directory - job option
Definition: CalibrationDbIOTool.h:51
MuonCalib::CalibrationDbIOTool::~CalibrationDbIOTool
virtual ~CalibrationDbIOTool()
MuonCalib::CalibrationDbIOTool::m_writer_password
std::string m_writer_password
Definition: CalibrationDbIOTool.h:60
MuonCalib::CalibrationDbIOTool::m_max_rt_points
int m_max_rt_points
Definition: CalibrationDbIOTool.h:62
MuonCalib::CalibrationDbIOTool
Definition: CalibrationDbIOTool.h:30
MuonCalib::CalibrationDbIOTool::CalibrationDbIOTool
CalibrationDbIOTool(const std::string &t, const std::string &n, const IInterface *p)
constructor
Definition: CalibrationDbIOTool.cxx:49
PixelModuleFeMask_create_db.iov_end
list iov_end
Definition: PixelModuleFeMask_create_db.py:75
MuonCalib::MdtTubeFitContainer
Holds single-tube full calibration information of one chamber.
Definition: MdtTubeFitContainer.h:16
MuonCalib::CalibrationDbIOTool::p_reg_sel_svc
RegionSelectionSvc * p_reg_sel_svc
pointer to region selection service
Definition: CalibrationDbIOTool.h:66
calibdata.rts
rts
Definition: calibdata.py:414
MuonCalib::CalibrationDbIOTool::m_connection
std::unique_ptr< CalibDbConnection > m_connection
pointer to db connection
Definition: CalibrationDbIOTool.h:69
PixelModuleFeMask_create_db.iov_start
list iov_start
Definition: PixelModuleFeMask_create_db.py:74
SamplePoint.h
MuonCalib::CalibrationDbIOTool::m_writer_connection_string
std::string m_writer_connection_string
Definition: CalibrationDbIOTool.h:56
AthAlgTool
Definition: AthAlgTool.h:26
MuonCalib::ICalibrationIOTool
Definition: ICalibrationIOTool.h:30
MuonCalib::CalibDbConnection
Definition: CalibDbConnection.h:22
MuonCalib::CalibrationDbIOTool::LoadRt
StatusCode LoadRt(std::map< NtupleStationId, IRtRelation * > &rts, std::map< NtupleStationId, IRtResolution * > &res, int) override
load rts
Definition: CalibrationDbIOTool.cxx:162
MuonCalib::CalibrationDbIOTool::m_use_validated_rt
bool m_use_validated_rt
Definition: CalibrationDbIOTool.h:53
MuonCalib::CalibrationDbIOTool::WriteRt
StatusCode WriteRt(const RtCalibrationOutput *rt_relation, std::shared_ptr< const IRtResolution > resolution, const NtupleStationId &station_id, int iov_start, int iov_end, bool, bool) override
write rt
Definition: CalibrationDbIOTool.cxx:134
CalibHeadOperations.h
MuonCalib::CalibrationDbIOTool::get_connection
CalibDbConnection * get_connection(int write)
Definition: CalibrationDbIOTool.cxx:242
RtDataFromFile.h