diff --git a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx index 42002bf65930cf26360791a28829de2c92b862ba..8ad197be8dd5b8c612b1fa8509f0e23ec58647e7 100644 --- a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx +++ b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx @@ -250,13 +250,20 @@ void CbmMcbmCheckTimingAlgo::CheckInterSystemOffset() Double_t dRefTime = 0; Double_t dRefCharge = 0; + UInt_t uRefAddress = 0; if (ECbmModuleId::kT0 == fRefDet.detId) { dRefTime = fpT0DigiVec->at(uDigi).GetTime(); dRefCharge = fpT0DigiVec->at(uDigi).GetCharge(); } // if( ECbmModuleId::kT0 == fRefDet.detId ) + if (ECbmModuleId::kPsd == fRefDet.detId) { + dRefTime = fDigiMan->Get<DigiRef>(uDigi)->GetTime(); + dRefCharge = fDigiMan->Get<DigiRef>(uDigi)->GetCharge(); + uRefAddress = fDigiMan->Get<DigiRef>(uDigi)->GetAddress(); + } // if( ECbmModuleId::kT0 == fRefDet.detId ) else { dRefTime = fDigiMan->Get<DigiRef>(uDigi)->GetTime(); dRefCharge = fDigiMan->Get<DigiRef>(uDigi)->GetCharge(); + uRefAddress = fDigiMan->Get<DigiRef>(uDigi)->GetAddress(); } // else of if( ECbmModuleId::kT0 == fRefDet.detId ) /// Fill self time difference histo @@ -276,6 +283,8 @@ void CbmMcbmCheckTimingAlgo::CheckInterSystemOffset() if (fRefDet.uChargeCutMin < dRefCharge || dRefCharge < fRefDet.uChargeCutMax) { continue; } // if( fRefDet.uChargeCutMin < dRefCharge || dRefCharge < fRefDet.uChargeCutMax ) + /// Psd Pulser selection + if (ECbmModuleId::kPsd == fRefDet.detId && CbmPsdAddress::GetSectionId(uRefAddress) != 10) continue; } // else of if( fRefDet.uChargeCutMin < fRefDet.uChargeCutMax ) } // if( fRefDet.uChargeCutMin =! fRefDet.uChargeCutMax ) @@ -346,6 +355,7 @@ void CbmMcbmCheckTimingAlgo::FillTimeOffsetHistos(const Double_t dRefTime, const for (UInt_t uDigiIdx = fvDets[uDetIdx].iPrevRefFirstDigi; uDigiIdx < uNbDigis; ++uDigiIdx) { Double_t dTime = 0; Double_t dCharge = 0; + UInt_t uAddress = 0; if (ECbmModuleId::kT0 == fvDets[uDetIdx].detId) { dTime = fpT0DigiVec->at(uDigiIdx).GetTime(); dCharge = fpT0DigiVec->at(uDigiIdx).GetCharge(); @@ -353,6 +363,7 @@ void CbmMcbmCheckTimingAlgo::FillTimeOffsetHistos(const Double_t dRefTime, const else { dTime = fDigiMan->Get<Digi>(uDigiIdx)->GetTime(); dCharge = fDigiMan->Get<Digi>(uDigiIdx)->GetCharge(); + uAddress = fDigiMan->Get<Digi>(uDigiIdx)->GetAddress(); } // else of if( ECbmModuleId::kT0 == fRefDet.detId ) /// Fill self correlation histo while avoiding double counting due to @@ -386,6 +397,8 @@ void CbmMcbmCheckTimingAlgo::FillTimeOffsetHistos(const Double_t dRefTime, const if (fvDets[uDetIdx].uChargeCutMin < dCharge || dCharge < fvDets[uDetIdx].uChargeCutMax) { continue; } // if( fvDets[ uDetIdx ].uChargeCutMin < dCharge || dCharge < fvDets[ uDetIdx ].uChargeCutMax ) + /// Psd Pulser selection + if (ECbmModuleId::kPsd == fvDets[uDetIdx].detId && CbmPsdAddress::GetSectionId(uAddress) != 10) continue; } // else of if( fvDets[ uDetIdx ].uChargeCutMin < fvDets[ uDetIdx ].uChargeCutMax ) } // if( fvDets[ uDetIdx ].uChargeCutMin != fvDets[ uDetIdx ].uChargeCutMax ) diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoPsd.cxx b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoPsd.cxx index 115dbbe7edb6543719ace37af9ddfb2aa6d57ccb..ec08fe382037ffc26ed1a60af0548b8f533478fa 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 = static_cast<double>(fulCurrentMsIdx); + fdMsTime = (1e-9) * static_cast<double>(fulCurrentMsIdx); LOG(debug) << "Microslice: " << fulCurrentMsIdx << " from EqId " << std::hex << fuCurrentEquipmentId << std::dec << " has size: " << uSize; diff --git a/macro/beamtime/mcbm2021/MonitorPsd.C b/macro/beamtime/mcbm2021/MonitorPsd.C index dda9fb5cf2bce4cb325fa66b94c6abe5a22c9ed9..bc5eac47510d609a471ac3fc0f88a0d4e54790b4 100644 --- a/macro/beamtime/mcbm2021/MonitorPsd.C +++ b/macro/beamtime/mcbm2021/MonitorPsd.C @@ -81,7 +81,7 @@ void MonitorPsd(TString inFile = "", TString sHostname = "localhost", Int_t iSer // source->AddUnpacker(monitor_psd, 0x80, ECbmModuleId::kPsd); - source->AddUnpacker(monitor_psd, 0x00, ECbmModuleId::kPsd); //FIXME + source->AddUnpacker(monitor_psd, 0x80, ECbmModuleId::kPsd); source->SetSubscriberHwm(1000); // --- Run