diff --git a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx index ffa17d451ab99ff3375748e64136a2da5d559ed7..e6fbc8c4def97890eb0e6c438a121a8db03451cd 100644 --- a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx +++ b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx @@ -463,7 +463,7 @@ uint CbmMcbmCheckTimingAlgo::GetDigiInfo<CbmTrdDigi>(UInt_t uDigi, std::vector<s const CbmTrdDigi* trdDigi = fDigiMan->Get<CbmTrdDigi>(uDigi); if (trdDigi == nullptr) return 0; - const double dt = trdDigi->GetTime(); + double dt = trdDigi->GetTime(); if (trdDigi->GetType() == CbmTrdDigi::eCbmTrdAsicType::kSPADIC) { vec->push_back(std::make_tuple(trdDigi->GetTime(), trdDigi->GetCharge(), trdDigi->GetAddressModule())); @@ -473,12 +473,20 @@ uint CbmMcbmCheckTimingAlgo::GetDigiInfo<CbmTrdDigi>(UInt_t uDigi, std::vector<s int toff(0); uint n(0); double t, r = trdDigi->GetCharge(t, toff); + if (toff < 0) { // keep increasing order in time of digi + double tmp = t; + t = r; + dt -= toff * CbmTrdDigi::Clk(CbmTrdDigi::eCbmTrdAsicType::kFASP); + r = tmp; + toff = -toff; + } if (t > 0) { - vec->push_back(std::make_tuple(dt, t, trdDigi->GetAddressModule())); + vec->push_back(std::make_tuple(dt, t / 20., trdDigi->GetAddressModule())); n++; } if (r > 0) { - vec->push_back(std::make_tuple(dt + toff, r, trdDigi->GetAddressModule())); + vec->push_back(std::make_tuple(dt + toff * CbmTrdDigi::Clk(CbmTrdDigi::eCbmTrdAsicType::kFASP), r / 20., + trdDigi->GetAddressModule())); n++; } return n;