diff --git a/analysis/common/analysis_tree_converter/CbmTrdTracksConverter.cxx b/analysis/common/analysis_tree_converter/CbmTrdTracksConverter.cxx index ebe5ee75293823dd6557eaaa282504c80a2a3c34..1616e548a27194de9c0ca8ac59a69317f57c7723 100644 --- a/analysis/common/analysis_tree_converter/CbmTrdTracksConverter.cxx +++ b/analysis/common/analysis_tree_converter/CbmTrdTracksConverter.cxx @@ -92,7 +92,6 @@ void CbmTrdTracksConverter::ProcessData(CbmEvent* event) trd_track->GetParamLast()->Momentum(mom_last); track.SetMomentum3(mom); - track.SetField(int(trd_track->GetNofHits()), i_n_hits_); track.SetField(float(trd_track->GetPidLikeEL()), i_pid_like_); track.SetField(float(trd_track->GetPidLikePI()), i_pid_like_ + 1); @@ -109,14 +108,20 @@ void CbmTrdTracksConverter::ProcessData(CbmEvent* event) track.SetField(0.f, i_e_loss_i_ + i); } + int trd_hits = trd_track->GetNofHits(); for (Int_t ihit = 0; ihit < trd_track->GetNofHits(); ihit++) { Int_t idx = trd_track->GetHitIndex(ihit); auto* hit = (CbmTrdHit*) cbm_trd_hits_->At(idx); if (hit) { - // std::cout << hit->GetELoss()*1e6 << " " << hit->GetPlaneId() << std::endl; - track.SetField(float(hit->GetELoss() * 1e6), i_e_loss_i_ + hit->GetPlaneId()); + if (hit->GetELoss() > 0) { + track.SetField(float(hit->GetELoss() * 1e6), i_e_loss_i_ + hit->GetPlaneId()); + } else { + trd_hits--; + } } } + + track.SetField(trd_hits, i_n_hits_); if (rec_tracks_map.empty()) { continue; } const Int_t stsTrackIndex = global_track->GetStsTrackIndex();