From 5f4941243307a83983007a66e0864f8d2bd7ee37 Mon Sep 17 00:00:00 2001
From: "se.gorbunov" <se.gorbunov@gsi.de>
Date: Wed, 5 Apr 2023 15:05:51 +0000
Subject: [PATCH] L1: bugfix in CbmL1PFFitter: protection for non-existing MVD
 hit array

---
 reco/L1/ParticleFinder/CbmL1PFFitter.cxx | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/reco/L1/ParticleFinder/CbmL1PFFitter.cxx b/reco/L1/ParticleFinder/CbmL1PFFitter.cxx
index daa3fbc6e5..ee121c60d2 100644
--- a/reco/L1/ParticleFinder/CbmL1PFFitter.cxx
+++ b/reco/L1/ParticleFinder/CbmL1PFFitter.cxx
@@ -450,13 +450,17 @@ void CbmL1PFFitter::Fit(vector<CbmStsTrack>& Tracks, const vector<int>& pidHypo)
   std::vector<CbmMvdHit> vMvdHits;
   std::vector<CbmStsHit> vStsHits;
 
-  for (int ih = 0; ih < mvdHitArray->GetEntriesFast(); ih++) {
-    CbmMvdHit hit = *dynamic_cast<const CbmMvdHit*>(mvdHitArray->At(ih));
-    vMvdHits.push_back(hit);
+  if (mvdHitArray) {
+    for (int ih = 0; ih < mvdHitArray->GetEntriesFast(); ih++) {
+      CbmMvdHit hit = *dynamic_cast<const CbmMvdHit*>(mvdHitArray->At(ih));
+      vMvdHits.push_back(hit);
+    }
   }
 
-  for (int ih = 0; ih < stsHitArray->GetEntriesFast(); ih++) {
-    vStsHits.push_back(*dynamic_cast<const CbmStsHit*>(stsHitArray->At(ih)));
+  if (stsHitArray) {
+    for (int ih = 0; ih < stsHitArray->GetEntriesFast(); ih++) {
+      vStsHits.push_back(*dynamic_cast<const CbmStsHit*>(stsHitArray->At(ih)));
+    }
   }
 
   Fit(Tracks, vMvdHits, vStsHits, pidHypo);
-- 
GitLab