LHCb merge requestshttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests2024-03-28T08:53:37+01:00https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4501prefer `DataHandle::setKey` over `DataHandle::updateKey`2024-03-28T08:53:37+01:00Gerhard Ravenprefer `DataHandle::setKey` over `DataHandle::updateKey`both `DataHandle::setKey` and `DataHandle::updateKey` do the exact same thing, so standardize on one of them (so that the other can be removed subsequently)both `DataHandle::setKey` and `DataHandle::updateKey` do the exact same thing, so standardize on one of them (so that the other can be removed subsequently)https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4485decayLength rename in ParticleParams2024-03-27T20:52:38+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/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/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/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/4439Remove FileStager - run2-patches2024-02-16T10:55:16+01:00Mark SmithRemove FileStager - run2-patchesBackport of !4362Backport of !4362https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4433Remove space in algorithm names2024-02-06T10:16:42+01:00Rosen MatevRemove space in algorithm nameshttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4429Streamline available states for track types2024-03-25T11:53:17+01:00Andre GuntherStreamline available states for track typesObjectives:
- specialise the available states for each track type according to their fit history. This is useful because tracks out of the pattern recognition have different states than their fitted counterparts. Defining this centrally...Objectives:
- specialise the available states for each track type according to their fit history. This is useful because tracks out of the pattern recognition have different states than their fitted counterparts. Defining this centrally in `States.h` avoids mistakes when converting among the different track implementations Pr <-> v3 <-> v1, see Rec#519.
- with centrally defined available states, the Pr track containers now statically map state locations to the index in the SOA state field such that state quantities are accessed by location, not index, which is more readable
- move state-related SOACollections from PrTracksTag.h and Track_v3.h to States.h header
- implement zip-compatible constructors for RelationTable1D/2D and provide `weight` function for ExtraTags access (foreseen access via Weight functor) ~"new feature"
Goes with Rec!3738 and Allen!1433 and Moore!3045Andre GuntherAnfeng LiAndre Guntherhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4423Strong enum for Tagger::TagResult, used in FlavourTag and Tagger2024-02-09T11:22:10+01:00Gerhard RavenStrong enum for Tagger::TagResult, used in FlavourTag and Tagger- add code to support Tagger::TagResult as strong enum
- getters return Tagger::TagResult instead of short int
- setters require Tagger::TagResult instead of short int
must be applied in conjunction with Rec!3728- add code to support Tagger::TagResult as strong enum
- getters return Tagger::TagResult instead of short int
- setters require Tagger::TagResult instead of short int
must be applied in conjunction with Rec!3728Sebastien PonceSebastien Poncehttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4422use SynchronizedValue.h from Gaudi2024-02-07T07:55:52+01:00Gerhard Ravenuse SynchronizedValue.h from GaudiSynchronizedValue.h is now available in Gaudi -- drop the LHCb version which is identical except for the namespace, and instead import the Gaudi reincarnation into the pre-existing namespace.SynchronizedValue.h is now available in Gaudi -- drop the LHCb version which is identical except for the namespace, and instead import the Gaudi reincarnation into the pre-existing namespace.https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4419Drop FittedForward track type and use FitHistory instead2024-02-09T11:22:09+01:00Andre GuntherDrop FittedForward track type and use FitHistory insteadThe track type `FittedForward` was introduced to account for the different set of states on a Long track fitted by the VeloKalman and PrKF, respectively. Conceptually, however, this is not a new track type because it also only has VP,UT ...The track type `FittedForward` was introduced to account for the different set of states on a Long track fitted by the VeloKalman and PrKF, respectively. Conceptually, however, this is not a new track type because it also only has VP,UT and FT hits and is thus simply a Long track. This MR drops the `FittedForward` type and introduces a flag for `FitHistory` which is the correct distinction between the two flavours of Long tracks.
The reason to care is a different one though. Apparently, making usage of the `FittedForward` type obvious in other parts of the code (https://gitlab.cern.ch/lhcb/Rec/-/merge_requests/3677) leads to change of ordering of tracks depending on the platform and thus to failing tests (credit goess to @sponce for digging this up). It remains to be seen whether dropping the type solves this for good or further action needs to be taken (looking at the TrackBestTrackCreator).
Goes with Rec!3722 and Allen!1396
Resolves #339Andre GuntherAndre Guntherhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4418Clean up original GOD generated code in PhysEvent and MCEvent2024-02-13T17:24:03+01:00Gerhard RavenClean up original GOD generated code in PhysEvent and MCEvent- improve use of flags by using generic functions to set/get,
and compute offsets from values, instead of defining them
coherently
- add `[[nodiscard]]` where appropriate
- avoid comparing SmartRef to 0
- have setters return referenc...- improve use of flags by using generic functions to set/get,
and compute offsets from values, instead of defining them
coherently
- add `[[nodiscard]]` where appropriate
- avoid comparing SmartRef to 0
- have setters return reference to *this
- declare operator<< into the smallest possible scope so it does
not pollute the global namespace -- and implement in in the .cpp
file instead of in the header file. Also, prefer '\n' over std::endl
to avoid flusing the stream midwayhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4415do not rely on dynamic TES location alternate resolution2024-02-09T11:22:09+01:00Gerhard Ravendo not rely on dynamic TES location alternate resolutiondynamic TES alternate location resolution has been deprecated for a long time, this MR removes the last (unnecessary) reliance on this.
Note that gaudi/Gaudi!1543 will _remove_ this functionality alltogether.dynamic TES alternate location resolution has been deprecated for a long time, this MR removes the last (unnecessary) reliance on this.
Note that gaudi/Gaudi!1543 will _remove_ this functionality alltogether.Sebastien PonceSebastien Poncehttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4412Include a standalone compilation of ODIN in DAQEvent2024-02-09T11:22:09+01:00Roel AaijInclude a standalone compilation of ODIN in DAQEventSo far `ODIN` standalone (`-DODIN_WITHOUT_GAUDI`) has been included in Allen, but grabbing `ODIN.cpp` from the LHCb master branch has maintenance issues. This came up in https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4192 and is track...So far `ODIN` standalone (`-DODIN_WITHOUT_GAUDI`) has been included in Allen, but grabbing `ODIN.cpp` from the LHCb master branch has maintenance issues. This came up in https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4192 and is tracked in https://gitlab.cern.ch/lhcb/Allen/-/issues/449.
The initial proposal was to remove the inheritance of `ODIN` from `DataObject`, but that would be quite invasive and would e.g. break exisiting GaudiPython scripts.
This MR provides an alternative by including a build of `ODIN` standalone into `DAQEventLib`. Removing inheritance from `DataObject` from `ODIN` can still be done later.
Needed for https://gitlab.cern.ch/lhcb/Allen/-/merge_requests/1391https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4406Define order of hitzones in PrSciFiHits header2024-01-21T09:10:54+01:00Andre GuntherDefine order of hitzones in PrSciFiHits headerThe hitzones were defined equally in two different places and are now unified here.
Goes with Rec!3705The hitzones were defined equally in two different places and are now unified here.
Goes with Rec!3705Sebastien PonceMiroslav Saurmiroslav.saur@cern.chSebastien Poncehttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4400Reintroduced MDFLib, with StreamDescriptor inside, as it's needed by MooreOnline2023-12-21T22:11:55+01:00Sebastien PonceReintroduced MDFLib, with StreamDescriptor inside, as it's needed by MooreOnlinehttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4398Streamline HltDecReport{,s} and HltDecReportsWriter2023-12-22T07:39:11+01:00Gerhard RavenStreamline HltDecReport{,s} and HltDecReportsWriter- unify setter/getter functions
- compute bit offsets from masks
- setters return *this
- constexpr where possible
- unify loops for zero and non-zero suppressed bank versions
- have a single constant for bank common bank prefix size
- s...- unify setter/getter functions
- compute bit offsets from masks
- setters return *this
- constexpr where possible
- unify loops for zero and non-zero suppressed bank versions
- have a single constant for bank common bank prefix size
- speed up decreports writer by taking advantage of known sorting of id->string tableSebastien PonceSebastien Ponce