LHCb merge requestshttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests2024-03-25T14:21:32+01:00https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4486add 2 new run3 raw DAQ error bank types2024-03-25T14:21:32+01:00Guillaume Voutersadd 2 new run3 raw DAQ error bank typesSebastien PonceRosen MatevSebastien Poncehttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4485decayLength rename in ParticleParams2024-03-29T05:25:11+01:00Andrea Villaandrea.villa@cern.chdecayLength rename in ParticleParamsRenaming the `decayLength` attribute of the `ParticleParams` module to make it consistent with the DaVinci functor that computes the flight distance.
Corresponding changes are put in place in https://gitlab.cern.ch/lhcb/Rec/-/merge_requ...Renaming the `decayLength` attribute of the `ParticleParams` module to make it consistent with the DaVinci functor that computes the flight distance.
Corresponding changes are put in place in https://gitlab.cern.ch/lhcb/Rec/-/merge_requests/3815 and https://gitlab.cern.ch/lhcb/DaVinci/-/merge_requests/1057Anfeng LiAnfeng Lihttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4480set the reserved bits to 31 for hlt raw banks2024-03-21T18:04:20+01:00Sevda Esenset the reserved bits to 31 for hlt raw banksClosing #221
@rmatev @gravenClosing #221
@rmatev @gravenhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4473add `hlt_decisions` for HLT1 to `do_unpacking`2024-03-25T10:43:49+01:00Nicole Skidmoreadd `hlt_decisions` for HLT1 to `do_unpacking`Minor additionMinor additionNicole SkidmoreAnfeng LiNicole Skidmorehttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4469Draft: [TCK Infra] The official tck_repo has 'master' instead of 'main', need...2024-03-26T15:10:44+01:00Luke GrazetteDraft: [TCK Infra] The official tck_repo has 'master' instead of 'main', needs patching.cc @rmatev
In the tck generation stage: with the new [official tck repository](https://gitlab.cern.ch/lhcb/tcks) instead of the [unofficial tck repository](https://gitlab.cern.ch/lhcb-rta/tcks) used last year, we receive the following ...cc @rmatev
In the tck generation stage: with the new [official tck repository](https://gitlab.cern.ch/lhcb/tcks) instead of the [unofficial tck repository](https://gitlab.cern.ch/lhcb-rta/tcks) used last year, we receive the following error.
```
terminate called after throwing an instance of 'std::runtime_error'
what(): Git error -34: reference 'refs/heads/main' not found
Failed to convert sequence to git repo
```
I believe this is due to `master` over `main` being chosen when the new tck repo was being set up.
- This has now been changed so that the new tck repo is compatible with the old.
### ToDo:
- [ ] It's preferable to use a 'root commit', i.e. a branch without a parent, instead of using either `main` or `master`Rosen MatevLuke GrazetteRosen Matevhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4468MatVec invChol check for failure2024-03-15T08:55:23+01:00Andre GuntherMatVec invChol check for failureThe merge request adds a mask to the return of MatVec's matrix inversion via Choleksy decomp. The mask flags the success of the inversion and leaves it up to the caller what to do. In many cases I chose to return NaNs after inversion fai...The merge request adds a mask to the return of MatVec's matrix inversion via Choleksy decomp. The mask flags the success of the inversion and leaves it up to the caller what to do. In many cases I chose to return NaNs after inversion failure, or pass on an already existing failure mask.
Goes with Rec!3798Andre GuntherAndre Guntherhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4467Fixed packing of particle covariance matrix2024-03-25T10:58:18+01:00Wouter Hulsbergenwouterh@nikhef.nlFixed packing of particle covariance matrixFixes https://gitlab.cern.ch/lhcb/LHCb/-/issues/347
This also fixes a small issue with the computation of the energy in the unpacker. (This change is backward compatible.)
**Important note:** this updates the Particle packing, but it d...Fixes https://gitlab.cern.ch/lhcb/LHCb/-/issues/347
This also fixes a small issue with the computation of the energy in the unpacker. (This change is backward compatible.)
**Important note:** this updates the Particle packing, but it does not change the packing version as the target branch has not yet been used to reconstruct/generate data.RTA/2024.03.27Wouter Hulsbergenwouterh@nikhef.nlSevda EsenAndre GuntherAnfeng LiWouter Hulsbergenwouterh@nikhef.nlhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4465RichUtils/AllocateCount.h: remove constraint that templated TYPE must have My...2024-03-21T20:29:46+01:00Christopher Rob Jonesjonesc@hep.phy.cam.ac.ukRichUtils/AllocateCount.h: remove constraint that templated TYPE must have MyName()RichUtils/AllocateCount.h: remove contraint that templated TYPE must have a MyName() member functionRichUtils/AllocateCount.h: remove contraint that templated TYPE must have a MyName() member functionhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4463packer/unpacker cleanup / consolidation2024-03-28T18:37:20+01:00Gerhard Ravenpacker/unpacker cleanup / consolidation- Remove the need for `upfront_decoder.bind( source = ... )`: compute the relevant argument from the requested location in `_get_unpacked` and pass it explicitly
- Remove ability to pack using deprecated, old-style 32-bit references whi...- Remove the need for `upfront_decoder.bind( source = ... )`: compute the relevant argument from the requested location in `_get_unpacked` and pass it explicitly
- Remove ability to pack using deprecated, old-style 32-bit references which are known to overflow and lead to data corruption - only keep the ability to pack 64-bit references. Throw an exception if such an packing version still requested (note: the _unpacking_ is left as-is)
- Improve implementation of packing and unpacking of references
- Unify setters in event model classes for `SmartRef` and pointer: remove redundant overloads (which could be ambiguous, and require additional casts!)
required by Moore!3117 and DaVinci!1056Anfeng LiAnfeng Lihttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4458consistently use LHCb::span instead of gsl::span2024-03-24T16:30:15+01:00Gerhard Ravenconsistently use LHCb::span instead of gsl::spanavoid mixing LHCb::span (which defers to gsl::span) and direct use of gsl::span, as LHCb::span makes sure several macros are defined to avoid bounds checking in non-debug builds, and ensures that `span<byte>` uses `std::byte` instead of ...avoid mixing LHCb::span (which defers to gsl::span) and direct use of gsl::span, as LHCb::span makes sure several macros are defined to avoid bounds checking in non-debug builds, and ensures that `span<byte>` uses `std::byte` instead of `gsl::byte`, and we don't want to have two 'variants' of gsl::span being used simultaneously which are configured differently...
(and it will make a future migration to C++20 `std::span` easier as well)Gerhard RavenGerhard Ravenhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4457remove obsolete `context()`2024-03-22T11:50:41+01:00Gerhard Ravenremove obsolete `context()``context()` stems from the time prior to the use of python to configure Gaudi applications, and was used to coherently switch sets of properties. At this point, at best it just interferes with the configuration, and creates confusion. He...`context()` stems from the time prior to the use of python to configure Gaudi applications, and was used to coherently switch sets of properties. At this point, at best it just interferes with the configuration, and creates confusion. Hence it is time to remove it all together so we can stop thinking/worrying about its effects.
requires Rec!3783, Boole!549Andre GuntherAnfeng LiAndre Guntherhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4453Fix truth matching persistency bug2024-03-26T15:13:51+01:00Jiahui ZhuoFix truth matching persistency bugThe issue originated from https://gitlab.cern.ch/lhcb/Moore/-/issues/580, where @yihou identified anomalies in neutral truth matching. Subsequently, @alobosal confirmed the bug during the HLT2 line development. I suggested using the `MCR...The issue originated from https://gitlab.cern.ch/lhcb/Moore/-/issues/580, where @yihou identified anomalies in neutral truth matching. Subsequently, @alobosal confirmed the bug during the HLT2 line development. I suggested using the `MCReconstructed` tool to double-check the truth-matching relation table at the DaVinci level. Then, @yihou observed that all candidates had only one truth-matching result, which is uncommon for neutral particles.
The debugging process then began, and thanks a lot to @yihou for all the assistance with debugging! Eventually, the bug was identified. It was due to the recently implemented selective parker, which includes a mechanism to prevent duplicate entries based on the `from` candidate in the table. This results in a situation where if one `from` candidate is related to multiple `to` candidates, only the first entry persists, and the rest are removed by this kill-duplication mechanism. Consequently, the truth-matching table retains only one entry for each candidate (the first one, which, since the table is sorted by weight, corresponds to the worst candidate). This has a minor impact on charged particles, which usually have only one associated candidate, but it is disastrous for neutral particles, which typically have more than one associated candidate and the current implementation will only persist the worst one.
This MR addresses this issue and, so makes `MCReconstructed` useful.
FYI: @adeoyang @amathad @erodrigu @yihou @alobosal @gravenJiahui ZhuoJoshua Ethan HorswillJiahui Zhuohttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4452ProtoParticle: avoid comparing SmartRef to 0, use nullptr instead2024-03-01T11:00:34+01:00Gerhard RavenProtoParticle: avoid comparing SmartRef to 0, use nullptr insteadAndre GuntherJoshua Ethan HorswillAndre Guntherhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4449Fixed Muon decoding test2024-02-14T22:17:09+01:00Sebastien PonceFixed Muon decoding testhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4448Cleanup and improve ZeroMQ tests2024-02-14T08:33:18+01:00Roel AaijCleanup and improve ZeroMQ tests- Remove binary file that ended up in the tree.
- Two `.cpp` files intended as tests were not used as such, a new test - using Catch2 - has been created out of those.
- closes #343- Remove binary file that ended up in the tree.
- Two `.cpp` files intended as tests were not used as such, a new test - using Catch2 - has been created out of those.
- closes #343https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4446Fixed handling of references in ex2 tests2024-02-12T19:29:22+01:00Sebastien PonceFixed handling of references in ex2 testshttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4444Support zstd compressed MDF reading in old-style IO2024-03-25T09:53:53+01:00Chris BurrSupport zstd compressed MDF reading in old-style IO~~A crude proof of concept for guiding the discussion in https://gitlab.cern.ch/lhcb/opg/-/issues/41. It seems to work for all of the offline use cases that we actually have at the moment.~~
See https://gitlab.cern.ch/lhcb/opg/-/issues/...~~A crude proof of concept for guiding the discussion in https://gitlab.cern.ch/lhcb/opg/-/issues/41. It seems to work for all of the offline use cases that we actually have at the moment.~~
See https://gitlab.cern.ch/lhcb/opg/-/issues/41 for the motivation for this MR. This MR is ready and tested.
cc @sponce @clemenci @bcouturi
~~**Note that is now part of LHCb!2993, so it should not be merged unless LHCb!2993 does not make it to production**~~RTA/2024.03.27Chris BurrChris Burrhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4442Simplification/Streamlining of GaudiConf.reading2024-03-06T17:00:32+01:00Gerhard RavenSimplification/Streamlining of GaudiConf.readingThere are only two functions in GaudiConf.reading which are (need to be) exported: `do_unpacking` and `type_map`. A few other functions are only invoked by reco_objects_for_spruce.py, and are moved there. `do_unpacking` is a special case...There are only two functions in GaudiConf.reading which are (need to be) exported: `do_unpacking` and `type_map`. A few other functions are only invoked by reco_objects_for_spruce.py, and are moved there. `do_unpacking` is a special case (it configures unpacking using configurables for GaudiPython, bypassing PyConf) and it is only used by qmtests of the sprucing. This MR streamlines and simplifies `do_unpacking` so that it exactly meets the requirements of that use case, and removes any suggestion of it being more general, which it actually isn't.
Must be applied in conjunction with Moore!2983Sebastien PonceSebastien Poncehttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4441GaudiConf:reading.py: remove unused functionality2024-02-10T22:00:29+01:00Gerhard RavenGaudiConf:reading.py: remove unused functionalityremove arguments from `do_unpacking` which cannot actually be specified...
must be applied in conjunction with Moore!2979remove arguments from `do_unpacking` which cannot actually be specified...
must be applied in conjunction with Moore!2979Sebastien PonceSebastien Poncehttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4433Remove space in algorithm names2024-02-06T10:16:42+01:00Rosen MatevRemove space in algorithm names