From 8bfcec1e87b1c1ab92d268e88758405e7d312cbc Mon Sep 17 00:00:00 2001 From: Nikolay Karpushkin <karpushkin@inr.ru> Date: Tue, 13 Jul 2021 12:02:40 +0200 Subject: [PATCH] proper time --- fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoPsd.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoPsd.cxx b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoPsd.cxx index 5e5a1dc9ab..115dbbe7ed 100644 --- a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoPsd.cxx +++ b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoPsd.cxx @@ -218,7 +218,7 @@ Bool_t CbmMcbm2018UnpackerAlgoPsd::ProcessMs(const fles::Timeslice& ts, size_t u uint32_t uSize = msDescriptor.size; fulCurrentMsIdx = msDescriptor.idx; - fdMsTime = (1e-9) * static_cast<double>(fulCurrentMsIdx); + fdMsTime = static_cast<double>(fulCurrentMsIdx); LOG(debug) << "Microslice: " << fulCurrentMsIdx << " from EqId " << std::hex << fuCurrentEquipmentId << std::dec << " has size: " << uSize; @@ -263,6 +263,7 @@ Bool_t CbmMcbm2018UnpackerAlgoPsd::ProcessMs(const fles::Timeslice& ts, size_t u /// Save start time of first valid MS ) if (fdStartTime < 0) fdStartTime = fdMsTime; + Double_t dMsRelativeTime = fdMsTime - fdStartTime; // If MS time is less than start time print error and return if (fdMsTime - fdStartTime < 0) { @@ -316,7 +317,7 @@ Bool_t CbmMcbm2018UnpackerAlgoPsd::ProcessMs(const fles::Timeslice& ts, size_t u if (ReadResult == 0) { double prev_hit_time = - fdTsStartTime + (double) PsdReader.VectPackHdr.at(0).uAdcTime * 12.5 - fdTimeOffsetNs; //in ns + dMsRelativeTime + (double) PsdReader.VectPackHdr.at(0).uAdcTime * 12.5 - fdTimeOffsetNs; //in ns //hit loop for (uint64_t hit_iter = 0; hit_iter < PsdReader.VectHitHdr.size(); hit_iter++) { @@ -337,7 +338,7 @@ Bool_t CbmMcbm2018UnpackerAlgoPsd::ProcessMs(const fles::Timeslice& ts, size_t u UInt_t uChanUId = fviPsdChUId[uHitChannel]; //unique ID UInt_t fuAddress = uChanUId; /// Unique channel address - Double_t fdTime = fdTsStartTime + (double) PsdReader.VectPackHdr.at(hit_iter).uAdcTime * 12.5 + Double_t fdTime = dMsRelativeTime + (double) PsdReader.VectPackHdr.at(hit_iter).uAdcTime * 12.5 - fdTimeOffsetNs; /// Time of measurement [ns] Double_t fdEdep = (double) PsdReader.VectHitHdr.at(hit_iter).uSignalCharge / fUnpackPar->GetMipCalibration(uHitChannel); /// Energy deposition from FPGA [MeV] -- GitLab