11 base_class(
type, name, parent)
20 return StatusCode::SUCCESS;
25 ATH_MSG_DEBUG(
"in the finalize of ToFVtxParamDBTool, bye bye");
26 return StatusCode::SUCCESS;
32 ATH_MSG_DEBUG(
"will get vertex ToF parameters for run "<<ctx.eventID().run_number()<<
", lb "<<ctx.eventID().lumi_block()<<
", event "<<ctx.eventID().event_number());
36 if ( attrLocList ==
nullptr )
38 ATH_MSG_WARNING(
"vertex ToF parameters data for key " <<
m_rch_vtx.fullKey() <<
" not found, returning empty string");
39 return nlohmann::json::parse(
"");
42 if(attrLocList->
size()>1)
ATH_MSG_INFO(
"there should be only one real channel in "<<
m_rch_vtx.fullKey() <<
", there are "<<attrLocList->
size()<<
" real channels, only the first one will be used ");
45 const coral::AttributeList &atr = itr->second;
46 std::string
data = *(
static_cast<const std::string *
>((atr[
"data"]).addressOfData()));
48 return nlohmann::json::parse(
data);
54 ATH_MSG_DEBUG(
"will get vertex ToF parameters for station "<<stationID);
55 nlohmann::json channeldata=jsondata[
"data"];
58 int guess_ch=(stationID/3);
60 nlohmann::json paramdata=channeldata.at(std::to_string(guess_ch));
61 int st=paramdata[
"stationID"];
64 ATH_MSG_DEBUG(
"channel guessed correctly, stationID "<<st<<
", channel guess "<<guess_ch);
65 return ToFVtxParamData(st, paramdata[
"timeGlobalOffset"], paramdata[
"timeOffset"], paramdata[
"timeSlope"], paramdata[
"trainEdge"]);
69 ATH_MSG_DEBUG(
"channel was not guessed correctly, stationID "<<st<<
", channel guess "<<guess_ch);
73 for(
auto& chan : channeldata.items())
76 nlohmann::json paramdata=chan.value();
78 int st=paramdata[
"stationID"];
81 ATH_MSG_DEBUG(
"channel found for stationID "<<st<<
", channel nr. "<<chan.key());
82 return ToFVtxParamData(st, paramdata[
"timeGlobalOffset"], paramdata[
"timeOffset"], paramdata[
"timeSlope"], paramdata[
"trainEdge"]);
86 ATH_MSG_WARNING(
"vertex ToF parameters data stationID "<<stationID<<
" not found in any channels, returning zeros");
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
char data[hepevt_bytes_allocation_ATLAS]
Class storing information about alignment.
This class is a collection of AttributeLists where each one is associated with a channel number.
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
size_type size() const
number of Chan/AttributeList pairs
ChanAttrListMap::const_iterator const_iterator
Header file for interface of SiGlobAlignDBTool used to read global alignment for database.