From 1690917f6dacfefdc569834c31e164a54db24965 Mon Sep 17 00:00:00 2001
From: "s.zharko@gsi.de" <s.zharko@gsi.de>
Date: Mon, 19 Sep 2022 13:30:31 +0200
Subject: [PATCH] L1: Duplicating code for STS hits matching was removed

---
 reco/L1/CbmL1ReadEvent.cxx | 99 +++-----------------------------------
 1 file changed, 6 insertions(+), 93 deletions(-)

diff --git a/reco/L1/CbmL1ReadEvent.cxx b/reco/L1/CbmL1ReadEvent.cxx
index 62a2efb5ab..8e5311961f 100644
--- a/reco/L1/CbmL1ReadEvent.cxx
+++ b/reco/L1/CbmL1ReadEvent.cxx
@@ -54,9 +54,6 @@ using std::cout;
 using std::endl;
 using std::find;
 
-//#define MVDIDEALHITS
-//#define STSIDEALHITS
-
 
 static bool compareZ(const int& a, const int& b)
 {
@@ -565,9 +562,6 @@ void CbmL1::ReadEvent(float& TsStart, float& TsLength, float& /*TsOverlap*/, int
           if (mvdHitMatch->GetNofLinks() > 0)
             if (mvdHitMatch->GetLink(0).GetIndex() < nMvdPoints) {
               th.iMC = mvdHitMatch->GetLink(0).GetIndex();
-#ifdef MVDIDEALHITS
-//TODO
-#endif
             }
         }
       }
@@ -619,8 +613,6 @@ void CbmL1::ReadEvent(float& TsStart, float& TsLength, float& /*TsOverlap*/, int
       else
         hitIndexSort = j;
 
-      CbmStsHit* sh = L1_DYNAMIC_CAST<CbmStsHit*>(fpStsHits->At(hitIndexSort));
-
       // ***********************************
       // ** Fill the temporary hit object **
       // ***********************************
@@ -657,7 +649,7 @@ void CbmL1::ReadEvent(float& TsStart, float& TsLength, float& /*TsOverlap*/, int
         /// stop if reco TS ends and many hits left
         if (!event)
           if ((th.time > (TsStart + TsLength)) && ((nEntSts - hitIndex) > 300)) {
-            areDataLeft = true;  // there are unprocessed data left in the time slice
+    
             break;
           }
 
@@ -682,62 +674,6 @@ void CbmL1::ReadEvent(float& TsStart, float& TsLength, float& /*TsOverlap*/, int
       }
       th.iMC = -1;
 
-      Int_t iMC = -1;
-
-      if (fPerformance) {
-        /// TODO: Matching should be done in CbmMatchRecoToMC (S.Zharko)
-        if (fpStsClusterMatches) {
-          const CbmMatch* frontClusterMatch =
-            static_cast<const CbmMatch*>(fpStsClusterMatches->At(sh->GetFrontClusterId()));
-          const CbmMatch* backClusterMatch =
-            static_cast<const CbmMatch*>(fpStsClusterMatches->At(sh->GetBackClusterId()));
-          CbmMatch stsHitMatch;
-
-          for (Int_t iFrontLink = 0; iFrontLink < frontClusterMatch->GetNofLinks(); iFrontLink++) {
-            const CbmLink& frontLink = frontClusterMatch->GetLink(iFrontLink);
-
-            for (Int_t iBackLink = 0; iBackLink < backClusterMatch->GetNofLinks(); iBackLink++) {
-              const CbmLink& backLink = backClusterMatch->GetLink(iBackLink);
-              if (frontLink == backLink) {
-                stsHitMatch.AddLink(frontLink);
-                stsHitMatch.AddLink(backLink);
-              }
-            }
-          }
-
-          if (stsHitMatch.GetNofLinks() > 0) {
-            Float_t bestWeight = 0.f;
-            for (Int_t iLink = 0; iLink < stsHitMatch.GetNofLinks(); iLink++) {
-              if (stsHitMatch.GetLink(iLink).GetWeight() > bestWeight) {
-                bestWeight   = stsHitMatch.GetLink(iLink).GetWeight();
-                Int_t iFile  = stsHitMatch.GetLink(iLink).GetFile();
-                Int_t iEvent = stsHitMatch.GetLink(iLink).GetEntry();
-                //                 if(fLegacyEventMode) //TODO Fix the event number in links
-                //                   iEvent+=1;
-                Int_t iIndex            = stsHitMatch.GetLink(iLink).GetIndex() + nMvdPoints;
-                Double_t dtrck          = dFEI(iFile, iEvent, iIndex);
-                DFEI2I::iterator trk_it = dFEI2vMCPoints.find(dtrck);
-                if (trk_it == dFEI2vMCPoints.end()) continue;
-                iMC = trk_it->second;
-              }
-            }
-          }
-#ifdef STSIDEALHITS
-          // TODO
-          // CbmStsPoint* point = L1_DYNAMIC_CAST<CbmStsPoint*>(listStsPts->At(s.ExtIndex));
-          // h.z = 0.5 * (point->GetZOut() + point->GetZIn());
-#endif
-        }
-        else {
-          iMC = sh->GetRefId();  // TODO1: don't need this with FairLinks
-        }
-      }  //fPerformance
-
-      if (iMC > -1) {
-        th.iMC = iMC;
-        // th.track = iMC;
-      }
-
       tmpHits.push_back(th);
       nStsHits++;
 
@@ -1433,7 +1369,7 @@ bool CbmL1::ReadMCPoint(CbmL1MCPoint* MC, int iPoint, int file, int event, int M
 bool CbmL1::ReadMCPoint(CbmL1MCPoint* /*MC*/, int /*iPoint*/, int /*MVD*/) { return 0; }
 //
 //--------------------------------------------------------------------------------------------------
-//
+
 // TODO: Duplicated code (from CbmL1::ReadEvent)
 void CbmL1::HitMatch()
 {
@@ -1442,6 +1378,8 @@ void CbmL1::HitMatch()
     CbmL1Hit& hit = fvExternalHits[iH];
 
     if ((hit.Det == 1) && (2 != fStsUseMcHit)) {
+      L1_SHOW(iH);
+
       CbmStsHit* sh = L1_DYNAMIC_CAST<CbmStsHit*>(fpStsHits->At(fvExternalHits[iH].extIndex));
 
       int iP = -1;
@@ -1454,30 +1392,10 @@ void CbmL1::HitMatch()
           static_cast<const CbmMatch*>(fpStsClusterMatches->At(sh->GetBackClusterId()));
         CbmMatch stsHitMatch;
 
-        Float_t Sum_of_front = 0;  // total weight of all front links
-        Float_t Sum_of_back  = 0;  // total weight of all back links
-
-
         for (Int_t iFrontLink = 0; iFrontLink < frontClusterMatch->GetNofLinks(); iFrontLink++) {
           const CbmLink& frontLink = frontClusterMatch->GetLink(iFrontLink);
-          Sum_of_front             = Sum_of_front + frontLink.GetWeight();
-        }
-
-        for (Int_t iBackLink = 0; iBackLink < backClusterMatch->GetNofLinks(); iBackLink++) {
-          const CbmLink& backLink = backClusterMatch->GetLink(iBackLink);
-          Sum_of_back             = Sum_of_back + backLink.GetWeight();
-        }
-
-        for (Int_t iFrontLink = 0; iFrontLink < frontClusterMatch->GetNofLinks(); iFrontLink++) {
-          const CbmLink& frontLink = frontClusterMatch->GetLink(iFrontLink);
-
-          // Float_t Fraction_front = frontLink.GetWeight()/Sum_of_front;
-
           for (Int_t iBackLink = 0; iBackLink < backClusterMatch->GetNofLinks(); iBackLink++) {
             const CbmLink& backLink = backClusterMatch->GetLink(iBackLink);
-
-            // Float_t  Fraction_back = backLink.GetWeight()/Sum_of_back;
-
             if (frontLink == backLink) {
               stsHitMatch.AddLink(frontLink);
               stsHitMatch.AddLink(backLink);
@@ -1515,13 +1433,8 @@ void CbmL1::HitMatch()
         hit.mcPointIds.push_back_no_warning(iP);
         fvMCPoints[iP].hitIds.push_back_no_warning(iH);
       }
-      else {
-        int idPoint = fvHitPointIndexes[iH];
-        if (idPoint >= 0) {
-          hit.mcPointIds.push_back_no_warning(idPoint);
-          fvMCPoints[idPoint].hitIds.push_back_no_warning(iH);
-        }
-      }  // if no clusters
+
+      fvHitPointIndexes[iH] = iP;
     }
 
     if ((hit.Det != 1) || (2 == fStsUseMcHit)) {  // the hit is not from STS
-- 
GitLab