10 #include <CoralBase/Blob.h>
21 ATH_MSG_ERROR(
"MuonIdHelperSvc does not have MM, the CTP calibration should not be run!");
22 return StatusCode::FAILURE;
31 ATH_MSG_FATAL(
"Neither an extrenal JSON nor a COOL folder were defined. Please check");
32 return StatusCode::FAILURE;
38 return StatusCode::SUCCESS;
45 if (writeHandle.isValid()) {
46 ATH_MSG_DEBUG(
"CondHandle " << writeHandle.fullKey() <<
" is already valid."
47 <<
" In theory this should not be called, but may happen"
48 <<
" if multiple concurrent events are being processed out of order.");
49 return StatusCode::SUCCESS;
52 std::unique_ptr<Muon::mmCTPClusterCalibData> writeCdo{std::make_unique<Muon::mmCTPClusterCalibData>(
m_idHelperSvc.get())};
57 if (!inStream.good()) {
59 return StatusCode::FAILURE;
67 if (!readHandle.isValid()) {
69 return StatusCode::FAILURE;
73 itr != readHandle->end(); ++itr) {
75 std::string
data = *(
static_cast<const std::string*
>((atr[
"data"]).addressOfData()));
81 ATH_CHECK(writeHandle.record(std::move(writeCdo)));
82 return StatusCode::SUCCESS;
87 for (
auto& corr :
lines.items()) {
91 if (!
line.contains(
"station") || !
line.contains(
"phi") || !
line.contains(
"eta") || !
line.contains(
"multilayer") || !
line.contains(
"gasGap")) {
93 return StatusCode::FAILURE;
97 if (!
line.contains(
"P1Parameters") || !
line[
"P1Parameters"].is_array() ||
line[
"P1Parameters"].size() != 2) {
98 ATH_MSG_ERROR(
"Get unexpected size of the P1Parameters array");
99 return StatusCode::FAILURE;
103 const std::string stationType =
line[
"station"];
110 std::array<double, 2> modelPars;
111 std::copy_n(
line[
"P1Parameters"].
begin(), 2, modelPars.begin());
124 return StatusCode::SUCCESS;