From 890e39bc77f6bb0a99286f2a2cc8560c01def6b6 Mon Sep 17 00:00:00 2001 From: "s.zharko@gsi.de" <s.zharko@gsi.de> Date: Thu, 14 Sep 2023 13:43:34 +0200 Subject: [PATCH] CA-Online: - Added the cbm::algo::TrackingChain into online-reconstruction chain (parameters initialization) - Added a parameter file for tracking to algo/params --- algo/CMakeLists.txt | 4 +- algo/ca/TrackingChain.cxx | 51 ++++++++++++++++ algo/ca/TrackingChain.h | 55 ++++++++++++++++++ algo/ca/core/pars/CaConstants.h | 27 +++++++++ algo/global/Reco.cxx | 9 +++ algo/global/Reco.h | 4 ++ .../params/mcbm_beam_2022_05_23_nickel.ca.par | Bin 0 -> 483862 bytes 7 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 algo/ca/TrackingChain.cxx create mode 100644 algo/ca/TrackingChain.h create mode 100644 algo/params/mcbm_beam_2022_05_23_nickel.ca.par diff --git a/algo/CMakeLists.txt b/algo/CMakeLists.txt index 2937b40285..ae6e6c4ceb 100644 --- a/algo/CMakeLists.txt +++ b/algo/CMakeLists.txt @@ -47,6 +47,7 @@ set(SRCS global/Reco.cxx qa/DigiEventQa.cxx qa/Histo1D.cxx + ca/TrackingChain.cxx ) set(BUILD_INFO_CXX ${CMAKE_CURRENT_BINARY_DIR}/base/BuildInfo.cxx) @@ -132,7 +133,7 @@ install(DIRECTORY detectors/sts TYPE INCLUDE FILES_MATCHING PATTERN "*.h") install(DIRECTORY detectors/tof TYPE INCLUDE FILES_MATCHING PATTERN "*.h") install(DIRECTORY detectors/trd TYPE INCLUDE FILES_MATCHING PATTERN "*.h") install(DIRECTORY detectors/trd2d TYPE INCLUDE FILES_MATCHING PATTERN "*.h") -#install(DIRECTORY ca/data TYPE INCLUDE FILES_MATCHING PATTERN "*.h") +install(DIRECTORY ca TYPE INCLUDE FILES_MATCHING PATTERN "*.h") install( @@ -146,6 +147,7 @@ install( global/RecoResultsInputArchive.h global/RecoResultsOutputArchive.h global/StorableRecoResults.h + ca/TrackingChain.h DESTINATION include/ ) diff --git a/algo/ca/TrackingChain.cxx b/algo/ca/TrackingChain.cxx new file mode 100644 index 0000000000..f1b1bf1e73 --- /dev/null +++ b/algo/ca/TrackingChain.cxx @@ -0,0 +1,51 @@ +/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt + SPDX-License-Identifier: GPL-3.0-only + Authors: Sergei Zharko [committer] */ + +/// \file TrackingChain.cxx +/// \date 14.09.2023 +/// \brief A chain class to execute CA tracking algorithm in online reconstruction (implementation) +/// \author S.Zharko <s.zharko@gsi.de> + +#include "TrackingChain.h" + +#include <boost/filesystem.hpp> + +#include "CaConstants.h" +#include "CaInitManager.h" +#include "CaParameters.h" + +using cbm::algo::TrackingChain; +using cbm::algo::ca::InitManager; +using cbm::algo::ca::Parameters; +using cbm::algo::ca::Track; +using cbm::algo::ca::constants::clrs::CL; // clear text +using cbm::algo::ca::constants::clrs::GNb; // grin bald text + +// --------------------------------------------------------------------------------------------------------------------- +// +void TrackingChain::Init() +{ + // ------ Reading parameters from binary + std::string paramFileBase = "mcbm_beam_2022_05_23_nickel.ca.par"; // TODO: Get the setup name from Opts() + auto paramFile = Opts().ParamsDir(); + paramFile /= paramFileBase; + L_(info) << "Tracking Chain: reading CA parameters file " << GNb << paramFile.string() << CL << '\n'; + auto manager = InitManager {}; + manager.ReadParametersObject(paramFile.string()); + auto parameters = manager.TakeParameters(); + + L_(info) << "Tracking Chain: parameters object: \n" << parameters.ToString(1) << '\n'; +} + +// --------------------------------------------------------------------------------------------------------------------- +// +std::vector<Track> TrackingChain::Run(/*vectors of hits*/) +{ + std::vector<Track> vRecoTracks; + return vRecoTracks; +} + +// --------------------------------------------------------------------------------------------------------------------- +// +void TrackingChain::Finalize() {} diff --git a/algo/ca/TrackingChain.h b/algo/ca/TrackingChain.h new file mode 100644 index 0000000000..4983487652 --- /dev/null +++ b/algo/ca/TrackingChain.h @@ -0,0 +1,55 @@ +/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt + SPDX-License-Identifier: GPL-3.0-only + Authors: Sergei Zharko [committer] */ + +/// \file TrackingChain.h +/// \date 13.09.2023 +/// \brief A chain class to execute CA tracking algorithm in online reconstruction (header) +/// \author S.Zharko <s.zharko@gsi.de> + +#ifndef CBM_ALGO_CA_TRACKING_CHAIN +#define CBM_ALGO_CA_TRACKING_CHAIN 1 + +#include <vector> + +#include "CaTrack.h" +#include "SubChain.h" + +namespace cbm::algo::ca +{ + /// \enum cbm::algo::ca::EDetectorID + /// \brief Enumeration for the detector subsystems used in CBM online tracking + /// \note It is important, that the subsystems are specified in the actual order. + /// \note The enumeration must not contain jumps in the ordering and the first entry must be equal 0 + enum class EDetectorID + { + Mvd = 0, + Sts, + Much, + Trd, + Tof, + kEND ///< End of enumeration + }; +} // namespace cbm::algo::ca + +namespace cbm::algo +{ + /// \class cbm::algo::TrackingChain + /// \brief A chain for tracking algorithm + /// + /// The class executes a tracking algorithm in the online data reconstruction chain. + class TrackingChain : public SubChain { + public: + /// @brief Provides action in the initialization of the run + void Init(); + + /// @brief Provides action for a given time-slice + /// @return A vector of cbm::algo::ca::Track + std::vector<ca::Track> Run(/*vecotrs of hits*/); + + /// @brief Provides action in the end of the run + void Finalize(); + }; +} // namespace cbm::algo + +#endif // CBM_ALGO_CA_TRACKING_CHAIN diff --git a/algo/ca/core/pars/CaConstants.h b/algo/ca/core/pars/CaConstants.h index f9d30e7be1..2c1b7f8650 100644 --- a/algo/ca/core/pars/CaConstants.h +++ b/algo/ca/core/pars/CaConstants.h @@ -218,6 +218,33 @@ namespace cbm::algo::ca::constants constexpr char WTbr[] = "\e[1;7;38m"; ///< bold-reverse white } // namespace clrs + // clang-format: off + constexpr char Logo[] = "\n\n\n\n" + " [][][] [][][] [][][][][] [][] [] " + " \n" + " [] [] [] [] [] [] [] [] [] " + " \n" + " [] [] [] [] [] " + " \n" + " [] [] [] [] [][][][] [][][] [][][] [] [][] [][] " + "[][][][] [][][][]\n" + " [] [] [] [] [] [] [] [] [] [] [] [] [] [] " + " [] [] [] [] \n" + " [] [] [] [] [] [][][] [] [] [] [] " + " [] [] [] [] \n" + " [] [] [] [] [] [] [] [] [] [] [] [] [] " + " [] [] [] [] \n" + " [][][] [][] [][] [][] [][] [][][][] [][][] [][] [][] [][] " + "[][] [][] [][] [] \n" + " " + " [] \n" + " By CBM Collaboration " + " [] [] \n" + " " + " [][][]\n\n\n"; + // clang-format: on + + } // namespace cbm::algo::ca::constants #endif // CaConstants_h diff --git a/algo/global/Reco.cxx b/algo/global/Reco.cxx index 59415a31c1..14ce8b2a71 100644 --- a/algo/global/Reco.cxx +++ b/algo/global/Reco.cxx @@ -47,6 +47,7 @@ void Reco::Init(const Options& opts) SetContext(&fContext); fUnpack.SetContext(&fContext); fStsHitFinder.SetContext(&fContext); + fTracking.SetContext(&fContext); xpu::device_prop props {xpu::device::active()}; L_(info) << "Running CBM Reco on Device '" << props.name() << "' (Using " << openmp::GetMaxThreads() @@ -77,6 +78,9 @@ void Reco::Init(const Options& opts) hitFinderConfig.landauTable = sts::LandauTable::FromFile(opts.ParamsDir() / "LandauWidthTable.txt"); fStsHitFinder.SetParameters(hitFinderConfig); + // Tracking + fTracking.Init(); + fInitialized = true; L_(debug) << "CBM Reco finished initialization"; @@ -128,17 +132,22 @@ RecoResults Reco::Run(const fles::Timeslice& ts) QueueUnpackerMetrics(ts, unpackMonitor, unpackResult.first); QueueStsRecoMetrics(stsHitfinderMonitor); + PrintTimings(ts_times); RecoResults results; results.events = std::move(events); + // --- Tracking + std::vector<ca::Track> tracks = fTracking.Run(); + return results; } void Reco::Finalize() { fStsHitFinder.Finalize(); + fTracking.Finalize(); // Pop timer that was started in Init() xpu::timings t = xpu::pop_timer(); diff --git a/algo/global/Reco.h b/algo/global/Reco.h index 5cb1e71169..b12fcb51d5 100644 --- a/algo/global/Reco.h +++ b/algo/global/Reco.h @@ -9,6 +9,7 @@ #include "EventbuildChain.h" #include "SubChain.h" #include "UnpackChain.h" +#include "ca/TrackingChain.h" #include "sts/HitfinderChain.h" namespace fles @@ -52,6 +53,9 @@ namespace cbm::algo std::unique_ptr<evbuild::EventbuildChain> fEventBuild; + // Tracking + TrackingChain fTracking; + void Validate(const Options& opts); void QueueUnpackerMetrics(const fles::Timeslice&, const UnpackMonitorData&, const DigiData&); diff --git a/algo/params/mcbm_beam_2022_05_23_nickel.ca.par b/algo/params/mcbm_beam_2022_05_23_nickel.ca.par new file mode 100644 index 0000000000000000000000000000000000000000..231cc2304d0d7e9484c09cf90c02278457bba21a GIT binary patch literal 483862 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 literal 0 HcmV?d00001 -- GitLab