@@ -119,6 +119,7 @@ void PHOSPedestalCalibDevice::sendOutput(DataAllocator& output)
119119 header::DataHeader::SubSpecificationType subSpec{(header::DataHeader::SubSpecificationType)0 };
120120 output.snapshot (Output{o2::calibration::Utils::gDataOriginCDBPayload , " PHOS_Pedestal" , subSpec}, *image.get ());
121121 output.snapshot (Output{o2::calibration::Utils::gDataOriginCDBWrapper , " PHOS_Pedestal" , subSpec}, info);
122+
122123 // Now same for DCS as vector
123124 std::vector<short > dcsPedestals (2 * (o2::phos::Mapping::NCHANNELS - 1792 ));
124125 // copy HG then LG pedestals
@@ -128,10 +129,18 @@ void PHOSPedestalCalibDevice::sendOutput(DataAllocator& output)
128129 for (short absId = 1793 ; absId <= o2::phos::Mapping::NCHANNELS; absId++) {
129130 dcsPedestals.emplace_back (mPedestals ->getLGPedestal (absId));
130131 }
131- auto imageDCS = o2::ccdb::CcdbApi::createObjectImage (&dcsPedestals, &info);
132+
133+ auto flNameDCS = o2::ccdb::CcdbApi::generateFileName (" PedestalsDCS" );
134+ std::map<std::string, std::string> mdDCS;
135+ o2::ccdb::CcdbObjectInfo infoDCS (" PHS/PedestalRun/Pedestals" , " PedestalsDCS" , flNameDCS, mdDCS, mRunStartTime , validityTime);
136+ auto imageDCS = o2::ccdb::CcdbApi::createObjectImage (&dcsPedestals, &infoDCS);
137+ // subspec 0 -> to normal CCDB
138+ output.snapshot (Output{o2::calibration::Utils::gDataOriginCDBPayload , " PHOS_PedestalVec" , subSpec}, *imageDCS.get ());
139+ output.snapshot (Output{o2::calibration::Utils::gDataOriginCDBWrapper , " PHOS_PedestalVec" , subSpec}, infoDCS);
140+ // subspec 1 -> to DCS CCDB
132141 header::DataHeader::SubSpecificationType subSpec1{(header::DataHeader::SubSpecificationType)1 };
133- output.snapshot (Output{o2::calibration::Utils::gDataOriginCDBPayload , " PHOS_Pedestal " , subSpec1}, *imageDCS.get ());
134- output.snapshot (Output{o2::calibration::Utils::gDataOriginCDBWrapper , " PHOS_Pedestal " , subSpec1}, info );
142+ output.snapshot (Output{o2::calibration::Utils::gDataOriginCDBPayload , " PHOS_PedestalVec " , subSpec1}, *imageDCS.get ());
143+ output.snapshot (Output{o2::calibration::Utils::gDataOriginCDBWrapper , " PHOS_PedestalVec " , subSpec1}, infoDCS );
135144 }
136145 // Anyway send change to QC
137146 LOG (info) << " [PHOSPedestalCalibDevice - run] Sending QC " ;
@@ -220,6 +229,9 @@ o2::framework::DataProcessorSpec o2::phos::getPedestalCalibSpec(bool useCCDB, bo
220229 outputs.emplace_back (o2::header::gDataOriginPHS , " CALIBDIFF" , 0 , o2::framework::Lifetime::Sporadic);
221230 outputs.emplace_back (ConcreteDataTypeMatcher{clbUtils::gDataOriginCDBPayload , " PHOS_Pedestal" }, o2::framework::Lifetime::Sporadic);
222231 outputs.emplace_back (ConcreteDataTypeMatcher{clbUtils::gDataOriginCDBWrapper , " PHOS_Pedestal" }, o2::framework::Lifetime::Sporadic);
232+ outputs.emplace_back (ConcreteDataTypeMatcher{clbUtils::gDataOriginCDBPayload , " PHOS_PedestalVec" }, o2::framework::Lifetime::Sporadic);
233+ outputs.emplace_back (ConcreteDataTypeMatcher{clbUtils::gDataOriginCDBWrapper , " PHOS_PedestalVec" }, o2::framework::Lifetime::Sporadic);
234+
223235 return o2::framework::DataProcessorSpec{" PedestalCalibSpec" ,
224236 inputs,
225237 outputs,
0 commit comments