Event reconstruction in online/offline
-
Separate class cbm::algo::EventReconstruction, which performs reconstruction of digi-events (hits, tracks) -
Steering class CbmEventRecoTaskfor the online-style digi-event reconstruction in offline -
Converter of the online RecoEvent to legacy data-classes
Merge request reports
Activity
added Online Reconstruction labels
assigned to @v.friese
added CodeOwners label
- Resolved by Sergei Zharko
Thanks for doing this - this is a step we definitely need in several places, online as well as offline.
Some general remarks:
- I would prefer to name the class RecoEvent instead of EventReconstruction.
- It should be a single step, not separated into EventLocalReco and EventTracking.
- I should be configurable through a YAML file. By default, it should perform local reconstruction for all systems where input data (digis) are in the DigiEvent. There should be the option to deactivate systems even if input digis are present. By default, tracking should be performed provided at least one tracking detector is present (STS, MUCH or TRD). It should be possible to deactivate tracking.
- The systems included are mCBM specific. I think we should have an implementation that suits full CBM from the start. But maybe we can add this later, so you can test this class with mCBM meanwhile.
- Event reconstruction should include primary vertex finding, which is not included in this class here.
- In general, this class is to replace most of the functionality of run_reco.C in the event-by-event mode.
requested review from @j.decuveland
- Resolved by Sergei Zharko
Hi.
I have been added as a reviewer, so I will try to give some feedback. In general, the code looks fine to me. I must say though that I am not an expert on this part of the code. And I feel that I do not fully understand the objective. (Maybe a few more words for context in the MR would have helped me.)
What I think I understand is:
- Using algo/online code, we can build events from the raw data streams (by multiplicity selector), OR we can run tracking on all (unfiltered) data. But we cannot run the tracking on previously selected events. Now this functionality is added.
- Do I get this right?
If so, structurally, should the output data structure of this be stored independently of the RecoResults structure and not as a part of it?
- Resolved by Sergei Zharko
Thanks for the clarification! I was on the right track, and I totally get that it's also for DigiEvents from simulation. Makes sense!
So, my first question still stands: should the output (RecoEvents) be part of the RecoResults structure or something else?
I've always thought of the RecoResults output structure as flexible and easy to extend, so it could hold whatever output we want. In my mind, this would work great for a future alternative output file format using Root because Root files already have the same kind of flexibility, and we'd only have to change one spot in the code.
I agree to what you said above.
In my view, the RecoEvent structure will not be made persistent in the main data path. We decided to store DigiEvents, and RecoEvents will always be reproducible from them. Online, they serve for the selection decision and can be discarded after this decision.
However, we clearly must have the option to store RecoEvents as well, if only for debugging and testing. In that sense, the RecoEvent collection should be (an optional) part of RecoResults, just as other data are now.
added 16 commits
-
2ee4d7b5...3ef736c3 - 15 commits from branch
computing:master - d3e6ad0f - [online] moving event reconstruction in a separate class
-
2ee4d7b5...3ef736c3 - 15 commits from branch
mentioned in merge request !2118 (merged)
added 22 commits
-
d3e6ad0f...08dc3388 - 19 commits from branch
computing:master - 93993444 - online:
- 74f639cb - [online] moving event reconstruction in a separate class
- 4e31e02c - keep
Toggle commit list-
d3e6ad0f...08dc3388 - 19 commits from branch
mentioned in merge request !2123 (merged)
- Resolved by Sergei Zharko
@s.zharko Please comment on the status of this MR.
added 11 commits
-
4e31e02c...a58905f1 - 7 commits from branch
computing:master - 8bd6d22f - A compile-time map for a subset of an enumeration
- 953326f4 - online:
- ab9c7146 - [online] moving event reconstruction in a separate class
- be72bab0 - Extended configuration of the EventReconstruction class
Toggle commit list-
4e31e02c...a58905f1 - 7 commits from branch
added 1 commit
- fafa67f1 - Extended configuration of the EventReconstruction class
added 17 commits
-
fafa67f1...0a87288c - 12 commits from branch
computing:master - b3c9f0c2 - A compile-time map for a subset of an enumeration
- 6657a6e7 - online:
- a1f51cba - [online] moving event reconstruction in a separate class
- 3e990c6a - Extended configuration of the EventReconstruction class
- 644ea8d0 - A FairTask for event reconstruction with cbm::algo
Toggle commit list-
fafa67f1...0a87288c - 12 commits from branch
added 1 commit
- 2a627074 - A FairTask for event reconstruction with cbm::algo
added 1 commit
- e28fdd8e - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
added 8 commits
-
e28fdd8e...de3fcc76 - 2 commits from branch
computing:master - 9de4de7c - A compile-time map for a subset of an enumeration
- 17e0b3c2 - online:
- 8439bdba - [online] moving event reconstruction in a separate class
- 5c147721 - Extended configuration of the EventReconstruction class
- 86d8e988 - A FairTask for event reconstruction with cbm::algo
- 69f0ed9e - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
Toggle commit list-
e28fdd8e...de3fcc76 - 2 commits from branch
The merge request is ready, at least for reviewing and testing.
added 1 commit
- b42a74fb - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
added 1 commit
- 5352d28e - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
added 6 commits
- 267ccaac - A compile-time map for a subset of an enumeration
- d5e96500 - online:
- e2e5a643 - [online] moving event reconstruction in a separate class
- 077dc16f - Extended configuration of the EventReconstruction class
- f841c453 - A FairTask for event reconstruction with cbm::algo
- e1d0cf48 - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
Toggle commit listmentioned in merge request !1875
added 19 commits
-
e1d0cf48...bd8f97bb - 11 commits from branch
computing:master - ecc4913c - A compile-time map for a subset of an enumeration
- bd47ffa1 - online:
- 94191a52 - online:
- 198da0c4 - [online] moving event reconstruction in a separate class
- 5ffc8d05 - Extended configuration of the EventReconstruction class
- ac5965a7 - A FairTask for event reconstruction with cbm::algo
- d39d83b4 - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
- 196fb14b - Event reconstruction execution logic in cbm::algo::Reco
Toggle commit list-
e1d0cf48...bd8f97bb - 11 commits from branch
added 56 commits
-
196fb14b...6064b5ed - 47 commits from branch
computing:master - eb53ed1e - A compile-time map for a subset of an enumeration (+ unit-test)
- ca9f0a9f - online:
- d2c59681 - online: parameter file handling
- 848ca5ce - updates to run_info service
- aeb29b79 - [online] moving event reconstruction in a separate class
- daafc5be - Extended configuration of the EventReconstruction class
- 7ecefb17 - A FairTask for event reconstruction with cbm::algo
- a5011af3 - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
- 8230c013 - Event reconstruction execution logic in cbm::algo::Reco
Toggle commit list-
196fb14b...6064b5ed - 47 commits from branch
added 14 commits
-
8230c013...ece334ba - 5 commits from branch
computing:master - c7fa52b0 - online:
- 6e36bcf5 - online: parameter file handling
- b1a619b9 - updates to run_info service
- 82d47a06 - parameters hash bump
- 2105dc1a - [online] moving event reconstruction in a separate class
- dea6bb84 - Extended configuration of the EventReconstruction class
- cbc74895 - A FairTask for event reconstruction with cbm::algo
- a9e92533 - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
- 46300d1d - Event reconstruction execution logic in cbm::algo::Reco
Toggle commit list-
8230c013...ece334ba - 5 commits from branch
added 11 commits
-
2fda536a - 1 commit from branch
computing:master - cb89d7d8 - online:
- cd0347e7 - online: parameter file handling
- 1713cfea - updates to run_info service
- c4bf06b5 - parameters hash bump
- bc79e354 - bugfix: proper handling of std::getenv() in CbmRunDatabaseContainer and run_info
- 7efb9dd9 - [online] moving event reconstruction in a separate class
- d83c8e9f - Extended configuration of the EventReconstruction class
- 3a86fe11 - A FairTask for event reconstruction with cbm::algo
- dff23e22 - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
- a932f3b2 - Event reconstruction execution logic in cbm::algo::Reco
Toggle commit list-
2fda536a - 1 commit from branch
- Resolved by Sergei Zharko
added 21 commits
-
a932f3b2...b6dd0d36 - 16 commits from branch
computing:master - e842d29f - [online] moving event reconstruction in a separate class
- 7601a17e - Extended configuration of the EventReconstruction class
- d5e40133 - A FairTask for event reconstruction with cbm::algo
- e5172099 - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
- 361e1466 - Event reconstruction execution logic in cbm::algo::Reco
Toggle commit list-
a932f3b2...b6dd0d36 - 16 commits from branch
Can we merge it?
added 81 commits
-
361e1466...c8d06b0a - 76 commits from branch
computing:master - 58c74670 - [online] moving event reconstruction in a separate class
- 1c03cf30 - Extended configuration of the EventReconstruction class
- f52c0f33 - A FairTask for event reconstruction with cbm::algo
- 3136ad2e - Adding a converter of cbm::algo::RecoEvent to the legacy reconstructed data classes
- 76408b14 - Event reconstruction execution logic in cbm::algo::Reco
Toggle commit list-
361e1466...c8d06b0a - 76 commits from branch