Skip to content

Commit 8fff4b9

Browse files
committed
Revert "Implement usage of CCDB Redirect"
1 parent 5e43c17 commit 8fff4b9

File tree

6 files changed

+20
-37
lines changed

6 files changed

+20
-37
lines changed

Detectors/TPC/base/include/TPCBase/CDBTypes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ const std::unordered_map<CDBType, const std::string> CDBTypeMap{
110110
//
111111
{CDBType::ConfigFEEPad, "TPC/Config/FEEPad"},
112112
{CDBType::ConfigFEE, "TPC/Config/FEE"},
113-
{CDBType::ConfigRunInfo, "TPC/Config/RunInfoV2"},
113+
{CDBType::ConfigRunInfo, "TPC/Config/RunInfo"},
114114
//
115115
{CDBType::ParDetector, "TPC/Parameter/Detector"},
116116
{CDBType::ParElectronics, "TPC/Parameter/Electronics"},

Detectors/TPC/base/include/TPCBase/DeadChannelMapCreator.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,10 @@ class DeadChannelMapCreator
5858
void load(long timeStampOrRun);
5959
void loadFEEConfigViaRunInfoTS(long timeStamp);
6060
void loadFEEConfigViaRunInfo(long timeStampOrRun);
61-
void loadFEEConfig(long timeStamp = -1);
61+
void loadFEEConfig(long tag, long createdNotAfter = -1);
6262
void loadIDCPadFlags(long timeStampOrRun);
6363

6464
void setDeadChannelMapIDCPadStatus(const CalDetFlag_t& padStatusMap, PadFlags mask = PadFlags::flagAllNoneGood);
65-
void setDeadChannelMapFEEConfig(const FEEConfig& feeConfig) { mDeadChannelMapFEE = feeConfig.getDeadChannelMap(); }
6665

6766
const CalDet<bool>& getDeadChannelMapIDC() const { return mDeadChannelMapIDC; }
6867
const CalDet<bool>& getDeadChannelMapFEE() const { return mDeadChannelMapFEE; }

Detectors/TPC/base/src/CDBInterface.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ void CDBInterface::createFEEConfig()
556556

557557
if (!mUseDefaults) {
558558
LOGP(info, "trying to load default FEEConfig");
559-
mDeadChannelMapCreator.loadFEEConfig(1680525888290); // load oldest physics configuration
559+
mDeadChannelMapCreator.loadFEEConfig(7, 1680525888290); // load oldest physics configuration
560560
if (mFEEConfig) {
561561
return;
562562
}

Detectors/TPC/base/src/DeadChannelMapCreator.cxx

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,13 @@ void DeadChannelMapCreator::loadFEEConfigViaRunInfoTS(long timeStamp)
4343
if (mObjectValidity[CDBType::ConfigRunInfo].isValid(timeStamp)) {
4444
return;
4545
}
46-
4746
const auto meta = mCCDBApi.retrieveHeaders(CDBTypeMap.at(CDBType::ConfigRunInfo), {}, timeStamp);
4847
mObjectValidity[CDBType::ConfigRunInfo].startvalidity = std::stol(meta.at("Valid-From"));
4948
mObjectValidity[CDBType::ConfigRunInfo].endvalidity = std::stol(meta.at("Valid-Until"));
50-
51-
loadFEEConfig(timeStamp);
49+
const long tag = std::stol(meta.at("Tag"));
50+
LOGP(info, "Loading FEE config for time stamp {}, via RunInfo with Tag {}, RunType {}, runNumber {}, validity: {} - {}",
51+
timeStamp, tag, meta.at("RunType"), meta.at("runNumber"), meta.at("Valid-From"), meta.at("Valid-Until"));
52+
loadFEEConfig(tag, timeStamp);
5253
}
5354

5455
//______________________________________________________________________________
@@ -58,16 +59,13 @@ void DeadChannelMapCreator::loadFEEConfigViaRunInfo(long timeStampOrRun)
5859
}
5960

6061
//______________________________________________________________________________
61-
void DeadChannelMapCreator::loadFEEConfig(long timeStamp)
62+
void DeadChannelMapCreator::loadFEEConfig(long tag, long createdNotAfter)
6263
{
63-
std::map<std::string, std::string> meta;
64-
mFEEConfig.reset(mCCDBApi.retrieveFromTFileAny<o2::tpc::FEEConfig>(CDBTypeMap.at(CDBType::ConfigRunInfo), {}, timeStamp, &meta));
65-
std::string redirect = "not found";
66-
if (meta.find("Redirect") != meta.end()) {
67-
redirect = meta.at("Redirect");
68-
}
64+
std::map<std::string, std::string> mm, meta;
65+
const std::string createdNotAfterS = (createdNotAfter < 0) ? "" : std::to_string(createdNotAfter);
66+
mFEEConfig.reset(mCCDBApi.retrieveFromTFileAny<o2::tpc::FEEConfig>(CDBTypeMap.at(CDBType::ConfigFEE), mm, tag, &meta, "", createdNotAfterS));
6967
if (!mFEEConfig) {
70-
LOGP(error, "Could not load {} redirected from {} with Redirect={}, createdNotAfter: {}", CDBTypeMap.at(CDBType::ConfigFEE), CDBTypeMap.at(CDBType::ConfigRunInfo), redirect, timeStamp);
68+
LOGP(error, "Could not load {}/{}, createdNotAfter: {}", CDBTypeMap.at(CDBType::ConfigFEE), tag, createdNotAfterS);
7169
return;
7270
}
7371
LOGP(info, "Using FEE config for Tag {}, ETag {}, Last-Modified {}", meta.at("Valid-From"), meta.at("ETag"), meta.at("Last-Modified"));

Detectors/TPC/dcs/src/DCSConfigSpec.cxx

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -189,28 +189,18 @@ void DCSConfigDevice::updateRunInfo(gsl::span<const char> configBuff)
189189
LOGP(error, "{} has wrong format: {}, expected: {}, not writing RunInformation to CCDB", RunInfoFileName, line, runInfoConf);
190190
return;
191191
}
192-
const auto tagString = data[2];
193-
//
194-
// retrieve ETag from FEEConfig to set up Redirect
195-
const auto headers = mCCDBApi.retrieveHeaders(CDBTypeMap.at(CDBType::ConfigFEE), {}, std::stol(tagString));
196-
197192
std::map<std::string, std::string> md;
198193
md[o2::base::NameConf::CCDBRunTag.data()] = data[0];
194+
md["Tag"] = data[2];
199195
md["RunType"] = data[3];
200196
md[o2::ccdb::CcdbObjectInfo::AdjustableEOV] = "true";
201-
if (headers.find("ETag") != headers.end()) {
202-
auto etag = headers.at("ETag");
203-
etag.erase(std::remove(etag.begin(), etag.end(), '"'), etag.end());
204-
md["Redirect"] = fmt::format("/{}/{}/{}", CDBTypeMap.at(CDBType::ConfigFEE), tagString, etag);
205-
} else {
206-
LOGP(error, "No ETag found for Tag {}, not setting Redirect in RunInfo", tagString);
207-
}
197+
char tempChar{static_cast<char>(std::stoi(md["Tag"]))};
208198

209199
const long startValRCT = std::stol(data[1]);
210200
const long endValRCT = startValRCT + 48l * 60l * 60l * 1000l;
211201
if (!mDontWriteRunInfo) {
212202
o2::ccdb::CcdbObjectInfo w(CDBTypeMap.at(CDBType::ConfigRunInfo), "", "", md, startValRCT, endValRCT);
213-
mCCDBApi.storeAsBinaryFile(nullptr, 0, "ignored", "", CDBTypeMap.at(CDBType::ConfigRunInfo), md, startValRCT, endValRCT);
203+
mCCDBApi.storeAsBinaryFile(&tempChar, sizeof(tempChar), "tmp.dat", "char", CDBTypeMap.at(CDBType::ConfigRunInfo), md, startValRCT, endValRCT);
214204
if (!mCCDBApi.isSnapshotMode()) {
215205
o2::ccdb::adjustOverriddenEOV(mCCDBApi, w);
216206
}
@@ -265,7 +255,7 @@ void DCSConfigDevice::fillFEEPad(std::string_view configFileName, gsl::span<cons
265255
nLines = cru_calib_helpers::fillCalPad<2>(calPad, configBuff);
266256
mFEEPadDataReceived.set(3);
267257
} else if (configFileName == "CMkValues") {
268-
nLines = cru_calib_helpers::fillCalPad<0>(calPad, configBuff);
258+
nLines = cru_calib_helpers::fillCalPad<6>(calPad, configBuff);
269259
mFEEPadDataReceived.set(4);
270260
}
271261

GPU/Workflow/src/GPUWorkflowTPC.cxx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -281,15 +281,11 @@ void GPURecoWorkflowSpec::finaliseCCDBTPC(ConcreteDataMatcher& matcher, void* ob
281281
mTPCDeadChannelMapCreator->getDeadChannelMapIDC().getSum<int32_t>(), mTPCDeadChannelMapCreator->getDeadChannelMap().getSum<int32_t>());
282282
} else if (matcher == ConcreteDataMatcher(gDataOriginTPC, "TPCRUNINFO", 0)) {
283283
copyCalibsToBuffer();
284-
const auto* fee = static_cast<o2::tpc::FEEConfig*>(obj);
285-
mTPCDeadChannelMapCreator->setDeadChannelMapFEEConfig(*fee);
284+
mTPCDeadChannelMapCreator->loadFEEConfigViaRunInfoTS(mCreationForCalib);
286285
mTPCDeadChannelMapCreator->finalizeDeadChannelMap();
287286
mdEdxCalibContainerBufferNew.get()->setDeadChannelMap(mTPCDeadChannelMapCreator->getDeadChannelMap());
288-
LOGP(info,
289-
"Updating dead channel map with the FEE info (tag {}) loaded via TPCRUNINFO"
290-
" for creation time {}: {} / {} dead pads from FEE info / total, with",
291-
std::underlying_type_t<o2::tpc::FEEConfig::Tags>(fee->tag), mCreationForCalib,
292-
mTPCDeadChannelMapCreator->getDeadChannelMapFEE().getSum<int32_t>(), mTPCDeadChannelMapCreator->getDeadChannelMap().getSum<int32_t>());
287+
LOGP(info, "Updating dead channel map with the FEE info loaded via TPCRUNINFO for creation time {}: {} / {} dead pads from FEE info / total",
288+
mCreationForCalib, mTPCDeadChannelMapCreator->getDeadChannelMapFEE().getSum<int32_t>(), mTPCDeadChannelMapCreator->getDeadChannelMap().getSum<int32_t>());
293289
} else if (mTPCVDriftHelper->accountCCDBInputs(matcher, obj)) {
294290
} else if (mCalibObjects.mFastTransformHelper->accountCCDBInputs(matcher, obj)) {
295291
}
@@ -325,7 +321,7 @@ bool GPURecoWorkflowSpec::fetchCalibsCCDBTPC<GPUCalibObjectsConst>(ProcessingCon
325321
}
326322

327323
if (mTPCDeadChannelMapCreator->useSource(tpc::SourcesDeadMap::FEEConfig)) {
328-
pc.inputs().get<o2::tpc::FEEConfig*>("tpcruninfo");
324+
pc.inputs().get<char*>("tpcruninfo");
329325
}
330326

331327
if (dEdxCalibContainer->isCorrectionCCDB(o2::tpc::CalibsdEdx::CalResidualGainMap)) {

0 commit comments

Comments
 (0)