10 #include <boost/date_time/posix_time/posix_time.hpp>
20 #include "CoralBase/Blob.h"
22 #include "GaudiKernel/StatusCode.h"
23 #include "Identifier/Identifier.h"
38 return StatusCode::SUCCESS;
46 std::chrono::duration<double> retrieving_MM_TDO_A{};
47 std::chrono::duration<double> retrieving_MM_TDO_C{};
48 std::chrono::duration<double> retrieving_MM_PDO_A{};
49 std::chrono::duration<double> retrieving_MM_PDO_C{};
50 std::chrono::duration<double> retrieving_MM_VMM_A{};
51 std::chrono::duration<double> retrieving_MM_VMM_C{};
52 std::chrono::duration<double> retrieving_STGC_TDO_A{};
53 std::chrono::duration<double> retrieving_STGC_TDO_C{};
54 std::chrono::duration<double> retrieving_STGC_PDO_A{};
55 std::chrono::duration<double> retrieving_STGC_PDO_C{};
56 std::chrono::duration<double> retrieving_STGC_VMM_A{};
57 std::chrono::duration<double> retrieving_STGC_VMM_C{};
58 std::chrono::duration<double> retrieving_T0{};
77 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_MM_TDO_A).
count() * 1.0) <<
"s ");
79 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_MM_TDO_C).
count() * 1.0) <<
"s ");
81 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_MM_PDO_A).
count() * 1.0) <<
"s ");
83 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_MM_PDO_C).
count() * 1.0) <<
"s ");
86 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_MM_VMM_A).
count() * 1.0) <<
"s ");
88 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_MM_VMM_C).
count() * 1.0) <<
"s ");
91 ATH_MSG_INFO(
"Retrieving time for (STGC, TDO, Side A) = "
92 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_STGC_TDO_A).
count() * 1.0) <<
"s ");
93 ATH_MSG_INFO(
"Retrieving time for (STGC, TDO, Side C) = "
94 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_STGC_TDO_C).
count() * 1.0) <<
"s ");
95 ATH_MSG_INFO(
"Retrieving time for (STGC, PDO, Side A) = "
96 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_STGC_PDO_A).
count() * 1.0) <<
"s ");
97 ATH_MSG_INFO(
"Retrieving time for (STGC, PDO, Side C) = "
98 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_STGC_PDO_C).
count() * 1.0) <<
"s ");
100 ATH_MSG_INFO(
"Retrieving time for (STGC, VMM, Side A) = "
101 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_STGC_VMM_A).
count() * 1.0) <<
"s ");
102 ATH_MSG_INFO(
"Retrieving time for (STGC, VMM, Side C) = "
103 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_STGC_VMM_C).
count() * 1.0) <<
"s ");
108 << (std::chrono::duration_cast<std::chrono::microseconds>(retrieving_T0).
count() * 1.0) <<
"s ");
112 return StatusCode::SUCCESS;
117 const std::string&
side, std::chrono::duration<double>&
timer)
const {
129 return StatusCode::FAILURE;
133 if (!readHandle.range(
range)) {
134 ATH_MSG_ERROR(
"Failed to retrieve validity range for " << readHandle.key());
135 return StatusCode::FAILURE;
142 std::vector<Identifier> channelIds = readCdo->getChannelIds(
data, tech,
side);
143 ATH_MSG_INFO(
"Found data for " << channelIds.size() <<
" channels!");
146 std::stringstream sstr{};
147 if (!channelIds.empty()) {
153 for (
const Identifier& chan_id : channelIds) {
155 sstr<<
m_idHelperSvc->toString(chan_id)<<
" "<<calib_data<<std::endl;
160 sstr<<
"Dummy calib channel "<<calib_data<<std::endl;
165 ostr<<sstr.str()<<std::endl;
171 timer += end1 - start1;
173 return StatusCode::SUCCESS;
178 std::chrono::duration<double>&
timer)
const {
190 return StatusCode::FAILURE;
194 if (!readHandle.range(
range)) {
195 ATH_MSG_ERROR(
"Failed to retrieve validity range for " << readHandle.key());
196 return StatusCode::FAILURE;
203 std::vector<Identifier> channelIds = readCdo->getChannelIds(tech,
side);
204 ATH_MSG_INFO(
"Found data for " << channelIds.size() <<
" channels!");
207 std::stringstream sstr {};
208 if (!channelIds.empty()) {
221 ostr<<sstr.str()<<std::endl;
225 timer += end1 - start1;
227 return StatusCode::SUCCESS;
232 std::chrono::duration<double>&
timer)
const {
244 return StatusCode::FAILURE;
248 if (!readHandle.range(
range)) {
249 ATH_MSG_ERROR(
"Failed to retrieve validity range for " << readHandle.key());
250 return StatusCode::FAILURE;
256 std::stringstream sstr {};
262 for(
int i_channel=id_helper.
channelMin(layerId); i_channel < id_helper.
channelMax(layerId); i_channel++){
267 return StatusCode::FAILURE;
278 ostr<<sstr.str()<<std::endl;
282 timer += end1 - start1;
284 return StatusCode::SUCCESS;
288 const boost::posix_time::ptime
now = boost::posix_time::microsec_clock::local_time();
289 const boost::posix_time::time_duration td =
now.time_of_day();
290 const long hours = td.hours();
291 const long minutes = td.minutes();
292 const long seconds = td.seconds();
293 const long milliseconds = td.total_milliseconds() - ((
hours * 3600 + minutes * 60 +
seconds) * 1000);
295 sprintf(buf,
"%02ld:%02ld:%02ld.%03ld",
hours, minutes,
seconds, milliseconds);