From 892b48206d5c8923132d73c668537397b78d1a6b Mon Sep 17 00:00:00 2001 From: "se.gorbunov" <se.gorbunov@gsi.de> Date: Mon, 12 Jun 2023 19:18:48 +0000 Subject: [PATCH] L1: remove dependency on KF library --- .../femtoscopy/nicafemto/CMakeLists.txt | 5 -- reco/KF/KF.cmake | 17 +++- reco/KF/KFLinkDef.h | 10 ++- .../ParticleFitter}/CbmL1PFFitter.cxx | 3 +- .../ParticleFitter}/CbmL1PFFitter.h | 0 .../ParticleFitter}/CbmL1PFMCParticle.cxx | 0 .../ParticleFitter}/CbmL1PFMCParticle.h | 0 .../obsolete}/CbmL1CATrdTrackFinderSA.cxx | 0 .../obsolete}/CbmL1CATrdTrackFinderSA.h | 0 reco/{L1 => KF/obsolete}/CbmL1TofMerger.cxx | 0 reco/{L1 => KF/obsolete}/CbmL1TofMerger.h | 0 reco/{L1 => KF/obsolete}/CbmL1TrackMerger.cxx | 0 reco/{L1 => KF/obsolete}/CbmL1TrackMerger.h | 0 reco/{L1 => KF/obsolete}/CbmL1TrdHit.h | 2 - .../obsolete}/CbmL1TrdTrackFinderSts.cxx | 0 .../obsolete}/CbmL1TrdTrackFinderSts.h | 0 reco/{L1 => KF/obsolete}/CbmL1TrdTracklet.cxx | 0 reco/{L1 => KF/obsolete}/CbmL1TrdTracklet.h | 0 .../{L1 => KF/obsolete}/CbmL1TrdTracklet4.cxx | 0 reco/{L1 => KF/obsolete}/CbmL1TrdTracklet4.h | 0 reco/L1/CMakeLists.txt | 26 ++---- reco/L1/CbmCaTimeSliceReader.cxx | 10 +-- reco/L1/CbmL1.cxx | 83 ++++++++++++++++--- reco/L1/CbmL1.h | 15 +++- reco/L1/CbmL1Performance.cxx | 45 +++++----- reco/L1/CbmL1ReadEvent.cxx | 1 - reco/L1/CbmL1TrackPar.h | 23 +++-- reco/L1/CbmL1Util.cxx | 46 ++++++++++ reco/L1/CbmL1Util.h | 28 +++++++ reco/L1/CbmL1Vtx.h | 19 ++--- .../CbmTrackingDetectorInterfaceInit.cxx | 0 .../CbmTrackingDetectorInterfaceInit.h | 0 reco/L1/L1Algo/L1Field.cxx | 11 +-- reco/L1/L1Algo/utils/L1AlgoDraw.cxx | 6 +- reco/L1/L1LinkDef.h | 7 +- .../CbmL1GlobalTrackFinder.cxx | 26 +++--- .../OffLineInterface/CbmL1StsTrackFinder.cxx | 6 +- reco/alignment/CMakeLists.txt | 2 +- reco/offline/steer/CMakeLists.txt | 1 + 39 files changed, 261 insertions(+), 131 deletions(-) rename reco/{L1/ParticleFinder => KF/ParticleFitter}/CbmL1PFFitter.cxx (99%) rename reco/{L1/ParticleFinder => KF/ParticleFitter}/CbmL1PFFitter.h (100%) rename reco/{L1/ParticleFinder => KF/ParticleFitter}/CbmL1PFMCParticle.cxx (100%) rename reco/{L1/ParticleFinder => KF/ParticleFitter}/CbmL1PFMCParticle.h (100%) rename reco/{L1 => KF/obsolete}/CbmL1CATrdTrackFinderSA.cxx (100%) rename reco/{L1 => KF/obsolete}/CbmL1CATrdTrackFinderSA.h (100%) rename reco/{L1 => KF/obsolete}/CbmL1TofMerger.cxx (100%) rename reco/{L1 => KF/obsolete}/CbmL1TofMerger.h (100%) rename reco/{L1 => KF/obsolete}/CbmL1TrackMerger.cxx (100%) rename reco/{L1 => KF/obsolete}/CbmL1TrackMerger.h (100%) rename reco/{L1 => KF/obsolete}/CbmL1TrdHit.h (97%) rename reco/{L1 => KF/obsolete}/CbmL1TrdTrackFinderSts.cxx (100%) rename reco/{L1 => KF/obsolete}/CbmL1TrdTrackFinderSts.h (100%) rename reco/{L1 => KF/obsolete}/CbmL1TrdTracklet.cxx (100%) rename reco/{L1 => KF/obsolete}/CbmL1TrdTracklet.h (100%) rename reco/{L1 => KF/obsolete}/CbmL1TrdTracklet4.cxx (100%) rename reco/{L1 => KF/obsolete}/CbmL1TrdTracklet4.h (100%) create mode 100644 reco/L1/CbmL1Util.cxx create mode 100644 reco/L1/CbmL1Util.h rename reco/{KF => L1}/CbmTrackingDetectorInterfaceInit.cxx (100%) rename reco/{KF => L1}/CbmTrackingDetectorInterfaceInit.h (100%) diff --git a/analysis/PWGC2F/femtoscopy/nicafemto/CMakeLists.txt b/analysis/PWGC2F/femtoscopy/nicafemto/CMakeLists.txt index ae254d76ed..32b7475bcd 100644 --- a/analysis/PWGC2F/femtoscopy/nicafemto/CMakeLists.txt +++ b/analysis/PWGC2F/femtoscopy/nicafemto/CMakeLists.txt @@ -4,14 +4,9 @@ set(NICA_CBM ) set(KF_HEADERS - ${CBMROOT_SOURCE_DIR}/L1 - ${CBMROOT_SOURCE_DIR}/L1/L1Algo - ${CBMROOT_SOURCE_DIR}/L1/ParticleFinder ${CLHEP_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${KFParticle_INCLUDE_DIR} - ${CBMROOT_SOURCE_DIR}/KF - ${CBMROOT_SOURCE_DIR}/KF/Interface ${CBMROOT_SOURCE_DIR}/external/KFParticle/KFParticle # ${CBMROOT_SOURCE_DIR}/analysis/nica_cbm/helpers ) diff --git a/reco/KF/KF.cmake b/reco/KF/KF.cmake index d4b610375f..d4aa313d96 100644 --- a/reco/KF/KF.cmake +++ b/reco/KF/KF.cmake @@ -5,6 +5,8 @@ set(INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Interface + ${CMAKE_CURRENT_SOURCE_DIR}/ParticleFitter + ${CMAKE_CURRENT_SOURCE_DIR}/obsolete ) set(SRCS @@ -20,10 +22,6 @@ set(SRCS CbmKFUMeasurement.cxx CbmKFVertexInterface.cxx -#### Tracker interfaces (will be moved to core/detector/*) ################ - CbmTrackingDetectorInterfaceInit.cxx -########################################################################### - #Interface/CbmEcalTrackExtrapolationKF.cxx Interface/CbmKFStsHit.cxx Interface/CbmKFTrack.cxx @@ -43,6 +41,15 @@ set(SRCS #CbmKFParticleFinderPID.cxx #CbmKFParticleFinderQa.cxx #CbmKFParticleInterface.cxx + ParticleFitter/CbmL1PFFitter.cxx + ParticleFitter/CbmL1PFMCParticle.cxx + obsolete/CbmL1TrackMerger.cxx + obsolete/CbmL1TofMerger.cxx + obsolete/CbmL1TrdTracklet.cxx + obsolete/CbmL1TrdTracklet4.cxx + # obsolete/CbmL1TrdTrackFinderSts.cxx + # obsolete/CbmL1CATrdTrackFinderSA.cxx + ) @@ -87,6 +94,7 @@ set(PUBLIC_DEPENDENCIES CbmBase CbmData CbmRecoBase + L1 FairRoot::Base ROOT::Core ROOT::Geom @@ -100,6 +108,7 @@ set(PRIVATE_DEPENDENCIES CbmStsBase CbmTofBase CbmTrdBase + KFParticle FairLogger::FairLogger FairRoot::GeoBase FairRoot::ParBase diff --git a/reco/KF/KFLinkDef.h b/reco/KF/KFLinkDef.h index ac53d37336..6f16bb68b6 100644 --- a/reco/KF/KFLinkDef.h +++ b/reco/KF/KFLinkDef.h @@ -36,8 +36,14 @@ #pragma link C++ class CbmTrdTrackFitterKF + ; #pragma link C++ class CbmTofTrackFitterKF + ; #pragma link C++ class CbmGlobalTrackFitterKF + ; - -#pragma link C++ class CbmTrackingDetectorInterfaceInit + ; +#pragma link C++ class CbmL1TrackMerger + ; +#pragma link C++ class CbmL1TofMerger + ; +#pragma link C++ class CbmL1TrdTracklet + ; +#pragma link C++ class CbmL1TrdTracklet4 + ; +//#pragma link C++ class CbmL1TrdTrackFinderSts+; +//#pragma link C++ class CbmL1CATrdTrackFinderSA+; + +//#pragma link C++ class CbmTrackingDetectorInterfaceInit + ; //KFQA /* #pragma link C++ class CbmKFPartEfficiencies + ; diff --git a/reco/L1/ParticleFinder/CbmL1PFFitter.cxx b/reco/KF/ParticleFitter/CbmL1PFFitter.cxx similarity index 99% rename from reco/L1/ParticleFinder/CbmL1PFFitter.cxx rename to reco/KF/ParticleFitter/CbmL1PFFitter.cxx index 559e18e6fb..ad21d0b959 100644 --- a/reco/L1/ParticleFinder/CbmL1PFFitter.cxx +++ b/reco/KF/ParticleFitter/CbmL1PFFitter.cxx @@ -13,7 +13,7 @@ * *===================================================== * - * SIMD Fitter for CbmL1Track class + * SIMD Fitter * */ @@ -29,7 +29,6 @@ //L1Algo tools #include "CbmKFVertex.h" -#include "CbmL1Track.h" #include "FairRootManager.h" diff --git a/reco/L1/ParticleFinder/CbmL1PFFitter.h b/reco/KF/ParticleFitter/CbmL1PFFitter.h similarity index 100% rename from reco/L1/ParticleFinder/CbmL1PFFitter.h rename to reco/KF/ParticleFitter/CbmL1PFFitter.h diff --git a/reco/L1/ParticleFinder/CbmL1PFMCParticle.cxx b/reco/KF/ParticleFitter/CbmL1PFMCParticle.cxx similarity index 100% rename from reco/L1/ParticleFinder/CbmL1PFMCParticle.cxx rename to reco/KF/ParticleFitter/CbmL1PFMCParticle.cxx diff --git a/reco/L1/ParticleFinder/CbmL1PFMCParticle.h b/reco/KF/ParticleFitter/CbmL1PFMCParticle.h similarity index 100% rename from reco/L1/ParticleFinder/CbmL1PFMCParticle.h rename to reco/KF/ParticleFitter/CbmL1PFMCParticle.h diff --git a/reco/L1/CbmL1CATrdTrackFinderSA.cxx b/reco/KF/obsolete/CbmL1CATrdTrackFinderSA.cxx similarity index 100% rename from reco/L1/CbmL1CATrdTrackFinderSA.cxx rename to reco/KF/obsolete/CbmL1CATrdTrackFinderSA.cxx diff --git a/reco/L1/CbmL1CATrdTrackFinderSA.h b/reco/KF/obsolete/CbmL1CATrdTrackFinderSA.h similarity index 100% rename from reco/L1/CbmL1CATrdTrackFinderSA.h rename to reco/KF/obsolete/CbmL1CATrdTrackFinderSA.h diff --git a/reco/L1/CbmL1TofMerger.cxx b/reco/KF/obsolete/CbmL1TofMerger.cxx similarity index 100% rename from reco/L1/CbmL1TofMerger.cxx rename to reco/KF/obsolete/CbmL1TofMerger.cxx diff --git a/reco/L1/CbmL1TofMerger.h b/reco/KF/obsolete/CbmL1TofMerger.h similarity index 100% rename from reco/L1/CbmL1TofMerger.h rename to reco/KF/obsolete/CbmL1TofMerger.h diff --git a/reco/L1/CbmL1TrackMerger.cxx b/reco/KF/obsolete/CbmL1TrackMerger.cxx similarity index 100% rename from reco/L1/CbmL1TrackMerger.cxx rename to reco/KF/obsolete/CbmL1TrackMerger.cxx diff --git a/reco/L1/CbmL1TrackMerger.h b/reco/KF/obsolete/CbmL1TrackMerger.h similarity index 100% rename from reco/L1/CbmL1TrackMerger.h rename to reco/KF/obsolete/CbmL1TrackMerger.h diff --git a/reco/L1/CbmL1TrdHit.h b/reco/KF/obsolete/CbmL1TrdHit.h similarity index 97% rename from reco/L1/CbmL1TrdHit.h rename to reco/KF/obsolete/CbmL1TrdHit.h index 1ae98230f9..cf980b6ac9 100644 --- a/reco/L1/CbmL1TrdHit.h +++ b/reco/KF/obsolete/CbmL1TrdHit.h @@ -21,8 +21,6 @@ #ifndef _CbmL1TrdHit_h_ #define _CbmL1TrdHit_h_ -#include "CbmKFHit.h" - struct CbmL1TrdHit //:public CbmL1KFUMeasurement { diff --git a/reco/L1/CbmL1TrdTrackFinderSts.cxx b/reco/KF/obsolete/CbmL1TrdTrackFinderSts.cxx similarity index 100% rename from reco/L1/CbmL1TrdTrackFinderSts.cxx rename to reco/KF/obsolete/CbmL1TrdTrackFinderSts.cxx diff --git a/reco/L1/CbmL1TrdTrackFinderSts.h b/reco/KF/obsolete/CbmL1TrdTrackFinderSts.h similarity index 100% rename from reco/L1/CbmL1TrdTrackFinderSts.h rename to reco/KF/obsolete/CbmL1TrdTrackFinderSts.h diff --git a/reco/L1/CbmL1TrdTracklet.cxx b/reco/KF/obsolete/CbmL1TrdTracklet.cxx similarity index 100% rename from reco/L1/CbmL1TrdTracklet.cxx rename to reco/KF/obsolete/CbmL1TrdTracklet.cxx diff --git a/reco/L1/CbmL1TrdTracklet.h b/reco/KF/obsolete/CbmL1TrdTracklet.h similarity index 100% rename from reco/L1/CbmL1TrdTracklet.h rename to reco/KF/obsolete/CbmL1TrdTracklet.h diff --git a/reco/L1/CbmL1TrdTracklet4.cxx b/reco/KF/obsolete/CbmL1TrdTracklet4.cxx similarity index 100% rename from reco/L1/CbmL1TrdTracklet4.cxx rename to reco/KF/obsolete/CbmL1TrdTracklet4.cxx diff --git a/reco/L1/CbmL1TrdTracklet4.h b/reco/KF/obsolete/CbmL1TrdTracklet4.h similarity index 100% rename from reco/L1/CbmL1TrdTracklet4.h rename to reco/KF/obsolete/CbmL1TrdTracklet4.h diff --git a/reco/L1/CMakeLists.txt b/reco/L1/CMakeLists.txt index 48e538c94f..b47941903b 100644 --- a/reco/L1/CMakeLists.txt +++ b/reco/L1/CMakeLists.txt @@ -14,7 +14,7 @@ set(INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/L1Algo ${CMAKE_CURRENT_SOURCE_DIR}/OffLineInterface - ${CMAKE_CURRENT_SOURCE_DIR}/ParticleFinder +# ${CMAKE_CURRENT_SOURCE_DIR}/ParticleFinder ${CMAKE_CURRENT_SOURCE_DIR}/qa ${CMAKE_CURRENT_SOURCE_DIR}/L1Algo/utils ${CMAKE_CURRENT_SOURCE_DIR}/catools @@ -23,19 +23,11 @@ set(INCLUDE_DIRECTORIES set(SRCS - # L1Algo / L1CATrackFinder.cxx - # CbmL1Performance.cxx - # CbmL1ReadEvent.cxx - # CbmL1CATrdTrackFinderSA.cxx - CbmL1TrdTracklet.cxx - CbmL1TrdTracklet4.cxx - CbmL1.cxx - - # CbmL1TrdTrackFinderSts.cxx - CbmL1TrackMerger.cxx - CbmL1TofMerger.cxx +#### Tracker interfaces (will be moved to core/detector/*) ################ + CbmTrackingDetectorInterfaceInit.cxx +########################################################################### - # L1AlgoInputData.cxx + CbmL1.cxx OffLineInterface/CbmL1StsTrackFinder.cxx OffLineInterface/CbmL1GlobalTrackFinder.cxx OffLineInterface/CbmL1GlobalFindTracksEvents.cxx @@ -47,6 +39,7 @@ set(SRCS L1Algo/L1BranchExtender.cxx L1Algo/L1TrackFitter.cxx L1Algo/L1Grid.cxx + CbmL1Util.cxx CbmL1Performance.cxx CbmL1ReadEvent.cxx CbmCaMCModule.cxx @@ -82,9 +75,6 @@ set(SRCS catools/CaToolsWFExpression.cxx catools/CaToolsMaterialHelper.cxx - ParticleFinder/CbmL1PFFitter.cxx - ParticleFinder/CbmL1PFMCParticle.cxx - qa/CbmTrackerInputQaTrd.cxx qa/CbmTrackerInputQaTof.cxx qa/CbmTrackingInputQaSts.cxx @@ -107,13 +97,12 @@ set(NO_DICT_SRCS set(HEADERS CbmL1Constants.h - CbmL1CATrdTrackFinderSA.h + CbmL1Util.h CbmL1DetectorID.h CbmL1MCPoint.h CbmL1Hit.h CbmL1Track.h CbmL1TrackPar.h - CbmL1TrdHit.h CbmL1Vtx.h L1Algo/L1Def.h L1Algo/L1Vector.h @@ -169,7 +158,6 @@ set(PUBLIC_DEPENDENCIES CbmBase CbmData CbmQaBase - KF FairLogger::FairLogger FairRoot::Base ROOT::Core diff --git a/reco/L1/CbmCaTimeSliceReader.cxx b/reco/L1/CbmCaTimeSliceReader.cxx index bb96dcf479..63cdb5f2ab 100644 --- a/reco/L1/CbmCaTimeSliceReader.cxx +++ b/reco/L1/CbmCaTimeSliceReader.cxx @@ -10,7 +10,7 @@ #include "CbmCaTimeSliceReader.h" #include "CbmGlobalTrack.h" -#include "CbmKFMath.h" // for CopyTrackParam2TC +#include "CbmL1Util.h" // for CopyTrackParam2TC #include "CbmMuchTrack.h" #include "CbmStsTrack.h" #include "CbmTofTrack.h" @@ -190,8 +190,8 @@ void TimeSliceReader::ReadRecoTracks() for (int iT = 0; iT < nTracks; ++iT) { auto* pInputTrack = static_cast<CbmStsTrack*>(fpBrRecoTracks->At(iT)); auto& track = (*fpvTracks)[iT]; - CbmKFMath::CopyTrackParam2TC(pInputTrack->GetParamFirst(), track.T, track.C); - CbmKFMath::CopyTrackParam2TC(pInputTrack->GetParamLast(), track.TLast, track.CLast); + cbm::L1Util::CopyTrackParam2TC(pInputTrack->GetParamFirst(), track.T, track.C); + cbm::L1Util::CopyTrackParam2TC(pInputTrack->GetParamLast(), track.TLast, track.CLast); track.chi2 = pInputTrack->GetChiSq(); track.NDF = pInputTrack->GetNDF(); track.Tpv[6] = pInputTrack->GetStartTime(); @@ -221,8 +221,8 @@ void TimeSliceReader::ReadRecoTracks() for (int iT = 0; iT < nTracks; ++iT) { auto* pInputTrack = static_cast<CbmGlobalTrack*>(fpBrRecoTracks->At(iT)); auto& track = (*fpvTracks)[iT]; - CbmKFMath::CopyTrackParam2TC(pInputTrack->GetParamFirst(), track.T, track.C); - CbmKFMath::CopyTrackParam2TC(pInputTrack->GetParamLast(), track.TLast, track.CLast); + cbm::L1Util::CopyTrackParam2TC(pInputTrack->GetParamFirst(), track.T, track.C); + cbm::L1Util::CopyTrackParam2TC(pInputTrack->GetParamLast(), track.TLast, track.CLast); track.chi2 = pInputTrack->GetChi2(); track.NDF = pInputTrack->GetNDF(); diff --git a/reco/L1/CbmL1.cxx b/reco/L1/CbmL1.cxx index 679791372a..38376d99db 100644 --- a/reco/L1/CbmL1.cxx +++ b/reco/L1/CbmL1.cxx @@ -20,9 +20,6 @@ #include "CbmL1.h" -#include "CbmKF.h" -#include "CbmKFVertex.h" -#include "CbmL1PFFitter.h" #include "CbmMCDataManager.h" #include "CbmMuchTrackingInterface.h" #include "CbmMvdTrackingInterface.h" @@ -421,8 +418,9 @@ InitStatus CbmL1::Init() // ** Target initialization ** // *************************** - auto& target = CbmKF::Instance()->vTargets[0]; - fInitManager.SetTargetPosition(target.x, target.y, target.z); + GetTargetInfo(); + + fInitManager.SetTargetPosition(fTargetX, fTargetY, fTargetZ); // ********************************* // ** Target field initialization ** @@ -486,7 +484,7 @@ InitStatus CbmL1::Init() // TODO: The CA TF result is dependent from type of geometry settings. Should be understood (S.Zharko) stationInfo.SetFrontBackStripsGeometry((fscal) mvdInterface->GetStripsStereoAngleFront(iSt), (fscal) mvdInterface->GetStripsStereoAngleBack(iSt)); - stationInfo.SetTrackingStatus(target.z < stationInfo.GetZdouble() ? true : false); + stationInfo.SetTrackingStatus(fTargetZ < stationInfo.GetZdouble() ? true : false); if (fvmDisabledStationIDs[L1DetectorID::kMvd].find(iSt) != fvmDisabledStationIDs[L1DetectorID::kMvd].cend()) { stationInfo.SetTrackingStatus(false); } @@ -514,7 +512,7 @@ InitStatus CbmL1::Init() // TODO: The CA TF result is dependent from type of geometry settings. Should be understood (S.Zharko) stationInfo.SetFrontBackStripsGeometry((fscal) stsInterface->GetStripsStereoAngleFront(iSt), (fscal) stsInterface->GetStripsStereoAngleBack(iSt)); - stationInfo.SetTrackingStatus(target.z < stationInfo.GetZdouble() ? true : false); + stationInfo.SetTrackingStatus(fTargetZ < stationInfo.GetZdouble() ? true : false); if (fvmDisabledStationIDs[L1DetectorID::kSts].find(iSt) != fvmDisabledStationIDs[L1DetectorID::kSts].cend()) { stationInfo.SetTrackingStatus(false); } @@ -541,7 +539,7 @@ InitStatus CbmL1::Init() // TODO: The CA TF result is dependent from type of geometry settings. Should be understood (S.Zharko) stationInfo.SetFrontBackStripsGeometry((fscal) muchInterface->GetStripsStereoAngleFront(iSt), (fscal) muchInterface->GetStripsStereoAngleBack(iSt)); - stationInfo.SetTrackingStatus(target.z < stationInfo.GetZdouble() ? true : false); + stationInfo.SetTrackingStatus(fTargetZ < stationInfo.GetZdouble() ? true : false); if (fvmDisabledStationIDs[L1DetectorID::kMuch].find(iSt) != fvmDisabledStationIDs[L1DetectorID::kMuch].cend()) { stationInfo.SetTrackingStatus(false); } @@ -569,7 +567,7 @@ InitStatus CbmL1::Init() fscal trdBackPhi = trdInterface->GetStripsStereoAngleBack(iSt); if (L1Algo::TrackingMode::kGlobal == fTrackingMode) { stationInfo.SetTimeInfo(false); } stationInfo.SetFrontBackStripsGeometry(trdFrontPhi, trdBackPhi); - stationInfo.SetTrackingStatus(target.z < stationInfo.GetZdouble() ? true : false); + stationInfo.SetTrackingStatus(fTargetZ < stationInfo.GetZdouble() ? true : false); if (iSt == 1 && L1Algo::TrackingMode::kMcbm == fTrackingMode && fMissingHits) { stationInfo.SetTrackingStatus(false); } @@ -600,7 +598,7 @@ InitStatus CbmL1::Init() fscal tofFrontPhi = tofInterface->GetStripsStereoAngleFront(iSt); fscal tofBackPhi = tofInterface->GetStripsStereoAngleBack(iSt); stationInfo.SetFrontBackStripsGeometry(tofFrontPhi, tofBackPhi); - stationInfo.SetTrackingStatus(target.z < stationInfo.GetZdouble() ? true : false); + stationInfo.SetTrackingStatus(fTargetZ < stationInfo.GetZdouble() ? true : false); if (fvmDisabledStationIDs[L1DetectorID::kTof].find(iSt) != fvmDisabledStationIDs[L1DetectorID::kTof].cend()) { stationInfo.SetTrackingStatus(false); } @@ -627,10 +625,10 @@ InitStatus CbmL1::Init() ca::tools::MaterialHelper matHelper; matHelper.SetSafeMaterialInitialization(fDoSafeMaterialInitialization); - if (!fMatBudgetParallelProjection) { matHelper.SetDoRadialProjection(target.z); } + if (!fMatBudgetParallelProjection) { matHelper.SetDoRadialProjection(fTargetZ); } matHelper.SetNraysPerDim(fMatBudgetNrays); - double zLast = target.z + 1.; // some gap (+1cm) to skip the target material + double zLast = fTargetZ + 1.; // some gap (+1cm) to skip the target material for (unsigned int ist = 0; ist < vStations.size(); ist++) { auto& station = vStations[ist]; @@ -1495,3 +1493,64 @@ void CbmL1::DumpMaterialToFile(TString fileName) } f->Write(); } + +// --------------------------------------------------------------------------------------------------------------------- +// Target finder +// + +void CbmL1::GetTargetInfo() +{ + // Loop over all nodes till a node with name "target" is found + // Extract the required infrmation from the node and store it in the + // proper structure + // The complete logic depends on the naming convention of the target. + // If the node doesn't contain the string target the procedure will fail + + fTargetX = 1.e10; + fTargetY = 1.e10; + fTargetZ = 1.e10; + + TString targetPath; + TGeoNode* targetNode {nullptr}; + FindTargetNode(targetPath, targetNode); + + if (!targetNode) { LOG(fatal) << "L1: can not find the target!"; } + + Double_t local[3] = {0., 0., 0.}; // target centre, local c.s. + Double_t global[3]; // target centre, global c.s. + gGeoManager->cd(targetPath); + gGeoManager->GetCurrentMatrix()->LocalToMaster(local, global); + fTargetX = global[0]; + fTargetY = global[1]; + fTargetZ = global[2]; + + LOG(info) << " Target found: \"" << targetPath << "\" at ( " << fTargetX << " " << fTargetY << " " << fTargetZ + << " ) "; +} + +// --------------------------------------------------------------------------------------------------------------------- +// Target finder - recursive routine +// + +void CbmL1::FindTargetNode(TString& targetPath, TGeoNode*& targetNode) +{ + if (!targetNode) { // init at the top of the tree + targetNode = gGeoManager->GetTopNode(); + targetPath = "/" + TString(targetNode->GetName()); + } + + if (TString(targetNode->GetName()).Contains("target")) { return; } + + for (Int_t iNode = 0; iNode < targetNode->GetNdaughters(); iNode++) { + TGeoNode* newNode = targetNode->GetDaughter(iNode); + TString newPath = targetPath + "/" + newNode->GetName(); + FindTargetNode(newPath, newNode); + if (newNode) { + targetPath = newPath; + targetNode = newNode; + return; + } + } + targetPath = ""; + targetNode = nullptr; +} diff --git a/reco/L1/CbmL1.h b/reco/L1/CbmL1.h index 37d698306b..df9317cf0f 100644 --- a/reco/L1/CbmL1.h +++ b/reco/L1/CbmL1.h @@ -27,7 +27,6 @@ #include "CbmL1MCPoint.h" #include "CbmL1MCTrack.h" #include "CbmL1Track.h" -#include "CbmL1Vtx.h" #include "CbmMCDataArray.h" #include "CbmMCEventList.h" #include "CbmMCTrack.h" @@ -65,14 +64,13 @@ class L1Algo; class L1Event; class CbmL1ParticlesFinder; class L1FieldSlice; -class CbmL1Track; class CbmL1MCTrack; class KFTopoPerformance; class CbmMCDataObject; class CbmEvent; class TProfile2D; class TNtuple; - +class TGeoNode; /// Internal structure to handle link keys struct CbmL1LinkKey { @@ -451,6 +449,13 @@ private: /// Gets a pointer to L1InitManager (for an access in run_reco.C) L1InitManager* GetInitManager() { return &fInitManager; } + /// Get the target information + void GetTargetInfo(); + + /// A helper for GetTargetInfo() + void FindTargetNode(TString& targetPath, TGeoNode*& targetNode); + + void WriteHistosCurFile(TObject* obj); static std::istream& eatwhite(std::istream& is); // skip spaces @@ -493,6 +498,10 @@ private: bool fDoSafeMaterialInitialization {false}; /// Do safe but slow material initialisation /// to get around potential problems in TGeoVoxelFinder + double fTargetX {1.e10}; ///< target position X + double fTargetY {1.e10}; ///< target position Y + double fTargetZ {1.e10}; ///< target position Z + int fNpointsMvd = 0; ///< Number of MC points for MVD int fNpointsSts = 0; ///< Number of MC points for STS int fNpointsMuch = 0; ///< Number of MC points for MuCh diff --git a/reco/L1/CbmL1Performance.cxx b/reco/L1/CbmL1Performance.cxx index d2c424a0b7..9f02e032d7 100644 --- a/reco/L1/CbmL1Performance.cxx +++ b/reco/L1/CbmL1Performance.cxx @@ -13,13 +13,11 @@ * *==================================================================== * - * L1 Fit performance + * L1 Fit performance * *==================================================================== */ -#include "CbmKF.h" -#include "CbmKFMath.h" -#include "CbmKFTrack.h" // for vertex pulls + #include "CbmL1.h" #include "CbmL1Constants.h" #include "CbmL1Counters.h" @@ -37,6 +35,7 @@ #include "CbmTrdHit.h" #include "CbmTrdPoint.h" +#include "FairField.h" #include "FairRunAna.h" #include "FairTrackParam.h" // for vertex pulls @@ -118,7 +117,7 @@ void CbmL1::TrackMatch() else { hitmapChain[chainID] += 1; } - } // for iHit + } // for iHit // RTrack <-> MCTrack identification double max_percent = 0.0; // [%]. maximum persent of hits, which belong to one mcTrack. @@ -517,8 +516,6 @@ void CbmL1::EfficienciesPerformance() void CbmL1::HistoPerformance() // TODO: check if works correctly. Change vHitFast on match data in CbmL1**Track classes { - //CbmKF &KF = *CbmKF::Instance(); - static TProfile *p_eff_all_vs_mom, *p_eff_prim_vs_mom, *p_eff_sec_vs_mom, *p_eff_d0_vs_mom, *p_eff_prim_vs_theta, *p_eff_all_vs_pt, *p_eff_prim_vs_pt, *p_eff_all_vs_nhits, *p_eff_prim_vs_nhits, *p_eff_sec_vs_nhits; @@ -1640,23 +1637,17 @@ void CbmL1::FieldApproxCheck() TFile* fout = new TFile("FieldApprox.root", "RECREATE"); fout->cd(); - FairField* MF = CbmKF::Instance()->GetMagneticField(); - for (int ist = 0; ist < fNStations; ist++) { - double z = 0; - double Xmax = -100, Ymax = -100; - if (ist < fNMvdStations) { - CbmKFTube& t = CbmKF::Instance()->vMvdMaterial[ist]; - z = t.z; - Xmax = Ymax = t.R; - } - else { - CbmStsStation* station = CbmStsSetup::Instance()->GetStation(ist - fNMvdStations); - z = station->GetZ(); + assert(FairRunAna::Instance()); + FairField* MF = FairRunAna::Instance()->GetField(); + assert(MF); - Xmax = station->GetXmax(); - Ymax = station->GetYmax(); - } // if mvd + for (int ist = 0; ist < fpAlgo->GetParameters()->GetNstationsActive(); ist++) { + const L1Station& st = fpAlgo->GetParameters()->GetStation(ist); + + double z = st.fZ[0]; + double Xmax = st.Rmax[0]; + double Ymax = Xmax; // float step = 1.; @@ -1683,9 +1674,9 @@ void CbmL1::FieldApproxCheck() L1FieldValue B_L1; Double_t bbb, bbb_L1; - const int M = 5; // polinom order - const int N = (M + 1) * (M + 2) / 2; - const L1Station& st = fpAlgo->GetParameters()->GetStation(ist); + const int M = 5; // polinom order + const int N = (M + 1) * (M + 2) / 2; + for (int i = 0; i < N; i++) { FSl.cx[i] = st.fieldSlice.cx[i][0]; FSl.cy[i] = st.fieldSlice.cy[i][0]; @@ -1772,7 +1763,9 @@ void CbmL1::FieldIntegralCheck() TFile* fout = new TFile("FieldApprox.root", "RECREATE"); fout->cd(); - FairField* MF = CbmKF::Instance()->GetMagneticField(); + assert(FairRunAna::Instance()); + FairField* MF = FairRunAna::Instance()->GetField(); + assert(MF); int nPointsZ = 1000; int nPointsPhi = 100; diff --git a/reco/L1/CbmL1ReadEvent.cxx b/reco/L1/CbmL1ReadEvent.cxx index 76b504ea1c..42810753fa 100644 --- a/reco/L1/CbmL1ReadEvent.cxx +++ b/reco/L1/CbmL1ReadEvent.cxx @@ -20,7 +20,6 @@ */ #include "CbmEvent.h" -#include "CbmKF.h" #include "CbmL1.h" #include "CbmMCDataObject.h" #include "CbmMatch.h" diff --git a/reco/L1/CbmL1TrackPar.h b/reco/L1/CbmL1TrackPar.h index 6dd5cc7474..9233e73b8f 100644 --- a/reco/L1/CbmL1TrackPar.h +++ b/reco/L1/CbmL1TrackPar.h @@ -5,20 +5,25 @@ #ifndef CbmL1TrackPar_H #define CbmL1TrackPar_H -#include "CbmKFTrackInterface.h" - #include "L1TrackPar.h" -struct CbmL1TrackPar : public CbmKFTrackInterface { +struct CbmL1TrackPar { public: CbmL1TrackPar() : chi2(0), NDF(0), mass(0), is_electron(0) {} - double* GetTrack() override { return T; } - double* GetCovMatrix() override { return C; } - double& GetRefChi2() override { return chi2; } - int& GetRefNDF() override { return NDF; } - double GetMass() const override { return mass; } - bool IsElectron() const override { return is_electron; } + double* GetTrack() { return T; } + double* GetCovMatrix() { return C; } + double& GetRefChi2() { return chi2; } + int& GetRefNDF() { return NDF; } + double GetMass() const { return mass; } + bool IsElectron() const { return is_electron; } + + int GetNOfHits() { return (NDF - 5) / 2; } /// Number of hits + int Id() const { return fId; }; + void SetId(int id) { fId = id; }; + +public: + int fId; double T[L1TrackPar::kNparTr]; double C[L1TrackPar::kNparCov]; double chi2; diff --git a/reco/L1/CbmL1Util.cxx b/reco/L1/CbmL1Util.cxx new file mode 100644 index 0000000000..53bfe81db7 --- /dev/null +++ b/reco/L1/CbmL1Util.cxx @@ -0,0 +1,46 @@ +/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt + SPDX-License-Identifier: GPL-3.0-only + Authors: Sergey Gorbunov [committer] */ + +#include "CbmL1Util.h" + +#include "FairTrackParam.h" + +namespace cbm::L1Util +{ + + void CopyTC2TrackParam(FairTrackParam* par, Double_t T[], Double_t C[]) + { + if (T) { + par->SetX(T[0]); + par->SetY(T[1]); + par->SetZ(T[5]); + par->SetTx(T[2]); + par->SetTy(T[3]); + par->SetQp(T[4]); + } + if (C) { + for (Int_t i = 0, iCov = 0; i < 5; i++) + for (Int_t j = 0; j <= i; j++, iCov++) + par->SetCovariance(i, j, C[iCov]); + } + } + + void CopyTrackParam2TC(const FairTrackParam* par, Double_t T[], Double_t C[]) + { + if (T) { + T[0] = par->GetX(); + T[1] = par->GetY(); + T[2] = par->GetTx(); + T[3] = par->GetTy(); + T[4] = par->GetQp(); + T[5] = par->GetZ(); + } + if (C) { + for (Int_t i = 0, iCov = 0; i < 5; i++) + for (Int_t j = 0; j <= i; j++, iCov++) + C[iCov] = par->GetCovariance(i, j); + } + } + +} // namespace cbm::L1Util diff --git a/reco/L1/CbmL1Util.h b/reco/L1/CbmL1Util.h new file mode 100644 index 0000000000..75cc3fc09a --- /dev/null +++ b/reco/L1/CbmL1Util.h @@ -0,0 +1,28 @@ +/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt + SPDX-License-Identifier: GPL-3.0-only + Authors: Sergey Gorbunov [committer] */ + +#ifndef CbmL1Util_H +#define CbmL1Util_H 1 + +#include "Rtypes.h" + +class FairTrackParam; + +/// +/// Collection of useful utilites for CbmL1 +/// +namespace cbm::L1Util +{ + + /// copy fair track param to arrays + // TODO: reorganize + void CopyTrackParam2TC(const FairTrackParam* par, Double_t T[], Double_t C[]); + + /// copy arrays to fair track param + // TODO: reorganize + void CopyTC2TrackParam(FairTrackParam* par, Double_t T[], Double_t C[]); + +} // namespace cbm::L1Util + +#endif diff --git a/reco/L1/CbmL1Vtx.h b/reco/L1/CbmL1Vtx.h index 288802829e..6b52c024c7 100644 --- a/reco/L1/CbmL1Vtx.h +++ b/reco/L1/CbmL1Vtx.h @@ -21,9 +21,8 @@ #ifndef CbmL1Vtx_H #define CbmL1Vtx_H -#include "CbmKFVertexInterface.h" -struct CbmL1Vtx : public CbmKFVertexInterface { +struct CbmL1Vtx { CbmL1Vtx() : MC_mass(0) , MC_q(0) @@ -52,14 +51,14 @@ struct CbmL1Vtx : public CbmKFVertexInterface { double mass, mass_err; - Double_t& GetRefX() { return x; } - Double_t& GetRefY() { return y; } - Double_t& GetRefZ() { return z; } - Double_t* GetCovMatrix() { return C; } - Double_t& GetRefChi2() { return chi2; } - Int_t& GetRefNDF() { return NDF; } - Double_t& GetRefMass() { return mass; } - Double_t& GetRefMassError() { return mass_err; } + double& GetRefX() { return x; } + double& GetRefY() { return y; } + double& GetRefZ() { return z; } + double* GetCovMatrix() { return C; } + double& GetRefChi2() { return chi2; } + int& GetRefNDF() { return NDF; } + double& GetRefMass() { return mass; } + double& GetRefMassError() { return mass_err; } }; #endif diff --git a/reco/KF/CbmTrackingDetectorInterfaceInit.cxx b/reco/L1/CbmTrackingDetectorInterfaceInit.cxx similarity index 100% rename from reco/KF/CbmTrackingDetectorInterfaceInit.cxx rename to reco/L1/CbmTrackingDetectorInterfaceInit.cxx diff --git a/reco/KF/CbmTrackingDetectorInterfaceInit.h b/reco/L1/CbmTrackingDetectorInterfaceInit.h similarity index 100% rename from reco/KF/CbmTrackingDetectorInterfaceInit.h rename to reco/L1/CbmTrackingDetectorInterfaceInit.h diff --git a/reco/L1/L1Algo/L1Field.cxx b/reco/L1/L1Algo/L1Field.cxx index 2dbaba5840..57172997aa 100644 --- a/reco/L1/L1Algo/L1Field.cxx +++ b/reco/L1/L1Algo/L1Field.cxx @@ -4,7 +4,8 @@ #include "L1Field.h" -#include "CbmKF.h" +#include "FairField.h" +#include "FairRunAna.h" #include <iomanip> #include <iostream> @@ -179,12 +180,12 @@ void L1FieldRegion::CheckConsistency() const void L1FieldRegion::Get(const fvec& x, const fvec& y, const fvec& z, fvec* B) const { if (fgkForceUseOfOriginalField || fUseOriginalField) { + // TODO: replace with functional object + assert(FairRunAna::Instance()); for (size_t i = 0; i < fvec::size(); i++) { double inPos[3] = {x[i], y[i], z[i]}; - double outB[3]; - assert(CbmKF::Instance()); - assert(CbmKF::Instance()->GetMagneticField()); - CbmKF::Instance()->GetMagneticField()->GetFieldValue(inPos, outB); // TODO: replace with functional object + double outB[3] = {0., 0., 0.}; + if (FairRunAna::Instance()->GetField()) { FairRunAna::Instance()->GetField()->GetFieldValue(inPos, outB); } B[0][i] = outB[0]; B[1][i] = outB[1]; B[2][i] = outB[2]; diff --git a/reco/L1/L1Algo/utils/L1AlgoDraw.cxx b/reco/L1/L1Algo/utils/L1AlgoDraw.cxx index 67e72ae7c9..5d4098beaf 100644 --- a/reco/L1/L1Algo/utils/L1AlgoDraw.cxx +++ b/reco/L1/L1Algo/utils/L1AlgoDraw.cxx @@ -4,7 +4,6 @@ #include "L1AlgoDraw.h" -#include "CbmKF.h" #include "CbmL1.h" #include "TApplication.h" @@ -165,8 +164,9 @@ void L1AlgoDraw::DrawMCTracks() if (Zlast < par[5]) step = -step; while (fabs(par[5] - Zlast) > fabs(step)) { double znxt = par[5] + step; - CbmKF::Instance()->Propagate(par1, 0, znxt, par1[4]); - CbmKF::Instance()->Propagate(par, 0, znxt, par[4]); + //TODO: replace this part with some L1 utility + // CbmKF::Instance()->Propagate(par1, 0, znxt, par1[4]); + // CbmKF::Instance()->Propagate(par, 0, znxt, par[4]); double w = fabs(znxt - Zfrst); double w1 = fabs(znxt - Zlast); if (w + w1 < 1.e-3) { diff --git a/reco/L1/L1LinkDef.h b/reco/L1/L1LinkDef.h index 7ac1d56817..53245554a8 100644 --- a/reco/L1/L1LinkDef.h +++ b/reco/L1/L1LinkDef.h @@ -10,20 +10,15 @@ #pragma link off all classes; #pragma link off all functions; +#pragma link C++ class CbmTrackingDetectorInterfaceInit + ; #pragma link C++ class CbmL1 + ; #pragma link C++ class CbmL1StsTrackFinder + ; -//#pragma link C++ class CbmL1TrdTrackFinderSts+; -#pragma link C++ class CbmL1TrackMerger + ; -#pragma link C++ class CbmL1TofMerger + ; //#pragma link C++ class CbmL1MuchFinder+; //#pragma link C++ class CbmL1MuchHit+; //#pragma link C++ class CbmL1MuchTrack+; //#pragma link C++ class CbmL1MuchFinderQa+; -#pragma link C++ class CbmL1TrdTracklet + ; -#pragma link C++ class CbmL1TrdTracklet4 + ; #pragma link C++ class CbmL1GlobalTrackFinder + ; #pragma link C++ class CbmL1GlobalFindTracksEvents + ; -//#pragma link C++ class CbmL1CATrdTrackFinderSA+; //#pragma link C++ class CbmL1SttHit+; //#pragma link C++ class CbmL1SttTrackFinder+; //#pragma link C++ class CbmL1SttTrack+; diff --git a/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx b/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx index 27f0629d7e..5545881377 100644 --- a/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx +++ b/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx @@ -21,7 +21,7 @@ #include "CbmEvent.h" #include "CbmGlobalTrack.h" -#include "CbmKFMath.h" +#include "CbmL1Util.h" #include "CbmMuchTrack.h" #include "CbmStsHit.h" #include "CbmStsTrack.h" @@ -92,8 +92,8 @@ Int_t CbmL1GlobalTrackFinder::CopyL1Tracks(CbmEvent* event) CbmGlobalTrack* t = L1_DYNAMIC_CAST<CbmGlobalTrack*>(fGlobalTracks->At(globalTrackIndex++)); t->SetFlag(0); FairTrackParam fpar(*t->GetParamFirst()), lpar(*t->GetParamLast()); - CbmKFMath::CopyTC2TrackParam(&fpar, T.T, T.C); - CbmKFMath::CopyTC2TrackParam(&lpar, T.TLast, T.CLast); + cbm::L1Util::CopyTC2TrackParam(&fpar, T.T, T.C); + cbm::L1Util::CopyTC2TrackParam(&lpar, T.TLast, T.CLast); t->SetParamFirst(&fpar); t->SetParamLast(&lpar); t->SetChi2(T.chi2); @@ -177,8 +177,8 @@ void CbmL1GlobalTrackFinder::CbmL1TrackToCbmTrack(CbmL1Track l1track, CbmTrack* //track->SetFlag(T->GetQuality());//??? FairTrackParam fpar(*track->GetParamFirst()), lpar(*track->GetParamLast()); - CbmKFMath::CopyTC2TrackParam(&fpar, T->T, T->C); - CbmKFMath::CopyTC2TrackParam(&lpar, T->TLast, T->CLast); + cbm::L1Util::CopyTC2TrackParam(&fpar, T->T, T->C); + cbm::L1Util::CopyTC2TrackParam(&lpar, T->TLast, T->CLast); } // ------------------------------------------------------------------------- @@ -215,8 +215,8 @@ void CbmL1GlobalTrackFinder::CbmL1TrackToCbmStsTrack(CbmL1Track l1track, CbmStsT track->SetLastHitTimeError(T->CLast[20]); FairTrackParam fpar(*track->GetParamFirst()), lpar(*track->GetParamLast()); - CbmKFMath::CopyTC2TrackParam(&fpar, T->T, T->C); - CbmKFMath::CopyTC2TrackParam(&lpar, T->TLast, T->CLast); + cbm::L1Util::CopyTC2TrackParam(&fpar, T->T, T->C); + cbm::L1Util::CopyTC2TrackParam(&lpar, T->TLast, T->CLast); } // ------------------------------------------------------------------------- @@ -243,8 +243,8 @@ void CbmL1GlobalTrackFinder::CbmL1TrackToCbmMuchTrack(CbmL1Track l1track, CbmMuc //track->SetFlag(T->GetQuality());//??? FairTrackParam fpar(*track->GetParamFirst()), lpar(*track->GetParamLast()); - CbmKFMath::CopyTC2TrackParam(&fpar, T->T, T->C); - CbmKFMath::CopyTC2TrackParam(&lpar, T->TLast, T->CLast); + cbm::L1Util::CopyTC2TrackParam(&fpar, T->T, T->C); + cbm::L1Util::CopyTC2TrackParam(&lpar, T->TLast, T->CLast); } // ------------------------------------------------------------------------- @@ -272,8 +272,8 @@ void CbmL1GlobalTrackFinder::CbmL1TrackToCbmTrdTrack(CbmL1Track l1track, CbmTrdT //track->SetFlag(T->GetQuality());//??? FairTrackParam fpar(*track->GetParamFirst()), lpar(*track->GetParamLast()); - CbmKFMath::CopyTC2TrackParam(&fpar, T->Tpv, T->Cpv); - CbmKFMath::CopyTC2TrackParam(&lpar, T->TLast, T->CLast); + cbm::L1Util::CopyTC2TrackParam(&fpar, T->Tpv, T->Cpv); + cbm::L1Util::CopyTC2TrackParam(&lpar, T->TLast, T->CLast); } // ------------------------------------------------------------------------- @@ -300,8 +300,8 @@ void CbmL1GlobalTrackFinder::CbmL1TrackToCbmTofTrack(CbmL1Track l1track, CbmTofT //track->SetFlag(T->GetQuality());//??? //FairTrackParam fpar(*track->GetParamFirst()), lpar(*track->GetParamLast()); - //CbmKFMath::CopyTC2TrackParam(&fpar, T->T, T->C); - //CbmKFMath::CopyTC2TrackParam(&lpar, T->TLast, T->CLast); + //CbmL1Util::CopyTC2TrackParam(&fpar, T->T, T->C); + //CbmL1Util::CopyTC2TrackParam(&lpar, T->TLast, T->CLast); } // ------------------------------------------------------------------------- diff --git a/reco/L1/OffLineInterface/CbmL1StsTrackFinder.cxx b/reco/L1/OffLineInterface/CbmL1StsTrackFinder.cxx index d61263b4a1..dcf6a61935 100644 --- a/reco/L1/OffLineInterface/CbmL1StsTrackFinder.cxx +++ b/reco/L1/OffLineInterface/CbmL1StsTrackFinder.cxx @@ -20,7 +20,7 @@ #include "CbmL1StsTrackFinder.h" #include "CbmEvent.h" -#include "CbmKFMath.h" +#include "CbmL1Util.h" #include "CbmStsHit.h" #include "CbmStsTrack.h" @@ -77,8 +77,8 @@ Int_t CbmL1StsTrackFinder::CopyL1Tracks(CbmEvent* event) CbmStsTrack* t = L1_DYNAMIC_CAST<CbmStsTrack*>(fTracks->At(trackIndex++)); t->SetFlag(0); FairTrackParam fpar(*t->GetParamFirst()), lpar(*t->GetParamLast()); - CbmKFMath::CopyTC2TrackParam(&fpar, T.T, T.C); - CbmKFMath::CopyTC2TrackParam(&lpar, T.TLast, T.CLast); + cbm::L1Util::CopyTC2TrackParam(&fpar, T.T, T.C); + cbm::L1Util::CopyTC2TrackParam(&lpar, T.TLast, T.CLast); t->SetParamFirst(&fpar); t->SetParamLast(&lpar); t->SetChiSq(T.chi2); diff --git a/reco/alignment/CMakeLists.txt b/reco/alignment/CMakeLists.txt index c2e9448ef0..136aa97714 100644 --- a/reco/alignment/CMakeLists.txt +++ b/reco/alignment/CMakeLists.txt @@ -17,7 +17,7 @@ set(PUBLIC_DEPENDENCIES ) set(PRIVATE_DEPENDENCIES - L1 + KF bba::library CbmStsBase ) diff --git a/reco/offline/steer/CMakeLists.txt b/reco/offline/steer/CMakeLists.txt index 597907cb4e..044afdd09e 100644 --- a/reco/offline/steer/CMakeLists.txt +++ b/reco/offline/steer/CMakeLists.txt @@ -43,6 +43,7 @@ set(PRIVATE_DEPENDENCIES CbmTrdReco CbmSimSteer L1 + KF Algo ) -- GitLab