34 return StatusCode::SUCCESS;
37 bool validTimeStamp = (ctx.eventID().time_stamp() <
m_dbBeginTimestamp) ? false :
true;
38 if (
m_isMC) validTimeStamp =
true;
42 bool useDBparams = (!anyKeyEmpty && validTimeStamp);
45 std::unique_ptr<gFEXDBCondData> writeDBTool(std::make_unique<gFEXDBCondData>() );
49 SG::ReadCondHandle <CondAttrListCollection> load_gFexNoiseCut{
m_GfexNoiseCutsKey, ctx };
51 std::vector<std::string> myStringsNoise;
52 myStringsNoise = {
"Aslopes",
"Bslopes",
"Cslopes",
"AnoiseCuts",
"BnoiseCuts",
"CnoiseCuts"};
54 if (load_gFexNoiseCut.
isValid()) {
58 for (
auto itr = load_gFexNoiseCut->begin(); itr != load_gFexNoiseCut->end(); ++itr) {
61 const std::string s((
char*)blob.startingAddress(),blob.size());
62 nlohmann::json attrList = nlohmann::json::parse(s);
66 bool allitemsPresent =
true;
67 for(
const auto &
name:myStringsNoise ) {
68 allitemsPresent = allitemsPresent && attrList.contains(
name);
71 if( allitemsPresent ) {
72 writeDBTool->set_Aslopes(attrList[
"Aslopes"]);
73 writeDBTool->set_Bslopes(attrList[
"Bslopes"]);
74 writeDBTool->set_Cslopes(attrList[
"Cslopes"]);
75 writeDBTool->set_AnoiseCuts(attrList[
"AnoiseCuts"]);
76 writeDBTool->set_BnoiseCuts(attrList[
"BnoiseCuts"]);
77 writeDBTool->set_CnoiseCuts(attrList[
"CnoiseCuts"]);
80 throw (int16_t) itr->first;
86 return StatusCode::FAILURE;
103 if (writeCHandle.
record(std::move(writeDBTool)).isFailure()) {
104 ATH_MSG_ERROR(
"Could not record " << writeCHandle.
key() <<
" with EventRange " << writeCHandle.
getRange() <<
" into Conditions Store");
105 return StatusCode::FAILURE;
108 ATH_MSG_INFO(
"Recorded " << writeCHandle.
key() <<
" with EventRange " << writeCHandle.
getRange() <<
" into Conditions Store");
110 return StatusCode::SUCCESS;