Skip to content
Snippets Groups Projects

FairSource for the timeslice-based reconstruction output in the online binary

Merged Sergei Zharko requested to merge s.zharko/cbmroot:inspect-reco-timeslices into master
1 unresolved thread

The class provides an implementation of FairSource (CbmSourceRecoTimeslice) to read the hits and tracks, which are stored during a timeslice reconstruction in the online binary. The class CbmTaskInspectRecoTimeslice is a demonstrator of accessing the corresponding vectors.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Pierre-Alain Loizeau approved this merge request

    approved this merge request

  • Pierre-Alain Loizeau
  • All good for me apart from the small comments and typos which should be added but do not need a review

  • requested changes

  • Sergei Zharko added 1 commit

    added 1 commit

    • 9fb0a4d2 - new source class for reconstructed timeslice output

    Compare with previous version

  • Sergei Zharko resolved all threads

    resolved all threads

  • Sergei Zharko added 1 commit

    added 1 commit

    • 96f3f4b5 - new source class for reconstructed timeslice output

    Compare with previous version

  • @p.-a.loizeau If the latest changes of Sergei's are ok with you, please approve the MR.

  • Sergei Zharko added 4 commits

    added 4 commits

    Compare with previous version

  • Pierre-Alain Loizeau approved this merge request

    approved this merge request

    • @s.zharko,

      cc @p.-a.loizeau, @v.friese, @se.gorbunov

      your changes break on arm64 which took me some time to understand. When building the core directory on my macosx I get the following errors:

      [  0%] Built target G__CbmData
      [  0%] Built target flesnet
      [  3%] Built target xpu
      [ 18%] Built target CbmData
      [ 21%] Built target G__CbmField
      [ 25%] Built target CbmField
      [ 25%] Built target G__CbmBase
      [ 28%] Built target CbmBase
      [ 28%] Built target CbmFlibFlesTools
      [ 28%] Generating G__KfCoreOffline.cxx, ../../../lib/libKfCoreOffline_rdict.pcm, ../../../lib/libKfCoreOffline.rootmap
      Warning: FindScope got an invalid tag decl
      ERROR: FindScope about to return an invalid decl
      ...
      Warning: FindScope got an invalid tag decl
      ERROR: FindScope about to return an invalid decl
      gmake[2]: *** [algo/kf/core/CMakeFiles/G__KfCoreOffline.dir/build.make:79: algo/kf/core/G__KfCoreOffline.cxx] Error 1
      gmake[1]: *** [CMakeFiles/Makefile2:7429: algo/kf/core/CMakeFiles/G__KfCoreOffline.dir/all] Error 2
      gmake: *** [Makefile:146: all] Error 2

      The first thing which is broken and probably was already before is that the core directory has a dependency on the algo directory. The core directory should depend only on externals (and itself) but definitely not on sim, reco, algo, MQ, analysis, etc. This is my opinion a circular dependency. This should be fixed immediatly

      The real problem why it crashes in my case is the the LinkeDef file of KfCoreOffline which contains the following lines

      #pragma link C++ class cbm::algo::kf::TrackParamBase<Vc_1::Vector<float, Vc_1::VectorAbi::Sse> > + ;
      #pragma link C++ class cbm::algo::kf::TrackParam<Vc_1::Vector<float, Vc_1::VectorAbi::Sse> > + ;

      Since SSE isn't known in case of ARM64 this needs to be changed, at least a guard in case of ARM64 is needed.

      EDIT PAL: added formatted code tags

      Edited by Pierre-Alain Loizeau
    • The first thing which is broken and probably was already before is that the core directory has a dependency on the algo directory. The core directory should depend only on externals (and itself) but definitely not on sim, reco, algo, MQ, analysis, etc. This is my opinion a circular dependency. This should be fixed immediatly

      I think this is a confusion due to the naming of the library: KfCoreOffline is fully contained in the algo folder (similarly for CaCoreOffline).
      The online back linking I saw in the core folder (outside of the logger compatibility header AlgoFairloggerCompat.h in the digi classes) is the following, which concerns only the CbmQaBase library which is not used anywhere else in the core folder

      core/qa/CMakeLists.txt:49:  AlgoOffline

      Since SSE isn't known in case of ARM64 this needs to be changed, at least a guard in case of ARM64 is needed.

      For this we indeed need to address it, I think I saw some SSE guards somewhere in core while I was trying to fix the header install problem, so there should be some examples around for @s.zharko there.

    • I don't care so much which of the libraries in core depends on something in algo, I only made the point that there is a dependency which should not exist. We put some afford into separating the code in the top level directories to avoid such dependencies and we should bring back that separation again.

    • The compilation issue is fixed with !2080 (merged).

    • The dependency problem needs still to be fixed.

    • From what I could see the only part of Algo which is used in the core qa side are the "non-root histograms"... so probably the solution would be to extract these and the YAML library and move them to another folder for "tools" libraries (as @s.zharko proposed last or previous to last week)

    • @p.-a.loizeau,

      that would be the proper solution and I am fine with that. I am looking forward for the merge request

    • Please register or sign in to reply
  • Florian Uhlig mentioned in merge request !2080 (merged)

    mentioned in merge request !2080 (merged)

  • Please register or sign in to reply
    Loading