From 2b32df7e7f6ffae042d49fa44e6762c91deabb64 Mon Sep 17 00:00:00 2001 From: Dominik Smith <d.smith@gsi.de> Date: Wed, 10 Nov 2021 11:20:58 +0100 Subject: [PATCH] CbmTrdHitProducerQa: Particle ID now properly obtained from MC tracks. --- reco/detectors/trd/qa/CbmTrdHitProducerQa.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/reco/detectors/trd/qa/CbmTrdHitProducerQa.cxx b/reco/detectors/trd/qa/CbmTrdHitProducerQa.cxx index 507593e4ac..19c1f315ff 100644 --- a/reco/detectors/trd/qa/CbmTrdHitProducerQa.cxx +++ b/reco/detectors/trd/qa/CbmTrdHitProducerQa.cxx @@ -176,7 +176,13 @@ void CbmTrdHitProducerQa::Exec(Option_t*) cout << GetName() << ": Warning, TRD plane out of bounds, skipping hit." << endl; continue; } - const int partID = (dynamic_cast<CbmMCTrack*>(fMCTrackArray->Get(trdDigiMatch->GetMatchedLink())))->GetPdgCode(); + + //get particle ID of track corresponding to point + const int fileId = trdDigiMatch->GetMatchedLink().GetFile(); + const int event = trdDigiMatch->GetMatchedLink().GetEntry(); + const int index = trdPoint->GetTrackID(); + const CbmMCTrack* track = dynamic_cast<CbmMCTrack*>(fMCTrackArray->Get(fileId, event, index)); + const int partID = track->GetPdgCode(); const float momentum = TMath::Sqrt((trdPoint->GetPx() * trdPoint->GetPx()) + (trdPoint->GetPy() * trdPoint->GetPy()) + (trdPoint->GetPz() * trdPoint->GetPz())); -- GitLab