Skip to content

Commit 4b8d999

Browse files
shahor02davidrohr
authored andcommitted
Fixes for PHOSTurnonCalibDevice
1 parent 9da14e7 commit 4b8d999

2 files changed

Lines changed: 11 additions & 9 deletions

File tree

Detectors/PHOS/calib/include/PHOSCalibWorkflow/PHOSTurnonCalibDevice.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class PHOSTurnonCalibDevice : public o2::framework::Task
5252

5353
private:
5454
bool mUseCCDB = false;
55-
long mRunStartTime = 0; /// start time of the run (sec)
55+
long mRunStartTime = 0; /// start time of the run (ms)
5656
std::unique_ptr<TriggerMap> mTriggerMap; /// Final calibration object
5757
std::unique_ptr<PHOSTurnonCalibrator> mCalibrator; /// Agregator of calibration TimeFrameSlots
5858
std::shared_ptr<o2::base::GRPGeomRequest> mCCDBRequest;

Detectors/PHOS/calib/src/PHOSTurnonCalibDevice.cxx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ void PHOSTurnonCalibDevice::init(o2::framework::InitContext& ic)
3939
}
4040
void PHOSTurnonCalibDevice::run(o2::framework::ProcessingContext& pc)
4141
{
42+
auto crTime = pc.services().get<o2::framework::TimingInfo>().creation;
43+
if (mRunStartTime == 0 || crTime < mRunStartTime) {
44+
mRunStartTime = crTime;
45+
}
4246
o2::base::GRPGeomHelper::instance().checkUpdates(pc);
4347
auto tfcounter = o2::header::get<o2::framework::DataProcessingHeader*>(pc.inputs().get("clusters").header)->startTime; // is this the timestamp of the current TF?
4448
auto cells = pc.inputs().get<gsl::span<Cell>>("cells");
@@ -60,7 +64,8 @@ void PHOSTurnonCalibDevice::endOfStream(o2::framework::EndOfStreamContext& ec)
6064
// Calculate and send final object to CCDB
6165
auto flName = o2::ccdb::CcdbApi::generateFileName("TriggerMap");
6266
std::map<std::string, std::string> md;
63-
o2::ccdb::CcdbObjectInfo info("PHS/Calib/TriggerMap", "TriggerMap", flName, md, mRunStartTime, o2::ccdb::CcdbObjectInfo::INFINITE_TIMESTAMP);
67+
o2::ccdb::CcdbObjectInfo info("PHS/Calib/TriggerMap", "TriggerMap", flName, md,
68+
mRunStartTime - o2::ccdb::CcdbObjectInfo::MINUTE, mRunStartTime + o2::ccdb::CcdbObjectInfo::YEAR);
6469
info.setMetaData(md);
6570
auto image = o2::ccdb::CcdbApi::createObjectImage(mTriggerMap.get(), &info);
6671

@@ -69,9 +74,8 @@ void PHOSTurnonCalibDevice::endOfStream(o2::framework::EndOfStreamContext& ec)
6974
<< " bytes, valid for " << info.getStartValidityTimestamp()
7075
<< " : " << info.getEndValidityTimestamp();
7176

72-
header::DataHeader::SubSpecificationType subSpec{(header::DataHeader::SubSpecificationType)0};
73-
ec.outputs().snapshot(Output{o2::calibration::Utils::gDataOriginCDBPayload, "PHOS_Tunron", subSpec}, *image.get());
74-
ec.outputs().snapshot(Output{o2::calibration::Utils::gDataOriginCDBPayload, "PHOS_Tunron", subSpec}, info);
77+
ec.outputs().snapshot(Output{o2::calibration::Utils::gDataOriginCDBPayload, "PHOS_Turnon", 0}, *image.get());
78+
ec.outputs().snapshot(Output{o2::calibration::Utils::gDataOriginCDBWrapper, "PHOS_Turnon", 0}, info);
7579
} else {
7680
LOG(error) << "Incorrect fit results";
7781
}
@@ -97,10 +101,8 @@ o2::framework::DataProcessorSpec o2::phos::getPHOSTurnonCalibDeviceSpec(bool use
97101
inputs);
98102
using clbUtils = o2::calibration::Utils;
99103
std::vector<OutputSpec> outputs;
100-
outputs.emplace_back(
101-
ConcreteDataTypeMatcher{clbUtils::gDataOriginCDBPayload, "PHOS_Tunron"}, Lifetime::Sporadic);
102-
outputs.emplace_back(
103-
ConcreteDataTypeMatcher{clbUtils::gDataOriginCDBWrapper, "PHOS_Tunron"}, Lifetime::Sporadic);
104+
outputs.emplace_back(clbUtils::gDataOriginCDBPayload, "PHOS_Turnon", 0, Lifetime::Sporadic);
105+
outputs.emplace_back(clbUtils::gDataOriginCDBWrapper, "PHOS_Turnon", 0, Lifetime::Sporadic);
104106
// stream for QC data
105107
// outputs.emplace_back("PHS", "TRIGGERQC", 0, o2::framework::Lifetime::Timeframe);
106108

0 commit comments

Comments
 (0)