From 1741e4ac280acdbff36c79422bb234fee86f8cbc Mon Sep 17 00:00:00 2001 From: "se.gorbunov" <se.gorbunov@gsi.de> Date: Thu, 12 Oct 2023 23:20:45 +0000 Subject: [PATCH] Ca: move L1Triplet class to /algo --- algo/ca/core/CMakeLists.txt | 2 + algo/ca/core/data/CaTriplet.cxx | 25 ++++ algo/ca/core/data/CaTriplet.h | 117 ++++++++++++++++++ reco/L1/CMakeLists.txt | 1 - reco/L1/L1Algo/L1Algo.h | 12 +- reco/L1/L1Algo/L1CaTrackFinderSlice.cxx | 12 +- reco/L1/L1Algo/L1CloneMerger.h | 6 +- reco/L1/L1Algo/L1Triplet.cxx | 18 --- reco/L1/L1Algo/L1Triplet.h | 109 ---------------- reco/L1/L1Algo/L1TripletConstructor.h | 6 +- reco/L1/L1Algo/utils/L1AlgoDraw.cxx | 6 +- reco/L1/L1Algo/utils/L1AlgoDraw.h | 4 +- .../finder/CbmL1RichENNRingFinderParallel.cxx | 4 +- 13 files changed, 169 insertions(+), 153 deletions(-) create mode 100644 algo/ca/core/data/CaTriplet.cxx create mode 100644 algo/ca/core/data/CaTriplet.h delete mode 100644 reco/L1/L1Algo/L1Triplet.cxx delete mode 100644 reco/L1/L1Algo/L1Triplet.h diff --git a/algo/ca/core/CMakeLists.txt b/algo/ca/core/CMakeLists.txt index c43f891688..9af82d63e4 100644 --- a/algo/ca/core/CMakeLists.txt +++ b/algo/ca/core/CMakeLists.txt @@ -11,6 +11,7 @@ set(SRCS ${CMAKE_CURRENT_SOURCE_DIR}/data/CaTrack.cxx ${CMAKE_CURRENT_SOURCE_DIR}/data/CaTrackParam.cxx ${CMAKE_CURRENT_SOURCE_DIR}/data/CaGrid.cxx + ${CMAKE_CURRENT_SOURCE_DIR}/data/CaTriplet.cxx ${CMAKE_CURRENT_SOURCE_DIR}/pars/CaConfigReader.cxx ${CMAKE_CURRENT_SOURCE_DIR}/pars/CaField.cxx ${CMAKE_CURRENT_SOURCE_DIR}/pars/CaInitManager.cxx @@ -58,6 +59,7 @@ install( data/CaGridEntry.h data/CaGrid.h data/CaGridArea.h + data/CaTriplet.h pars/CaConstants.h pars/CaField.h pars/CaInitManager.h diff --git a/algo/ca/core/data/CaTriplet.cxx b/algo/ca/core/data/CaTriplet.cxx new file mode 100644 index 0000000000..1e6b74c29b --- /dev/null +++ b/algo/ca/core/data/CaTriplet.cxx @@ -0,0 +1,25 @@ +/* Copyright (C) 2019-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt + SPDX-License-Identifier: GPL-3.0-only + Authors: Valentina Akishina, Sergey Gorbunov[committer] */ + +#include "CaTriplet.h" + +#include <sstream> +#include <string> + +std::string cbm::algo::ca::Triplet::ToString(int indentLevel) const +{ + /// print the triplet parameters + std::stringstream ss {}; + constexpr char indentChar = '\t'; + std::string indent(indentLevel, indentChar); + + ss << indent << "Triplet: station L/M/R " << GetLSta() << "/" << GetMSta() << "/" << GetRSta() << "\n" + << indent << " hit L/M/R " << fHitL << "/" << fHitM << "/" << fHitR << "\n" + << indent << " level " << fLevel << " first neighbor " << fFirstNeighbour << " Nneighbors " + << fNneighbours << "\n" + << indent << " qp " << fQp << " Cqp " << fCqp << " chi2 " << fChi2 << "\n" + << indent << " tx " << fTx << " Ctx " << fCtx << " ty " << fTy << " Cty " << fCty << std::endl; + + return ss.str(); +} diff --git a/algo/ca/core/data/CaTriplet.h b/algo/ca/core/data/CaTriplet.h new file mode 100644 index 0000000000..707fe400d0 --- /dev/null +++ b/algo/ca/core/data/CaTriplet.h @@ -0,0 +1,117 @@ +/* Copyright (C) 2019-2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt + SPDX-License-Identifier: GPL-3.0-only + Authors: Valentina Akishina, Sergey Gorbunov[committer] */ + +/// \file CaTriplet.h +/// \author Sergey Gorbunov +/// \author Valentina Akishina +/// \date 2021-05-18 + +#pragma once // include this header only once per compilation unit + +#include <string> + +#include "CaHit.h" +#include "CaSimd.h" + +namespace cbm::algo::ca +{ + + namespace + { + using namespace cbm::algo; // needed to keep 'ca::' prefix in the code + } + + /// \brief Triplet class represents a short 3-hits track segment called a "triplet". + /// + class Triplet { + public: + /// Default constructor + Triplet() = default; + + /// Constructor + Triplet(ca::HitIndex_t iHitL, ca::HitIndex_t iHitM, ca::HitIndex_t iHitR, unsigned int iStaL, unsigned int iStaM, + unsigned int iStaR, unsigned char Level, unsigned int firstNeighbour, char nNeighbours, fscal Chi2, + fscal Qp, fscal Cqp, fscal tx, fscal Ctx, fscal ty, fscal Cty, bool isMomentumFitted) + : fChi2(Chi2) + , fQp(Qp) + , fCqp(Cqp) + , fTx(tx) + , fCtx(Ctx) + , fTy(ty) + , fCty(Cty) + , fFirstNeighbour(firstNeighbour) + , fHitL(iHitL) + , fHitM(iHitM) + , fHitR(iHitR) + , fNneighbours(nNeighbours) + , fLevel(Level) + , fSta((iStaL << 4) + ((iStaM - iStaL - 1) << 2) + (iStaR - iStaL - 2)) + , fIsMomentumFitted(isMomentumFitted) + { + } + + /// Setters and getters + + void SetLevel(unsigned char Level) { fLevel = Level; } + unsigned char GetLevel() const { return fLevel; } + + ca::HitIndex_t GetLHit() const { return fHitL; } + ca::HitIndex_t GetMHit() const { return fHitM; } + ca::HitIndex_t GetRHit() const { return fHitR; } + + void SetNNeighbours(int n) { fNneighbours = n; } + int GetNNeighbours() const { return fNneighbours; } + + void SetFNeighbour(unsigned int n) { fFirstNeighbour = n; } + unsigned int GetFNeighbour() const { return fFirstNeighbour; } + + fscal GetQp() const { return fQp; } + fscal GetChi2() const { return fChi2; } + fscal GetTime() const { return -111.; } + + int GetLSta() const { return fSta >> 4; } + int GetMSta() const { return ((fSta % 16) >> 2) + GetLSta() + 1; } + int GetRSta() const { return (fSta % 4) + GetLSta() + 2; } + + fscal GetCqp() const { return fCqp; } + fscal GetTx() const { return fTx; } + fscal GetCtx() const { return fCtx; } + fscal GetTy() const { return fTy; } + fscal GetCty() const { return fCty; } + + bool IsMomentumFitted() const { return fIsMomentumFitted; } + void SetIsMomentumFitted(bool val) { fIsMomentumFitted = val; } + + /// String representation of class contents + /// \param indentLevel number of indent characters in the output + std::string ToString(int indentLevel = 0) const; + + private: + ///----------------------------------------------------------------------------------------------- + /// Data members + + fscal fChi2 {0.}; ///< chi^2 + fscal fQp {0.}; ///< q/p + fscal fCqp {0.}; ///< RMS^2 of q/p + fscal fTx {0.}; ///< tx at the left hit + fscal fCtx {0.}; ///< RMS^2 of tx + fscal fTy {0.}; ///< ty at the left hit + fscal fCty {0.}; ///< RMS^2 of ty + + unsigned int fFirstNeighbour {0}; ///< ID of the first neighbouring triplet + ca::HitIndex_t fHitL {0}; ///< left hit index (16b) in vHits array + ca::HitIndex_t fHitM {0}; ///< middle hit index (16b) + ca::HitIndex_t fHitR {0}; ///< right hit index (16b) + int fNneighbours {0}; ///< n of neighbouring triplets + + /// Triplet level - its possible position on the longest track candidate it belongs to. + /// level 0 = rightmost triplet of a track candidate + /// level k = k-ths triplet along the track counting upstream, from right to left. + unsigned char fLevel {0}; + + unsigned short fSta {0}; ///< packed station numbers: staL (12b), staM-1-staL (2b), staR-2-staL (2b) + bool fIsMomentumFitted {0}; ///< if the triplet momentum is fitted + }; + +} // namespace cbm::algo::ca diff --git a/reco/L1/CMakeLists.txt b/reco/L1/CMakeLists.txt index 75be450459..89f6a45074 100644 --- a/reco/L1/CMakeLists.txt +++ b/reco/L1/CMakeLists.txt @@ -187,7 +187,6 @@ install(FILES CbmL1Counters.h L1Algo/L1Assert.h L1Algo/L1EventEfficiencies.h L1Algo/L1Branch.h - L1Algo/L1Triplet.h L1Algo/L1Event.h L1Algo/L1EventMatch.h L1Algo/L1Utils.h diff --git a/reco/L1/L1Algo/L1Algo.h b/reco/L1/L1Algo/L1Algo.h index 535dcf0a29..bb90ffd735 100644 --- a/reco/L1/L1Algo/L1Algo.h +++ b/reco/L1/L1Algo/L1Algo.h @@ -38,12 +38,12 @@ class L1AlgoDraw; #include "CaStation.h" #include "CaTrack.h" #include "CaTrackParam.h" +#include "CaTriplet.h" #include "CaVector.h" #include "L1Branch.h" #include "L1CloneMerger.h" #include "L1Fit.h" -#include "L1Triplet.h" -#include "L1Utils.h" // ? DEPRECATED ? +#include "L1Utils.h" using namespace cbm::algo::ca; //TODO: remove @@ -125,7 +125,7 @@ public: // ** Functions, which pack and unpack indexes of station and triplet ** - // TODO: move to L1Triplet class (S.Zharko) + // TODO: move to ca::Triplet class (S.Zharko) /// Packs station and triplet indices to an unique triplet ID /// \param iStation Index of station in the active stations array /// \param iTriplet Index of triplet @@ -184,7 +184,7 @@ public: void ReadWindowData(); - void CAFindTrack(int ista, L1Branch& best_tr, unsigned char& best_L, fscal& best_chi2, const L1Triplet* curr_trip, + void CAFindTrack(int ista, L1Branch& best_tr, unsigned char& best_L, fscal& best_chi2, const ca::Triplet* curr_trip, L1Branch& curr_tr, unsigned char& curr_L, fscal& curr_chi2, unsigned char min_best_l, L1Branch* new_tr); @@ -266,7 +266,7 @@ public: const CbmL1MCTrack* GetMcTrackForWindowHit(int iHit) const; private: - bool checkTripletMatch(const L1Triplet& l, const L1Triplet& r, fscal& dchi2) const; + bool checkTripletMatch(const ca::Triplet& l, const ca::Triplet& r, fscal& dchi2) const; int fNstationsBeforePipe {0}; ///< number of stations before pipe (MVD stations in CBM) int fNfieldStations {0}; ///< number of stations in the field region @@ -317,7 +317,7 @@ public: Vector<ca::HitIndex_t> fSliceRecoHits {"L1Algo::fSliceRecoHits"}; ///< packed hits of reconstructed tracks /// Created triplets vs station index - Vector<L1Triplet> fTriplets[constants::size::MaxNstations] {{"L1Algo::fTriplets"}}; + Vector<ca::Triplet> fTriplets[constants::size::MaxNstations] {{"L1Algo::fTriplets"}}; /// Track candidates created out of adjacent triplets before the final track selection. /// The candidates may share any amount of hits. diff --git a/reco/L1/L1Algo/L1CaTrackFinderSlice.cxx b/reco/L1/L1Algo/L1CaTrackFinderSlice.cxx index a184e58eac..d775aaa7b2 100644 --- a/reco/L1/L1Algo/L1CaTrackFinderSlice.cxx +++ b/reco/L1/L1Algo/L1CaTrackFinderSlice.cxx @@ -60,7 +60,7 @@ using std::cout; using std::endl; using Track = cbm::algo::ca::Track; -bool L1Algo::checkTripletMatch(const L1Triplet& l, const L1Triplet& r, fscal& dchi2) const +bool L1Algo::checkTripletMatch(const ca::Triplet& l, const ca::Triplet& r, fscal& dchi2) const { dchi2 = 1.e20; @@ -388,7 +388,7 @@ void L1Algo::CaTrackFinderSlice() for (unsigned int it = 0; it < fTriplets[istal].size(); ++it) { - L1Triplet& tr = fTriplets[istal][it]; + ca::Triplet& tr = fTriplets[istal][it]; tr.SetLevel(0); tr.SetFNeighbour(0); tr.SetNNeighbours(0); @@ -407,7 +407,7 @@ void L1Algo::CaTrackFinderSlice() for (unsigned int iN = 0; iN < nNeighbours; ++iN, ++neighTriplet, ++neighLocation) { - L1Triplet& neighbour = fTriplets[neighStation][neighTriplet]; + ca::Triplet& neighbour = fTriplets[neighStation][neighTriplet]; fscal dchi2 = 0.; if (!checkTripletMatch(tr, neighbour, dchi2)) continue; @@ -474,7 +474,7 @@ void L1Algo::CaTrackFinderSlice() for (Tindex itrip = 0; itrip < (Tindex) fTriplets[istaF].size(); ++itrip) { - L1Triplet& first_trip = (fTriplets[istaF][itrip]); + ca::Triplet& first_trip = (fTriplets[istaF][itrip]); if (fvHitKeyFlags[fWindowHits[first_trip.GetLHit()].f] || fvHitKeyFlags[fWindowHits[first_trip.GetLHit()].b]) { continue; @@ -751,7 +751,7 @@ void L1Algo::CaTrackFinderSlice() ****************************************************************/ void L1Algo::CAFindTrack(int ista, L1Branch& best_tr, unsigned char& best_L, fscal& best_chi2, - const L1Triplet* curr_trip, L1Branch& curr_tr, unsigned char& curr_L, fscal& curr_chi2, + const ca::Triplet* curr_trip, L1Branch& curr_tr, unsigned char& curr_L, fscal& curr_chi2, unsigned char min_best_l, L1Branch* new_tr) /// recursive search for tracks /// input: @ista - station index, @&best_tr - best track for the privious call, @&best_L - @@ -837,7 +837,7 @@ void L1Algo::CAFindTrack(int ista, L1Branch& best_tr, unsigned char& best_L, fsc unsigned int Station = TripletId2Station(ID); unsigned int Triplet = TripletId2Triplet(ID); - const L1Triplet& new_trip = fTriplets[Station][Triplet]; + const ca::Triplet& new_trip = fTriplets[Station][Triplet]; fscal dchi2 = 0.; if (!checkTripletMatch(*curr_trip, new_trip, dchi2)) continue; diff --git a/reco/L1/L1Algo/L1CloneMerger.h b/reco/L1/L1Algo/L1CloneMerger.h index 1cba7f6e60..41a16f16a9 100644 --- a/reco/L1/L1Algo/L1CloneMerger.h +++ b/reco/L1/L1Algo/L1CloneMerger.h @@ -10,10 +10,10 @@ #ifndef L1CloneMerger_h #define L1CloneMerger_h 1 -#include "CaConstants.h" // TEMPORARY FOR fvec, fscal -#include "CaHit.h" // For ca::HitIndex_t +#include "CaHit.h" // For ca::HitIndex_t +#include "CaSimd.h" // TEMPORARY FOR fvec, fscal #include "CaVector.h" -#include "L1Def.h" +//#include "L1Def.h" using namespace cbm::algo::ca; //TODO: remove diff --git a/reco/L1/L1Algo/L1Triplet.cxx b/reco/L1/L1Algo/L1Triplet.cxx deleted file mode 100644 index dd61e3236c..0000000000 --- a/reco/L1/L1Algo/L1Triplet.cxx +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright (C) 2019-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Valentina Akishina, Sergey Gorbunov[committer] */ - -#include "L1Triplet.h" - -#include <iostream> - -void L1Triplet::Print() -{ - /// print the tracklet parameters - std::cout << " Triplet: station L/M/R " << GetLSta() << "/" << GetMSta() << "/" << GetRSta() << "\n" - << " hit L/M/R " << fHitL << "/" << fHitM << "/" << fHitR << "\n" - << " level " << fLevel << " first neighbor " << fFirstNeighbour << " Nneighbors " << fNneighbours - << "\n" - << " qp " << fQp << " Cqp " << fCqp << " chi2 " << fChi2 << "\n" - << " tx " << fTx << " Ctx " << fCtx << " ty " << fTy << " Cty " << fCty << std::endl; -} diff --git a/reco/L1/L1Algo/L1Triplet.h b/reco/L1/L1Algo/L1Triplet.h deleted file mode 100644 index c33f8a3a66..0000000000 --- a/reco/L1/L1Algo/L1Triplet.h +++ /dev/null @@ -1,109 +0,0 @@ -/* Copyright (C) 2019-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Valentina Akishina, Sergey Gorbunov[committer] */ - -#ifndef L1Triplet_h -#define L1Triplet_h - -// @file L1Triplet.h -// @author Sergey Gorbunov -// @author Valentina Akishina -// @date 2021-05-18 - -#include "CaSimd.h" - -namespace -{ - using namespace cbm::algo; - using namespace cbm::algo::ca; // TODO: remove -} - -/// L1Triplet class represents a short 3-hit track segment called a "triplet". -/// -class L1Triplet { -public: - /// default constructor - L1Triplet() = default; - - /// constructor - L1Triplet(unsigned int iHitL, unsigned int iHitM, unsigned int iHitR, unsigned int iStaL, unsigned int iStaM, - unsigned int iStaR, unsigned char Level, unsigned int firstNeighbour, char nNeighbours, fscal Chi2, - fscal Qp, fscal Cqp, fscal tx, fscal Ctx, fscal ty, fscal Cty, bool isMomentumFitted) - : fChi2(Chi2) - , fQp(Qp) - , fCqp(Cqp) - , fTx(tx) - , fCtx(Ctx) - , fTy(ty) - , fCty(Cty) - , fFirstNeighbour(firstNeighbour) - , fHitL(iHitL) - , fHitM(iHitM) - , fHitR(iHitR) - , fNneighbours(nNeighbours) - , fLevel(Level) - , fSta((iStaL << 4) + ((iStaM - iStaL - 1) << 2) + (iStaR - iStaL - 2)) - , fIsMomentumFitted(isMomentumFitted) - { - } - - /// Setters and getters - - void SetLevel(unsigned char Level) { fLevel = Level; } - unsigned char GetLevel() const { return fLevel; } - - ca::HitIndex_t GetLHit() const { return fHitL; } - ca::HitIndex_t GetMHit() const { return fHitM; } - ca::HitIndex_t GetRHit() const { return fHitR; } - - void SetNNeighbours(int n) { fNneighbours = n; } - int GetNNeighbours() const { return fNneighbours; } - - void SetFNeighbour(unsigned int n) { fFirstNeighbour = n; } - unsigned int GetFNeighbour() const { return fFirstNeighbour; } - - fscal GetQp() const { return fQp; } - fscal GetChi2() const { return fChi2; } - fscal GetTime() const { return -111.; } - - int GetLSta() const { return fSta >> 4; } - int GetMSta() const { return ((fSta % 16) >> 2) + GetLSta() + 1; } - int GetRSta() const { return (fSta % 4) + GetLSta() + 2; } - - fscal GetCqp() const { return fCqp; } - fscal GetTx() const { return fTx; } - fscal GetCtx() const { return fCtx; } - fscal GetTy() const { return fTy; } - fscal GetCty() const { return fCty; } - - bool IsMomentumFitted() const { return fIsMomentumFitted; } - void SetIsMomentumFitted(bool val) { fIsMomentumFitted = val; } - - /// print the tracklet parameters - void Print(); - -private: - fscal fChi2 = 0.f; ///< chi^2 - fscal fQp = 0.f; ///< q/p - fscal fCqp = 0.f; ///< RMS of q/p - fscal fTx = 0.f; ///< tx at the left hit - fscal fCtx = 0.f; ///< RMS of tx - fscal fTy = 0.f; ///< ty at the left hit - fscal fCty = 0.f; ///< RMS of ty - - unsigned int fFirstNeighbour = 0; ///< ID of the first neighbouring triplet - ca::HitIndex_t fHitL = 0; ///< left hit index (16b) in vHits array - ca::HitIndex_t fHitM = 0; ///< middle hit index (16b) - ca::HitIndex_t fHitR = 0; ///< right hit index (16b) - int fNneighbours = 0; ///< n of neighbouring triplets - - /// Triplet level - its possible position on the longest track candidate it belongs to. - /// level 0 = rightmost triplet of a track candidate - /// level k = k-ths triplet along the track counting upstream, from right to left. - unsigned char fLevel = 0; - - unsigned short fSta = 0; ///< packed station numbers: staL (12b), staM-1-staL (2b), staR-2-staL (2b) - bool fIsMomentumFitted = 0; ///< if the triplet momentum is fitted -}; - -#endif diff --git a/reco/L1/L1Algo/L1TripletConstructor.h b/reco/L1/L1Algo/L1TripletConstructor.h index 3a3eba9fab..bce1a1cea7 100644 --- a/reco/L1/L1Algo/L1TripletConstructor.h +++ b/reco/L1/L1Algo/L1TripletConstructor.h @@ -9,10 +9,10 @@ #include "CaGridEntry.h" #include "CaStation.h" #include "CaTrackParam.h" +#include "CaTriplet.h" #include "CaVector.h" #include "L1Algo.h" #include "L1Fit.h" -#include "L1Triplet.h" namespace { // TMP!! @@ -52,7 +52,7 @@ public: void CreateTripletsForHit(int istal, int istam, int istar, ca::HitIndex_t ihl); - const Vector<L1Triplet>& GetTriplets() const { return fTriplets; } + const Vector<ca::Triplet>& GetTriplets() const { return fTriplets; } /// Find the doublets. Reformat data in the portion of doublets. void FindDoublets(); @@ -108,7 +108,7 @@ private: Vector<ca::HitIndex_t> fHitsM_3 {"L1TripletConstructor::fHitsM_3"}; Vector<ca::HitIndex_t> fHitsR_3 {"L1TripletConstructor::fHitsR_3"}; - Vector<L1Triplet> fTriplets {"L1TripletConstructor::fTriplets"}; + Vector<ca::Triplet> fTriplets {"L1TripletConstructor::fTriplets"}; L1Fit fFit; diff --git a/reco/L1/L1Algo/utils/L1AlgoDraw.cxx b/reco/L1/L1Algo/utils/L1AlgoDraw.cxx index 1886583885..17da462b57 100644 --- a/reco/L1/L1Algo/utils/L1AlgoDraw.cxx +++ b/reco/L1/L1Algo/utils/L1AlgoDraw.cxx @@ -304,11 +304,11 @@ void L1AlgoDraw::DrawRecoTracks() XYZ->Update(); } -void L1AlgoDraw::DrawTriplets(vector<L1Triplet>& triplets, const ca::HitIndex_t* realIHit) +void L1AlgoDraw::DrawTriplets(vector<ca::Triplet>& triplets, const ca::HitIndex_t* realIHit) { - // vector <L1Triplet> triplets = algo->vTriplets; + // vector <ca::Triplet> triplets = algo->vTriplets; for (unsigned int iTrip = 0; iTrip < triplets.size(); iTrip++) { - L1Triplet& trip = triplets[iTrip]; + ca::Triplet& trip = triplets[iTrip]; unsigned int iLHit = trip.GetLHit(); iLHit = realIHit[iLHit]; diff --git a/reco/L1/L1Algo/utils/L1AlgoDraw.h b/reco/L1/L1Algo/utils/L1AlgoDraw.h index 326ccbcbd6..a58c2e770a 100644 --- a/reco/L1/L1Algo/utils/L1AlgoDraw.h +++ b/reco/L1/L1Algo/utils/L1AlgoDraw.h @@ -12,8 +12,8 @@ #include "CaHit.h" #include "CaStation.h" +#include "CaTriplet.h" #include "L1Def.h" -#include "L1Triplet.h" namespace { @@ -38,7 +38,7 @@ public: void DrawMCTracks(); void DrawRecoTracks(); - void DrawTriplets(std::vector<L1Triplet>& triplets, const ca::HitIndex_t* realIHit); + void DrawTriplets(std::vector<ca::Triplet>& triplets, const ca::HitIndex_t* realIHit); void DrawDoublets(std::vector<ca::HitIndex_t>* Doublets_hits, std::map<ca::HitIndex_t, ca::HitIndex_t>* Doublets_start, const int MaxArrSize, ca::HitIndex_t* HitsStartIndex, unsigned int* realIHit); diff --git a/reco/detectors/rich/finder/CbmL1RichENNRingFinderParallel.cxx b/reco/detectors/rich/finder/CbmL1RichENNRingFinderParallel.cxx index 9b18c59912..1a0d3dac3f 100644 --- a/reco/detectors/rich/finder/CbmL1RichENNRingFinderParallel.cxx +++ b/reco/detectors/rich/finder/CbmL1RichENNRingFinderParallel.cxx @@ -511,7 +511,7 @@ void CbmL1RichENNRingFinderParallel::ENNRingFinder(const int NHits, cbm::algo::c if (ca::utils::IsUnlikely(validRing.isEmpty())) continue; /////////// -#if 0 // TODO 1 +#if 0 // TODO 1 { ENNRingV &ringV = rings_tmp[nRings_tmp++]; @@ -656,7 +656,7 @@ void CbmL1RichENNRingFinderParallel::ENNRingFinder(const int NHits, cbm::algo::c #ifdef PRINT_TIMING GetTimer("Ring finding: Store ring").Stop(); #endif // PRINT_TIMING - } // i_main + } // i_main #ifdef PRINT_TIMING GetTimer("Ring finding").Stop(); -- GitLab