35 return StatusCode::SUCCESS;
38 bool validTimeStamp = (ctx.eventID().time_stamp() <
m_dbBeginTimestamp) ? false :
true;
39 if (
m_isMC) validTimeStamp =
true;
43 bool useDBparams = (!anyKeyEmpty && validTimeStamp);
46 std::unique_ptr<gFEXDBCondData> writeDBTool(std::make_unique<gFEXDBCondData>() );
49 if (load_gFexModuleConditions.
isValid()) {
52 for (
auto itr = load_gFexModuleConditions->begin(); itr != load_gFexModuleConditions->end(); ++itr) {
53 if ( itr->second[
"moduleName"].data<std::string>() !=
"l1calo-gfc0-gfex01" )
continue;
55 const std::string s((
char*)blob.startingAddress(),blob.size());
56 nlohmann::json attrList = nlohmann::json::parse(s);
57 if (attrList.contains(
"FWVersion")) {
58 writeDBTool->set_FWVersion(attrList[
"FWVersion"]);
67 return StatusCode::FAILURE;
77 SG::ReadCondHandle <CondAttrListCollection> load_gFexNoiseCut{
m_GfexNoiseCutsKey, ctx };
79 std::vector<std::string> myStringsNoise;
80 myStringsNoise = {
"Aslopes",
"Bslopes",
"Cslopes",
"AnoiseCuts",
"BnoiseCuts",
"CnoiseCuts"};
82 if (load_gFexNoiseCut.
isValid()) {
86 for (
auto itr = load_gFexNoiseCut->begin(); itr != load_gFexNoiseCut->end(); ++itr) {
89 const std::string s((
char*)blob.startingAddress(),blob.size());
90 nlohmann::json attrList = nlohmann::json::parse(s);
94 bool allitemsPresent =
true;
95 for(
const auto &
name:myStringsNoise ) {
96 allitemsPresent = allitemsPresent && attrList.contains(
name);
99 if( allitemsPresent ) {
100 writeDBTool->set_Aslopes(attrList[
"Aslopes"]);
101 writeDBTool->set_Bslopes(attrList[
"Bslopes"]);
102 writeDBTool->set_Cslopes(attrList[
"Cslopes"]);
103 writeDBTool->set_AnoiseCuts(attrList[
"AnoiseCuts"]);
104 writeDBTool->set_BnoiseCuts(attrList[
"BnoiseCuts"]);
105 writeDBTool->set_CnoiseCuts(attrList[
"CnoiseCuts"]);
108 throw (int16_t) itr->first;
114 return StatusCode::FAILURE;
131 if (writeCHandle.
record(std::move(writeDBTool)).isFailure()) {
132 ATH_MSG_ERROR(
"Could not record " << writeCHandle.
key() <<
" with EventRange " << writeCHandle.
getRange() <<
" into Conditions Store");
133 return StatusCode::FAILURE;
136 ATH_MSG_INFO(
"Recorded " << writeCHandle.
key() <<
" with EventRange " << writeCHandle.
getRange() <<
" into Conditions Store");
138 return StatusCode::SUCCESS;