Skip to content
Snippets Groups Projects

Remove broken hits (negative eloss) from TRD branch in AT converter

Merged Frederic Julian Linz requested to merge f.kornas/cbmroot:trd into master
@@ -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,15 +108,22 @@ 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();
if (rec_tracks_map.find(stsTrackIndex) != rec_tracks_map.end()) {
Loading