@@ -39,6 +39,10 @@ void PHOSTurnonCalibDevice::init(o2::framework::InitContext& ic)
3939}
4040void 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