The LHCB v55r6 Full Release Notes
2024-04-08 LHCb v55r6
This version uses
Gaudi v38r1,
Detector v1r30 and
LCG 105a with ROOT 6.30.04.
This version is released on the master
branch.
Built relative to LHCb v55r5, with the following changes:
New features ~"new feature"
- ~Configuration ~Monitoring | Support for using TAE events, !4455 (@rmatev)
Fixes ~"bug fix" ~workaround
Enhancements ~enhancement
- MatVec invChol check for failure, !4468 (@gunther) [Moore#740]
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Simulation | DecayLength rename in ParticleParams, !4485 (@avilla)
Documentation ~Documentation
Other
2024-04-03 LHCb v55r5
This version uses
Detector v1r30,
Gaudi v38r1 and
LCG 105a with ROOT 6.30.04.
This version is released on the master
branch.
Built relative to LHCb v55r4, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
Enhancements ~enhancement
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- PackedCaloHypo simple warning message modification, !4470 (@msaur)
Documentation ~Documentation
Other
2024-03-27 LHCb v55r4
This version uses
Detector v1r29,
Gaudi v38r1 and
LCG 105a with ROOT 6.30.04.
This version is released on the master
branch.
Built relative to LHCb v55r3, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
- ~Persistency | Fixed packing of particle covariance matrix, !4467 (@wouter)
- ~Build | Fix stand alone compilation of LHCbMath/VectorizedML headers, !4479 (@clemenci)
- InteractionRegion check if parent is nullptr before deref, !4495 (@gunther)
- MatCalibration: add fallback solution for missing conditions, !4475 (@isanders)
Enhancements ~enhancement
- ~Calo ~"Event model" ~Persistency | Persistency for ChargedPID, BremInfo and GlobalChargedPID classes, !4338 (@tnanut)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Persistency | Set the reserved bits to 31 for hlt raw banks, !4480 (@sesen) [#221]
- Remove obsolete
context()
, !4457 (@graven)
Documentation ~Documentation
Other
- ~"Event model" ~Persistency | Add PV pointer to particle, update v2 PV event model, !4299 (@sesen) [#257,Moore#139,Moore#604,Moore#608,Moore#613,Rec#363]
- For DPA: Make the data_type optional as "data_type:Upgrade" is meaningless, !4496 (@amathad)
- VectorizedML/Sequence fix const return type warning, !4481 (@gunther)
- Add a new HltDecReports filter, !4454 (@sesen)
- Support zstd compressed MDF reading in old-style IO, !4444 (@cburr)
2024-03-18 LHCb v55r3
This version uses
Gaudi v38r1,
Detector v1r28 and
LCG 105a with ROOT 6.30.04.
This version is released on the master
branch.
Built relative to LHCb v55r2, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
Enhancements ~enhancement
- ~Configuration ~Decoding ~Persistency | Add option to ANNSvc to publish decoding keys to monitoring hub, and read decoding keys from FSR, !4404 (@graven)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Tracking ~PID | SIMD ML inference backend, !4305 (@mveghel)
Documentation ~Documentation
Other
2024-03-05 LHCb v55r2
This version uses
Gaudi v38r0,
Detector v1r27 and
LCG 105a .
This version is released on the master
branch.
Built relative to LHCb v55r1, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
- Fix truth matching persistency bug, !4453 (@jzhuo)
Enhancements ~enhancement
- ~"Event model" | Add ODIN EventType bit accessor and clean up TriggerTypes, !4192 (@rmatev)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- Cleanup and improve ZeroMQ tests, !4448 (@raaij) [#343]
Documentation ~Documentation
Other
- ~Decoding ~Monitoring | Updated PLUME decoding in HLT2, !4435 (@fferrari)
- ProtoParticle: avoid comparing SmartRef to 0, use nullptr instead, !4452 (@graven)
- Tiny ref fix fir ex2, !4451 (@sponce)
- Introduce number of track parameters in TrackParameters, !4450 (@ausachov)
- Fixed Muon decoding test, !4449 (@sponce)
- Allow unknown locations when unpacking for tistos, !4445 (@sesen)
- Fix Allen UT geometry, !4395 (@jzhuo)
- UThit position methods, !4269 (@hawu)
- Added VELO Error Bank to RawEvent.h, !4409 (@jabrown)
2024-02-13 LHCb v55r1
This version uses
Detector v1r26,
Gaudi v38r0 and
LCG 105a .
This version is released on the master
branch.
Built relative to LHCb v55r0, with the following changes:
New features ~"new feature"
- Add
ISequencerTimerTool::scopedTimer
to get an RAII wrapper which stops/starts a timer, !4408 (@graven)
Fixes ~"bug fix" ~workaround
- ~Decoding ~VP ~Simulation | Fix bug in VP encoding and decoding of topologyID, !4227 (@dpassaro)
Enhancements ~enhancement
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Configuration | Remove space in algorithm names, !4433 (@rmatev)
- ~Configuration ~Persistency | Simplification/Streamleaning of GaudiConf.reading, !4442 (@graven)
- ~Configuration ~Persistency | GaudiConf:reading.py: remove unused functionality, !4441 (@graven)
- ~RICH | FPE Auditor: Issue warning not exception when trapping support unavailable, !4426 (@jonrob)
- ~Build | Replace CMake command exec_program with execute_process, !4436 (@clemenci)
- Use SynchronizedValue.h from Gaudi, !4422 (@graven)
- Strong enum for Tagger::TagResult, used in FlavourTag and Tagger, !4423 (@graven)
Documentation ~Documentation
Other
- ~RICH | Allen RICH decoding, !4001 (@dcampora)
- Fixed handling of references in ex2 tests, !4446 (@sponce)
- Revert "Revert "Merge branch 'strong-enum-tagresult' into 'master'"", !4434 (@graven)
- Update References for: Gaudi!1545, LHCb!4431 based on lhcb-master-mr/10409, !4432 (@lhcbsoft)
- Revert "Merge branch 'strong-enum-tagresult' into 'master'", !4430 (@sponce)
- Fixed limit of VMem for mergesmallfiles test, !4428 (@sponce)
- Modernization of RawDataSelector and MyGaudiAlgorithm, !4427 (@sponce)
- Add muon LHCbIDs to Track_v3, !4413 (@thboettc)
2024-01-26 LHCb v55r0
This version uses
Gaudi v37r2,
Detector v1r25 and
LCG 104 with ROOT 6.28.04.
This version is released on the master
branch.
Built relative to LHCb v54r21, with the following changes:
New features ~"new feature"
- ~Persistency | Add zero-suppressed HltDecReport rawbank format, !4367 (@graven)
Fixes ~"bug fix" ~workaround
Enhancements ~enhancement
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding ~Calo | Small cleanups that speed up the Calo decoding, !4339 (@rmatev)
- ~Tracking | Drop FittedForward track type and use FitHistory instead, !4419 (@gunther) [#339]
- ~Tracking | Define order of hitzones in PrSciFiHits header, !4406 (@gunther)
- ~RICH | RichPID: Small clean up and modernisation, !4288 (@jonrob)
- ~Persistency | Small speedup of unpacking, !4340 (@graven) [#334]
- ~Persistency | Remove pointer assumption from packer's check function, !4323 (@ldufour)
- ~Build | Include a standalone compilation of ODIN in DAQEvent, !4412 (@raaij)
- ~Build | Reintroduced MDFLib, with StreamDescriptor inside, as it's needed by MooreOnline, !4400 (@sponce)
- ~Build | Use gaudi_add_pytest instead of gaudi_add_tests(pytest/nosetest), !4059 (@clemenci)
- Clean up original GOD generated code in PhysEvent and MCEvent, !4418 (@graven)
- Do not rely on dynamic TES location alternate resolution, !4415 (@graven)
- Streamline HltDecReport{,s} and HltDecReportsWriter, !4398 (@graven)
- Remove mention of deleted IBTaggingTool, !4391 (@cprouve)
- Remove PixelModule and HCRawBankDecoder, !4382 (@ldufour)
- Reduce code duplication and simplify ControlFlowNode and HLTControlFlowMgr, !4379 (@graven)
- Cleanup state location and track type usage in track v3 and converters, !4374 (@gunther) [#335]
- Do not build DetDesc dictionary, !4363 (@clemenci)
- Replace std::random_shuffle with std::shuffle, !4335 (@clemenci)
- Remove duplicate configuration of MCParticle/MCVertex unpacking, !4327 (@graven)
Documentation ~Documentation
Other
- ~Configuration | Add
--with-defaults
command-line option to LbExec, !4319 (@admorris)
- ~Muon ~PID ~"Event model" | Cleanup of ProtoParticle of duplicate muon info, !4416 (@mveghel)
- ~Calo ~Persistency | Add NeutralPID object to ProtoParticle, !4097 (@tnanut)
- ~RICH | DecodedDataFromMCRichHits: Improvements to hit time handling, !4371 (@jonrob)
- ~RICH ~PID ~"Event model" | Remove obsolete RICH additionalInfo in ProtoParticle, !4320 (@mveghel)
- ~RICH ~"MC checking" | Misc. improvements to support RICH 4D Reco, !4337 (@jonrob)
- ~Persistency | Add a raw event mover algorithm, !4393 (@sesen)
- ~Persistency | Check of unique rawbank sourceID in SelectiveCombineRawBankViewsToPersist, !4259 (@msaur) [Moore#614]
- ~Persistency | Add support for packing T::Selection, for classes T which are packable, if T::Selection is defined, !4193 (@graven)
- Prepare for new GaudiPartProp in Gaudi v38, !4420 (@clemenci)
- Fixes cast method of MatVec so that it works with non explicit casting operator, !4414 (@sponce)
- Fixed typo in platform info for clang16 platform, !4410 (@sponce)
- Various cleanup in LHCb, !4402 (@sponce)
- Adapted Phoenix Sink to changes in BaseSink interface, !4328 (@sponce)
- Add heavy flavour track related info and functionality for VP, !4208 (@mveghel)
- More paranoid FetchDataFromFile and more generic unpacking, !4403 (@graven)
- Fixed missing include breaking the build on gcc13, !4401 (@sponce)
- Remove DAQKernel package (and migrate its users, eg.
bankKiller
and RawEventDump
), !4399 (@graven) [#338]
- Reduced precision of TestVDTMath to avoid fluctuations with platforms and compilers, !4397 (@sponce)
- Added new platforms to PlatformInfo, !4396 (@sponce)
- Minor tweak to PyConf JSON encoder to support set properties, !4381 (@clemenci)
- Add a copy of GaudiAlg (imported from Gaudi v37r2), !4373 (@clemenci)
- Backported floating point comparison fixes from Run2Patches, !4304 (@sponce)
- Update References for: LHCb!4379 based on lhcb-master-mr/9834, !4394 (@lhcbsoft)
- Various fixes for C++20, backported from Run2Support, !4392 (@sponce)
- Unpack MCParticles when requesting MCHeader, !4387 (@amathad)
- Cleaned up code around MDFWriter, !4380 (@sponce)
- Support setting compression algorithm with mdf_writer, !4282 (@cburr)
- Consistently use RawBank::View as input to algorithms instead of RawEvent, !4010 (@graven)
- Make FindVDT.cmake compatible with ROOT's FindVdt.cmake, !4345 (@clemenci)
2023-12-07 LHCb v54r21
This version uses
Gaudi v36r16,
Detector v1r24 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r19, with the following changes:
New features ~"new feature"
- ~Decoding ~FT | Add the possibility not to decode large clusters as such, !4297 (@lohenry)
- ~Persistency | Add persistreco version for PbPb, !4295 (@mveghel)
- Add node traversal function to PyConf, !4366 (@gunther)
Fixes ~"bug fix" ~workaround
- ~Decoding ~FT | Reinforce misordered clusters checks, !4341 (@lohenry)
- ~Decoding ~FT | Fix small misordered and large misordered FT clusters, !4336 (@lohenry)
- ~Decoding ~FT | Check for misordered small clusters as well, !4307 (@lohenry) [Rec#512]
- ~Persistency | Fix in persistreco config, !4347 (@mveghel)
- Fixes for gcc 13, clang 16 and C++20, !4322 (@clemenci)
- Add LCG 104 new platforms to the list in PlatformInfo.cpp, !4317 (@clemenci)
- Fix standalone compilation of InteractionRegion.h, !4316 (@clemenci)
Enhancements ~enhancement
- ~Configuration | Add function to get ROOT_TES for TISTOS, !4356 (@amathad)
- ~Luminosity | Update lumi en/de-coders and monitor for HLT2 lumi counters, !4130 (@dcraik)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Tracking ~Persistency | Change momentum tolerance of the track packing, !4354 (@gunther) [Rec#516]
- ~Core | Pass "type/name" to scheduler (fixes warnings), !4325 (@rmatev)
Documentation ~Documentation
Other
- ~Tracking | DeFTQuarter provide average position access functions, !4279 (@gunther)
- ~Calo | Pin data decoding, !3477 (@jmarchan)
- ~RICH | RichMirrorFinder: Add some asserts to validate indices are always in range., !4324 (@jonrob)
- ~RICH | Add new algorithm DecodedDataAddMCInfo, !4315 (@jonrob)
- ~RICH ~"MC checking" | RichFutureMCUtils: Add support for spillover events to RICH MC cheating algorithms, !4321 (@jonrob)
- ~Luminosity | Make sure lumiTree is written to empty NTuple files, !4344 (@clemenci)
- ~Luminosity | Streamline LumiFSRtoTTree, !4312 (@graven)
- ~Simulation | Prepare release v54r20 needed for release of Boole, !4348 (@gcorti)
- Dropped FileStager component as it not used anymore, !4362 (@sponce)
- Fixed race condition in HLTControlFlowMgr, !4353 (@sponce)
- Fixed bad check in MDF_ROOT IO, !4351 (@sponce)
- Add python level ParticleTable class, !4286 (@jzhuo)
- More precise checks in test_STLExtensions, !4314 (@sponce)
2023-10-30 LHCb v54r20
This version uses
Detector v1r23,
Gaudi v36r16 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r19, with the following changes:
New features ~"new feature"
- ~Decoding ~FT | Add the possibility not to decode large clusters as such, !4297 (@lohenry)
- ~Persistency | Add persistreco version for PbPb, !4295 (@mveghel)
Fixes ~"bug fix" ~workaround
- ~Decoding ~FT | Fix small misordered and large misordered FT clusters, !4336 (@lohenry)
- ~Decoding ~FT | Check for misordered small clusters as well, !4307 (@lohenry) [Rec#512]
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Core | Pass "type/name" to scheduler (fixes warnings), !4325 (@rmatev)
Other
- ~Tracking | DeFTQuarter provide average position access functions, !4279 (@gunther)
- ~RICH | RichMirrorFinder: Add some asserts to validate indices are always in range., !4324 (@jonrob)
- ~RICH | Add new algorithm DecodedDataAddMCInfo, !4315 (@jonrob)
- ~RICH ~"MC checking" | RichFutureMCUtils: Add support for spillover events to RICH MC cheating algorithms, !4321 (@jonrob)
- ~Luminosity | Streamline LumiFSRtoTTree, !4312 (@graven)
- More precise checks in test_STLExtensions, !4314 (@sponce)
- Add python level ParticleTable class, !4286 (@jzhuo)
2023-10-06 LHCb v54r19
This version uses
Detector v1r22,
Gaudi v36r16 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r18, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
- ~RICH ~PID | Move Rich DLL scaling to static / class functions., !4301 (@jonrob)
Enhancements ~enhancement
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Configuration | Handle lumi events in do_unpacking, !4292 (@rmatev)
- Make sure ROOT starts in batch mode in tests, !4306 (@rmatev)
- Fixed many unsafe float comparisons, !4291 (@sponce) [#289,#326]
- Remove usage of GaudiAlgorithm in FT and Hlt code, !4233 (@sponce)
Documentation ~Documentation
Other
- Update References for: Detector!425 based on lhcb-master-mr/9351, !4293 (@lhcbsoft)
- Fix errors caused by DD4Hep future upgrades refactor, !4283 (@emmuhamm)
2023-09-25 LHCb v54r18
This version uses
Detector v1r21,
Gaudi v36r16 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r17, with the following changes:
New features ~"new feature"
- ~Conditions | Condition derivation for InteractionRegion information, !4173 (@raaij)
Fixes ~"bug fix" ~workaround
- ~RICH | Fix point write access, !4296 (@jonrob)
- ~Persistency | (more) deterministic weighted relations ordering, !4275 (@graven)
Enhancements ~enhancement
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~"PV finding" | Make sure PVTracks::prvelocontainers is initialized, !4289 (@clemenci)
- ~UT | Convert UT warnings and errors to accumulators., !4274 (@ganowak) [Lbcom#11]
- ~"Event model" | Remove Velo(Lite) clusters from DigiEvent, !4294 (@ldufour)
- ~Build | Fixes for a clean compilation on ARM, !4207 (@clemenci)
- Fix standalone headers builds, !4211 (@clemenci)
- Fixes for LCG 104, !4143 (@clemenci) [LHCBPS-1912]
- Adapted to changes in BaseSink and Entities, !4022 (@sponce) [#294]
Documentation ~Documentation
Other
- ~Tracking | PrSciFiHits add method to view x values, !4266 (@gunther)
- Remove operator== for floats in simdwrapper, !4264 (@ahennequ)
- Explicit cast added for ARM, !4200 (@obuon)
2023-09-11 LHCb v54r17
This version uses
Gaudi v36r16,
Detector v1r19 and
LCG 103 with ROOT 6.28.00.
This version is released on the `` branch.
Built relative to LHCb v54r16, with the following changes:
New features ~"new feature"
- ~Decoding ~FT ~Monitoring | Basic error monitoring for SciFi, !4156 (@bleverin)
- ~Luminosity | Resolve "Follow-up from "Service to write luminosity information to TTree when reading from FSRs"", !4270 (@efranzos) [#327]
Fixes ~"bug fix" ~workaround
Enhancements ~enhancement
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
Documentation ~Documentation
Other
- ~Decoding ~FT | Add 273505 as the first run where FT banks are properly labelled, !4273 (@lohenry) [#319]
- ~RICH ~"MC checking" | Strip RichSmartID time info when used for MC associations, !4281 (@jonrob)
2023-09-01 LHCb v54r16
This version uses
Gaudi v36r16,
Detector v1r19 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r15, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
Enhancements ~enhancement
- ~Tracking | Introduce BegT and EndT state locations, drop AtT, !4172 (@ausachov)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Core | Suppress some INFO messages from HLTScheduler.write test, !4263 (@jonrob)
- Modernise CountIterator and apply it, !4256 (@gunther) [Rec#480]
Documentation ~Documentation
Other
- ~Decoding ~Muon | MuonRawInUpgradeToHits: Fix clang warning, !4261 (@jonrob)
- ~Decoding ~RICH | RichDecodedData: remove duplicate ID assert, !4267 (@jonrob)
- ~Decoding ~RICH | RichDecodedData: make some setters for # hits and PDs private, !4265 (@jonrob)
- ~RICH | DecodedDataFromMCRichHits: Also create MCRichDigitSummarys when decoding from MCRichHits, !4255 (@jonrob)
- Service to write luminosity information to TTree when reading from FSRs, !4174 (@egraveri)
2023-08-25 LHCb v54r15
This version uses
Gaudi v36r16,
Detector v1r19 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r14, with the following changes:
New features ~"new feature"
- ~RICH | Add support for RICH 4D reconstruction, !4251 (@jonrob)
Fixes ~"bug fix" ~workaround
- ~Decoding ~Muon | Bug fix in indexing of a matrix, !4258 (@satta)
- ~Persistency | Fix check for line decision in SelectiveCombineRawBankViewsToRawEvent, !4250 (@rmatev)
Enhancements ~enhancement
- ~Core | Scheduler tests and fixes, !4248 (@rmatev) [#152,#311]
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Muon | Fix wrong assert in muon decoding, !4253 (@satta)
- ~Muon | Fix clang warning in MuonRawToTell40Infos, !4245 (@jonrob)
Documentation ~Documentation
Other
- ~Decoding ~Muon | MUON Decoding Update, !4160 (@satta)
- ~RICH | RichPDPanel: Use local implementation of PD intersection for both DetDesc and DD4HEP, !4243 (@jonrob) [opg#19]
- Prepare LHCb v54r15, !4257 (@rmatev)
- Fix refs following !4248, !4254 (@rmatev)
- Update References for: LHCb!4248 based on lhcb-master-mr/8920, !4249 (@lhcbsoft)
2023-08-04 LHCb v54r14
This version uses Detector v1r18,
Gaudi v36r16 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r13, with the following changes:
New features ~"new feature"
- ~Decoding ~UT | Add a proof-of-principle UT v6 decoder, !4168 (@graven)
- ~Decoding ~FT | Decode Full NZS clusters for detailed TA study at FT, !3747 (@zexu)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Build | Override keyword added to methods, !4240 (@obuon)
- Mdfreadingexample: set use_temp_dir=true and update data files to reduce download size, !4231 (@jonrob)
- Do not use /tmp in MDFReadingExample, !4230 (@sponce)
Other
- ~FT | Adapt to Detector!394, !4151 (@lohenry)
- Changed Detector version used in test to trunk, !4234 (@bcouturi)
2023-07-31 LHCb v54r13
This version uses
Detector v1r17,
Gaudi v36r16 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r12, with the following changes:
New features ~"new feature"
- ~Decoding ~RICH | Upgrade RichSmartID channel identifier to use 64bits., !4166 (@jonrob)
Fixes ~"bug fix" ~workaround
Enhancements ~enhancement
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Build | Add x86_64_v3-el9-gcc12+cuda12_1-opt+g to known platform list, !4202 (@jonrob)
- Dropped unused (I)RateFromTCK, !4213 (@sponce)
Documentation ~Documentation
Other
- ~Decoding ~FT | Add workaround in FT decoding for RawBanks incorrectly labeled as v7 when infact they are v8, !4210 (@lohenry)
- ~RICH ~"MC checking" | RICH Support for 'Reco From MC Information' for upgrade studies, !4181 (@jonrob)
- ~"Event model" ~Persistency | Split track containers and persistency (versioning), !4127 (@mveghel)
- ~Build | Suppress warning with gcc 12.1, !4203 (@jonrob)
- Fill EventStats for 2022 reprocessing, !4224 (@mstahl)
- Dropped unused EventCountHisto algorithm, !4197 (@sponce)
- MDF copy writer for 2022 reprocessing, !4176 (@mstahl)
2023-07-16 LHCb v54r12
This version uses
Detector v1r16,
Gaudi v36r14 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r11, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
- ~Persistency | Revert revert of !4179, !4189 (@graven)
- ~Persistency | Explicitly pack empty KeyedContainers and Relations Tables, !4179 (@graven)
- PyConf: fix eq for algorithm components, !4191 (@graven) [Moore#605,Moore#612]
Enhancements ~enhancement
- ~Tracking | Loose sector search scheme for UT, !4180 (@decianm)
- ~FT | FT_geo_supporting_functions, !4163 (@zexu)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding ~UT | Automatic derivation of sensor lookup table in UT, !4135 (@decianm)
- ~Build | Suppress suspected GCC 12 false positive warning, !4194 (@rmatev) [DaVinci#127]
- Correction for ARM, !4190 (@obuon)
- Remove non-thread-safe unused code, !4171 (@cmarinbe)
- Remove old, unused 'mapper' code to go from packed -> transient representations, the corresponding unpackers, and corresponding tests, !4170 (@graven)
- Dropped unused .opts file, !4178 (@sponce)
Documentation ~Documentation
Other
- ~FT | Function for hit efficiency, !4057 (@zexu)
- Revert "Merge branch 'pack-empty-keyedcontainers' into 'master'", !4188 (@rmatev)
- Dropped unused code around time decoding, !4186 (@sponce)
- Warn in case of problematic DetElem path for derived condition, !4184 (@sponce)
2023-07-04 LHCb v54r11
This version uses
Detector v1r15,
Gaudi v36r14 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r10, with the following changes:
New features ~"new feature"
- Utilities to create TCKs for HLT1, !4050 (@raaij)
Fixes ~"bug fix" ~workaround
- Unpacker: fix counter usage, !4147 (@graven)
- SelectivePacker: Consistently check whether TES entries are explicitly requested, !4136 (@graven)
Enhancements ~enhancement
- ~Persistency | Add UnpackDstDataBank which unpacks the entire DstData raw bank, !4149 (@graven)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding ~Muon | [MuonRawInUpgradeToHits] demote message level of wrong hit in frame, !4175 (@mstahl)
- ~UT | Added z() method to DeUTLayer for compatibility with DD4hep, !4159 (@sponce)
- ~Build | Generalize check for sanitizer binary tag, !4164 (@rmatev)
- Fixed warnings appearing with header compilation, !4177 (@sponce)
- Fix getSourceID for HltLumiSummary (follow !4119 !4141), !4153 (@rmatev)
Documentation ~Documentation
Other
- ~Configuration | Add 2022 to 2025 DataTypeEnum values to GaudiConf/LbExec/options.py, !4161 (@erodrigu)
- ~Persistency | Change of RawEvent location post Sprucing, !4158 (@msaur)
- Add setting of source id to routing bits algorithms, !4157 (@sstahl)
- Add configuration for 2022/2023 (Cherry-pick from sim10-patches), !4167 (@mimazure)
2023-06-21 LHCb v54r10
This version uses Detector v1r14, Gaudi v36r14 and LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r9, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
- ~Persistency | Fix HltDecReportWriter when TaskID > 0, !4162 (@graven)
Enhancements ~enhancement
- ~Core | Fix detection and propagation of FSRs from input files, !4138 (@clemenci)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
Documentation ~Documentation
Other
- Merging for sprucing output, !4165 (@nskidmor)
2023-06-12 LHCb v54r9
This version uses
Detector v1r13,
Gaudi v36r12 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r8, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
- ~UT | Fix out-of-bound access in UT GeomCache constructor, !4121 (@gunther) [#305]
- ~Build | Temporary port of gaudi/Gaudi!1465, !4154 (@rmatev)
- Avoid using &vector[0], prefer vector.data(), !4128 (@graven) [#310]
Enhancements ~enhancement
- ~Configuration | Modify computation of component hash ID, !4116 (@graven)
- ~Luminosity | Round non-integer lumi counter values rather than truncating them, !4152 (@dcraik) [MooreOnline#32]
- Use more precise approximation of atan2, !4139 (@ahennequ)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Persistency | Remove detector geometry from unpackers, !4137 (@sesen)
- Remove warning from FT readout map (follow !4129), !4145 (@rmatev)
- Remove broken link to doxygen, !4144 (@rmatev)
- Corrections in somes includes, !4142 (@obuon)
- Fix SourceID-based selection for empty input (follow !4119), !4141 (@rmatev)
- Small tweaks/simplifications to AddressKillerAlg, !4133 (@graven)
Documentation ~Documentation
- Clean up CONTRIBUTING.md following obsoletion of stripping24-patches branch, !4148 (@cattanem)
Other
- ~Decoding ~FT | Reshape a bit the readout map to allow for errors, !4129 (@lohenry)
- ~Decoding ~FT | Rewrite the FTReadoutMap in order to get deactivated links from Conditions, !4096 (@lohenry)
- ~Tuples | Update the Run3 DTF: Add extra output and v2 PVs support, !4007 (@jzhuo)
- Update References for: LHCb!4116, MooreOnline!251, DaVinci!904 based on lhcb-master-mr/8181, !4146 (@lhcbsoft)
- Remove redundant mutable from RelationsTable, !4131 (@graven)
- Add option to explicitly by-pass check for identically configured components with different names, !4126 (@graven)
- Various streamlining and simplifications for the UT code used for tracking, !4124 (@decianm)
- Add algorithm to select subview of RawBank view, !4119 (@sstahl)
- Change ReserveDetDescForEvent to use LHCb::Algorithm, !4082 (@clemenci)
- Make AddressKillerAlg functional, !4125 (@sponce)
2023-05-09 LHCb v54r8
This version uses
Gaudi v36r12,
Detector v1r12 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r7, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
- Fix comparison operator for entries in relation tables, !4104 (@graven) [Moore#559]
Enhancements ~enhancement
- ~Persistency | Packing: Allow dependencies to be anonymized, !4055 (@graven)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
Documentation ~Documentation
Other
- ~Configuration | Add input_process option to Moore, !4017 (@kmattiol)
- ~Decoding ~FT | Fix FT odd bank detection, !4077 (@lohenry)
- ~UT | Update UT Channel ID and geometry, !2995 (@xuyuan)
- ~Persistency | Combining RawBank::Views for RawBanks SP, !3942 (@msaur)
- Update References for: LHCb!4106, Alignment!376, Analysis!981, DaVinci!899 based on lhcb-master-mr/7800, !4111 (@lhcbsoft)
- Reduce the number of
bind
statements needed: improved configuration (derivation) of SourceIDs, !4110 (@graven)
- Update References for: LHCb!4108 based on lhcb-master-mr/7773, !4109 (@lhcbsoft)
- Apply lumi counter shifts and scales when decoding/writing/monitoring, !4108 (@dcraik)
- Generate meaningfull unique deterministic names for unpackers, decoders, fetchers, ..., !4106 (@graven)
- Add hash to name of Online output alg, !4080 (@mstahl)
- Fixed bug in counter diffs, leading to empty missing/extra counter statements, !4107 (@sponce)
- Change list of algorithms in FSR periodic flush test, !4103 (@clemenci)
- Fixed detdesc ref for velo_motion_from_yaml_pyconf, !4095 (@sponce)
- Moved cluster max width to a constant rather than an option, !4084 (@lohenry)
- Add suggestion to use qmtexec if .qmt file is given to lbexec, !4081 (@ldufour)
- Fix recsummary necalcluster, !4066 (@sbelin)
- Make the FileSummaryRecord.periodic_flush test more reliable, !4061 (@clemenci)
- Dropped usage of GaudiAlgorithm where it is not needed, !4056 (@sponce)
- Follows https://gitlab.cern.ch/lhcb/Rec/-/merge_requests/3138 (Add opt-in for mass2 and pid), !4012 (@tfulghes)
2023-04-19 LHCb v54r7
This version uses
Gaudi v36r12,
Detector v1r11 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r6, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
Enhancements ~enhancement
- ~"Event model" | Introduce EndUT state, !3969 (@ausachov)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Calo ~"Flavour tagging" | Clean up ICaloElectron, !3728 (@cmarinbe)
Documentation ~Documentation
Other
- ~Configuration | PyConf: Require options.simulation flag to be explicitly set by user to True or False, !4073 (@jonrob)
- ~Decoding ~FT | Added FTCalibRawBankDecoder, !4072 (@luwitola)
- ~Decoding ~RICH ~Conditions | RichTel40CableMapping: Improve warning when source ID missing in tel40 links condition, !4076 (@jonrob)
- ~Decoding ~RICH ~Conditions | RichTel40CableMapping: Limit missing SourceID in LHCb Tel40 condition warnings to one instance, !4070 (@jonrob)
- ~Decoding ~RICH ~Conditions | Use tel40 link condition from DeLHCb detector object with RichTel40CableMapping, !4014 (@jonrob)
- ~Persistency | Packing checks, !3977 (@sesen)
- ~"MC checking" ~Tuples | Add MCPrimaries and more MC functors, !3935 (@jzhuo)
- ~Luminosity | Fsr and lumi counting, !4064 (@nskidmor)
- ~Conditions | LbDD4hep: Add LimitedIOVPaths property and propagate to DetectorDataService, !4071 (@jonrob)
- Manual ref update as bot failed, !4078 (@sponce)
- Make ReportConvertTool thread safe, !4075 (@sesen) [#277]
- Add 2 new run3 raw data bank types for UT, !4068 (@gvouters)
- Hide clang 12 / gcc 10 warnings (false positive?) properly, !4063 (@sponce)
- Update References for: LHCb!4056 based on lhcb-master-mr/7575, !4067 (@lhcbsoft)
- Update References for: LHCb!3977, Moore!2086 based on lhcb-master-mr/7566, !4065 (@lhcbsoft)
- Avoid running mergesmallfiles test in debug mode, as it exceeds the VMem limit, !4062 (@sponce)
- Make EndOfInput exception inherit from logic_error, !4054 (@sponce)
- Consistently use RawBank::View as input to algorithms instead of RawEvent, !4051 (@graven)
- Add nEcalCluster in RecSummary, !4049 (@sbelin)
- Recognize permutation renaming due to hash changes, !4029 (@graven)
2023-03-22 LHCb v54r6
This version uses
Detector v1r10,
Gaudi v36r12 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r5, with the following changes:
New features ~"new feature"
- ~"Event model" | SOACollection particlev2, !3907 (@ahennequ)
- Add counter class for luminosity counters, !4009 (@clemenci)
- Add option to mdf writer to skip special TAE treatment, !4008 (@sstahl)
- Determinstic comparisons of Particle in RelationsTables, !4003 (@graven)
- (re-)introduce transparant lookup in GenFSR, !3999 (@graven)
Fixes ~"bug fix" ~workaround
- More deterministic comparison for ProtoParticle Relations, !3998 (@graven) [Moore#538]
- Make name of algorithms independent of instantiation order, !3872 (@sponce) [#267]
- ~Configuration | Fix trivial typo in GaudiConf/python/GaudiConf/LbExec/cli_utils.py, !3997 (@erodrigu)
- Fix https://gitlab.cern.ch/lhcb/DaVinci/-/issues/108, !4019 (@pkoppenb)
- Adapt XMLSummaryKernel tests to change output file creation policy, !4023 (@clemenci)
- Fix use of Boost::unit_test_framework library, !4033 (@clemencic)
- Make sure Git resources are released before git_libgit2_shutdown, !4032 (@clemenci)
Enhancements ~enhancement
- ~Persistency | Make pp2mcp relations unpacking consistent across different functions, !3986 (@sesen)
- Improved counter reporting :
- Fixed test after improvement of counter reports, !4021 (@sponce)
- Improved error for algo renaming in counters, !4020 (@sponce)
- Fixes to counter comparison script, !4006 (@sponce)
- Improvements in counter diff reporting, !4005 (@sponce)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- Remove LinkerTable and LinkerTool, augment LinkedTo, LinkedFrom, !3988 (@graven)
Documentation ~Documentation
Other
2023-03-03 LHCb v54r5
This version uses
Gaudi v36r11,
Detector v1r9 and
LCG 103 with ROOT 6.28.00.
This version is released on the master
branch.
Built relative to LHCb v54r4, with the following changes:
New features ~"new feature"
- ~FT ~Conditions | SciFi mat contraction calibration conditions, !3591 (@isanders)
- ~"Event model" | Add relation tables to FutureNeutralProtoPAlg, !3956 (@tnanut)
- ~Build | Option to isolate tests with a per-test working directory, !3975 (@rmatev)
Fixes ~"bug fix" ~workaround
- ~Build | Disable python hash randomization, !3971 (@rmatev)
Enhancements ~enhancement
- ~Configuration | Generalize profiling algorithms configuration with HLTControlFlowMgr, !3919 (@rmatev)
- ~Decoding | A filter for empty raw banks, !3990 (@sesen) [Moore#523]
- ~Tracking | Change hitpattern such that it counts hits per layer, !3891 (@wouter)
- ~Persistency | Unify relation unpackers, !3970 (@sesen)
- ~Luminosity | Add routing bits filter to control flow, !3952 (@nskidmor)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding ~FT | Two small improvements to FTRawBankDecoder, !3954 (@graven)
- ~Decoding ~Calo | Fix noBanksCounter in Calo decoding, !3950 (@cmarinbe)
- ~Decoding ~Luminosity | Add DetDesc specific ref for HltDAQ.lumi_decoding test, !3964 (@jonrob)
- ~Build | Declare dependency of RichKernel ConfigurableUser on LHCbKenrel, !3991 (@clemenci)
- ~Build | Fix detdesc tests in LHCb and Rec, !3962 (@rmatev)
- ~Build | Fix PROJECT_SOURCE_DIR replacement pattern in LHCbConfigUtils.cmake, !3959 (@mimazure)
- Avoid copy in structured binding, !3989 (@clemenci)
- Dropping unused code, !3985 (@sponce)
Documentation ~Documentation
Other
- ~Decoding ~UT ~Conditions | Fix UT readout map condition path in UTReadoutTool for dd4hep, !3951 (@jonrob)
- ~Calo ~"Event model" | Brem functors / wrappers, !3894 (@mveghel)
- ~"Event model" | Add ECal and HCal total energy deposit to RecSummary, !3980 (@sbelin)
- ~Persistency | Selective packing of relations, !3963 (@graven) [DaVinci#96]
- ~Luminosity | Run3 File Summary Record, !3796 (@clemenci) [LBCOMP-58]
- ~Core | Add some centos7/gcc12 platforms, !3979 (@jonrob)
- Workaround external SyntaxWarning due to LCG 103, see #292, !3993 (@rmatev) [#292]
- Fix stand-alone compilation of public headers, !3992 (@clemenci)
- Expose more options via the compression option, !3984 (@cburr)
- Improve error reports for invalid geometry options, !3982 (@clemenci)
- Ref updates needed for gaudi/Gaudi!1426, !3978 (@clemenci)
- Fix typo in !3980, !3983 (@rmatev)
- Improve LinksByKey implementation, !3972 (@graven)
- Update PlatformInfo with a number of new platforms, !3976 (@clemenci)
- Revert !3964, !3965 (@rmatev)
- Do not throw in HltRoutingBitsCombiner the case HLT2 data are processed with HLT2., !3961 (@sstahl)
- Make calo ADC and Digit packing compatible with other packed classes, !3943 (@sesen)
- Update References for: LHCb!3953, Moore!2053, DaVinci!809 based on lhcb-master-mr/6955, !3957 (@lhcbsoft)
- Removed usage of HistogramPersistencySvc and put all Histos into same output file, !3953 (@sponce)
- Fix compatibility with Boost 1.81, !3948 (@clemenci) [gaudi/Gaudi#255]
- Correctly handle geometry and conditions versions from TestFileDB, !3946 (@clemenci)
- Enable DD4hep by default, !3903 (@clemenci)
- FT cluster pseudo width update in Decoder, !3811 (@zexu)
- Add type to pyconf.algorithms importable algs/tools, !3698 (@nnolte)
- Fix reference (follow !3919), !3945 (@rmatev)
- Introduce Track::hasMuon(), !3926 (@ausachov)
2023-01-27 LHCb v54r4
This version uses
Gaudi v36r9,
Detector v1r8 and
LCG 101a with ROOT 6.24.08.
This version is released on the master
branch.
Built relative to LHCb v54r3, with the following changes:
Fixes ~"bug fix" ~workaround
- Fixed an indexing error in transfer of covariance matrixes in SOATrackConversion.h, !3937 (@spradlin) [#285]
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Configuration | Speed up python configuration and improve profiling, !3829 (@rmatev) [#261,Moore#25]
- ~RICH | Add allocate/deallocate mismatch checking code to RICH derived conditions, !3928 (@jonrob) [#284]
Other
- ~Calo ~"Event model" | Add track-cluster match info to neutral pp, !3913 (@mveghel)
- ~RICH | RichHistoBase: Making histogram booking const and thread safe, !3927 (@jonrob)
- ~Functors | Add a new configurable function for getting Selection Report location, !3845 (@amathad)
- ~Persistency | Needed for Moore!2006, !3929 (@sesen)
- ~Persistency | Selective packing for persistency, !3721 (@msaur)
- ~Core | Add missing invocation of DetectorDataService::finalize, !3932 (@clemenci)
- ~Core | ParamFileSvc - Improve error reporting when given URL fails to be opened, !3920 (@jonrob)
- Vocabulary event model functions: treat a SmartRef as-if it is a pointer, !3941 (@graven)
- Remove code obsoleted by selective packing, !3936 (@graven)
- Fix warning suppression for C++20 extension, !3931 (@clemenci)
- Fix name collisions in XMLSummaryKernel tests, !3930 (@clemenci)
- Force test validator to take into account stderr exclusions, !3925 (@clemenci)
- Fixes to be able to build public headers in isolation, !3857 (@clemenci)
- Add stderr exclusion for switch to Geant4 units, !3924 (@clemenci)
- Cleanup LinksByKey interface, !3923 (@graven)
- Unify various Linker wrapper classes, !3917 (@graven)
- Add helper functions for UT hits and seed tracks, !3915 (@decianm)
- Small fixes to compile on aarch64, !3910 (@clemenci)
- Add a few new platforms to PlatformInfo, !3908 (@clemenci)
- Fix warnings seen in a super project build, !3914 (@rmatev)
- More const-correct Linked{From,To}, !3912 (@graven)
2022-12-19 LHCb v54r3
This version uses
Detector v1r7,
Gaudi v36r9 and
LCG 101a_LHCB_7 with ROOT 6.24.08.
This version is released on master
branch.
Built relative to LHCb v54r2, with the following changes:
New features ~"new feature"
Fixes ~"bug fix" ~workaround
- ~VP | Fix DeVP::module to return module DetElem instead of ladder, !3900 (@tlatham)
- ~Core ~Conditions | Fix use of DD4hep condition derivation to correctly propagate IOVs, !3901 (@clemenci)
- Remove fixed bank location name, !3896 (@sesen)
Enhancements ~enhancement
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Calo | Fix calo index bookkeeping, !3884 (@mveghel)
- Fixes needed to compile with gcc 12, !3875 (@clemenci)
Documentation ~Documentation
Other
- ~Configuration | Propagate conddbtag as conditionsversion to DDDBConf in pyconf, !3653 (@nnolte) [#234]
- ~Configuration | Do not require dddb_tag to be set in dd4hep builds, !3895 (@jonrob)
- ~RICH | RICH - Add current refractive index scale factor accessors, !3889 (@jonrob)
- ~RICH ~"MC checking" ~Monitoring | RichHistoBase - Expand size of ID and title fields in histogram printout, !3881 (@jonrob)
- ~RICH ~Conditions | RichDetectors - Simplify derived condition configuration, !3899 (@jonrob)
- ~Persistency | Make all writers and decoders to use RawBank::View, !3873 (@sesen) [#179]
- Workaround for Moore#501, !3906 (@rmatev) [Moore#501]
- Add missing include needed when building for centos9, !3905 (@clemenci)
- Add support for registering lumi summary schemata with the metadata repo, !3904 (@dcraik)
- Small improvements on Phoenix Sink, !3897 (@sponce)
- Default_raw_event location, !3893 (@sesen)
- Improved error reporting in HLTScheduler when an algo fails, !3892 (@sponce)
- Fix bug in lumi summary decoding (sizes and offsets of counters were swapped), !3887 (@dcraik)
- Remove unused header file, !3880 (@dcraik)
- Set ApproxEventsPerBasket to 1 for FSRs, !3871 (@cburr)
- Add odin producer unconditionally to list of producers, !3861 (@sstahl)
- Add more generic forwarding functions, !3885 (@graven)
2022-11-23 LHCb v54r2
This version uses
Detector v1r6,
Gaudi v36r9 and
LCG 101a_LHCB_7 with ROOT 6.24.08.
This version is released on master
branch.
Built relative to LHCb v54r1, with the following changes:
New features ~"new feature"
- ~Monitoring | Add an algorithm to monitor routing bits, !3858 (@rmatev)
Fixes ~"bug fix" ~workaround
- ~Decoding ~VP | Fix full cluster decoder rounding, !3855 (@gbassi)
- Fix naming of DecReportsDecoder, !3848 (@sstahl)
Enhancements ~enhancement
- ~Monitoring ~Luminosity | HltLumiSummaryMonitor: Automatic histogram range and custom threshold, !3852 (@rmatev)
- ~Conditions | Fix ICondDBInfo for DD4hep, !3847 (@clemenci)
- Use raw bank view, !3822 (@sesen)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding ~RICH | RichFutureDAQ - Small cleanup, !3850 (@jonrob)
- ~Decoding ~RICH | RICH DAQ - Avoid GaudiAlg include in dd4hep builds, !3841 (@jonrob)
- ~FT | Centralise FT constants in one file in Detector and name most constants, !3826 (@lohenry) [LHCBSCIFI-186]
- ~RICH | Fix RichDetectors decoding ref logs for dd4hep, !3867 (@jonrob)
- Remove process keyword ambiguity, !3843 (@nskidmor)
Other
- ~Configuration | Remove default values of process such that it is configured once via a required user input, !3806 (@amathad)
- ~Decoding | Fix retina full decoder precision, !3868 (@gbassi)
- ~Tracking ~VP ~Calo | Introduce VeloBackward and remove Calo track type, !3779 (@ausachov) [#256]
- ~FT ~Conditions | Update for SciFi time alignment study, !3817 (@zexu)
- ~Calo | Cleaning dataCodingType 1, !3840 (@jmarchan)
- ~RICH | Switch from operator[] to at() where appropriate for improved range checking, !3844 (@jonrob)
- ~Luminosity | Add 2 basic plume lumi counters to the lumi summary offsets, !3859 (@sxian)
- ~Luminosity | Add secondary formatting string for lumi summary schema JSON lookups, !3839 (@dcraik)
- ~Core | DD4hepSvc - Use debug() stream for 'debug' message, !3874 (@jonrob)
- ~Core | Replace direct usage of Gaudi::Functional algorithms with LHCb::Algorithm, !3834 (@sponce)
- ~Core | Do not arbitrarily release Python GIL in HLTControlFlowMgr, !3825 (@clemenci)
- Add generic (constrained) forwarding of (some) functors in case of pointer argument, !3882 (@graven)
- Add lock to execute of MDFWriter and enable multi-threaded MDF writing, !3879 (@sstahl)
- Revert "Merge branch 'sxian_add_basic_plume_counters_to_LumiSumOffsets' into 'master'", !3878 (@sponce)
- Add non-const taggers() accessor, !3876 (@graven)
- Skip raw bank in retina decoding if column is out of range, !3864 (@decianm)
- Add algorithm to combine hlt1 and hlt2 routing bits and rework RoutingBitsWriter, !3863 (@sstahl)
- Update References for: LHCb!3822, Rec!3152, Moore!1828, Alignment!321, MooreOnline!169, Analysis!926, DaVinci!776, Boole!427 based on lhcb-master-mr/6222, !3866 (@lhcbsoft)
- Update References for: LHCb!3852 based on lhcb-master-mr/6208, !3865 (@lhcbsoft)
- More const-correct LinkMgr usage, !3853 (@graven)
- Migrate TCK backend from .cdb to .git, !3286 (@graven)
- Update References for: LHCb!3842 based on lhcb-master-mr/6159, !3862 (@lhcbsoft)
- Prepare LHCb v54r1p1, !3860 (@rmatev)
- New raw data bank types for run3, !3854 (@gvouters)
- Use JSON instead of YAML to configure DetectorDataService, !3851 (@clemenci)
- Add option to test if key is in git repo, raise error if not, !3842 (@sstahl)
- Streamline HltLumiSummaryDecoder, !3837 (@graven) [#271]
- Dropped unused Rich base code (e.g. acquireTool), !3831 (@sponce)
- Add missing link to LHCbAlgsLib, !3846 (@clemenci)
- Update TableView, !3836 (@tnanut)
- Follow up to !3744, !3833 (@graven)
- Fix scope of loops in MuonTilePositionUpgrade, !3827 (@raaij)
- Include Muon hits in PrKM, !3692 (@pherrero)
- Cleanup useless ifdef DD4hep in FT Det code, !3832 (@sponce)
- Dropped unused interface IMuonPad2MCTool, !3823 (@sponce)
2022-11-10 LHCb v54r1p1
This version uses
Gaudi v36r8,
Detector v1r5p1 and
This version uses LCG 101a with ROOT 6.24.08.
This version is released on master
branch.
Identical to LHCb v54r1.
2022-10-26 LHCb v54r1
This version uses
Gaudi v36r8,
Detector v1r5 and
This version uses LCG 101a with ROOT 6.24.08.
This version is released on master
branch.
Built relative to LHCb v54r0, with the following changes:
New features ~"new feature"
- ~Tracking | PrSciFiHits add method to check if empty, !3814 (@gunther)
Fixes ~"bug fix" ~workaround
- ~Core | Make sure barriers do not think they depend on themselves, !3819 (@graven)
Enhancements ~enhancement
- ~Decoding ~Muon | Protect the muon decoding from unexpected data, !3736 (@rmatev) [#242]
- ~Conditions | Add Condition conversion to JSON and improve conversion to YAML, !3768 (@clemenci) [#241]
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding ~RICH | Clean up how RICH DAQ helper initialisation status codes are set, !3821 (@jonrob)
- ~Decoding ~RICH | Add RICH decode-and-spacepoints test using 2022 data, !3820 (@jonrob)
- ~Calo | Modernize CaloFutureFillRawBuffer, !3744 (@jmarchan)
- ~Persistency | Do not write keys imported from file into git, !3804 (@graven)
- ~Build | Speed up projectenv.sh generation and execution, !3824 (@rmatev)
- Added missing std::pair<int, LHCb::GenFSR::CrossValues> to XML dict, !3835 (@bcouturi)
- Do not hardcode value for default field current in DD4hepSvc, !3828 (@jonrob)
- Do not use minus in Plume channel string representation, !3798 (@rmatev)
- Dropped compilation of DetDesc in DD4hep mode and adapted code, !3789 (@sponce)
- Make MuonChamberLayout error message more explicit, !3815 (@samarian)
Other
- ~Tracking ~Persistency | Increase version number of PackedTrack to reflect change in the definition of LHCbID, !3810 (@graven)
- ~RICH | Add defines for VerboseCounter and DebugCounter to RichCommonBase, !3813 (@jonrob)
- ~RICH ~Conditions | Rich Conditions - Use nlohmann::json, !3818 (@jonrob)
- ~"Event model" ~Persistency | SOA persistency, !3581 (@sesen)
- ~Luminosity | Update V2 of lumi summary rawbank to use correct counter sizes, !3803 (@sxian)
- Fix use of Gaudi::Accumulators::Counter, !3830 (@clemenci)
- Unify packing code further, pack multiple types with a single packer, !3805 (@graven)
- Extend HltLumiSummary decoding to Run 3 format, !3518 (@dcraik)
- Add an is_barrier property to the PyConf algorithm wrapper, !3809 (@graven)
- Update References for: LHCb!3808 based on lhcb-master-mr/5862, !3812 (@lhcbsoft)
- IOSvc info print number of processed files, !3808 (@gunther)
2022-10-07 LHCb v54r0
This version uses
Detector v1r4,
Gaudi v36r7 and
LCG 101 with ROOT 6.24.06.
This version is released on master
branch.
Built relative to LHCb v53r10, with the following changes:
New features ~"new feature"
- ~Decoding ~FT | Add the FT v8 decoding, !3770 (@lohenry)
- ~Decoding ~Luminosity | Add header files used for encoding and decoding Allen LumiSummary banks, !3786 (@dcraik)
- ~Composites | Add function to unbiase PVs + bestPV function, !3716 (@cprouve)
- ~"Event model" | Add templated mergers, !3665 (@decianm)
- ~Persistency | Enforce use of an encoding/decoding key (TCK) in all Hlt encoders/decoders, do not use online-reserved bits in SourceID, remove explicit mention of 'packed' locations, enable 'stable' persist reco locations, !3528 (@graven) [#194,#202,#220,#221,#225]
Fixes ~"bug fix" ~workaround
- ~Muon | MuonChamberLayout create tile id vector only locally to make move operator safe, !3749 (@gunther)
- ~Persistency | Fix bug while writing keys to manifest, !3782 (@graven)
- ~Persistency | Make manifest creation independent of the state of the local filecontent-metadata repository, !3777 (@graven)
- ~Persistency | Fix key collision detection when merging json files with decoding keys, !3773 (@graven)
- ~Utilities | Fix memory leak in SOADataVector, !3732 (@rmatev) [MooreOnline#8]
Enhancements ~enhancement
- ~Configuration | Add Options.apply_binds to allow applications to bind before calling user code, !3797 (@cburr)
- ~Configuration | PyConf: Deterministic identity of components and data, !3754 (@rmatev)
- ~Decoding ~FT | Check SciFi banks and sort them by hand, !3735 (@lohenry)
- ~Calo | Add option to calibrate calo digits, !3758 (@jmarchan)
- ~Calo | Add Epos in CalculateEXY return, !3763 (@nuvallsc)
- ~Persistency | Loopy unpacking and multi packing, !3750 (@sesen)
- ~Simulation | Convert Condition to YAML on demand, !3765 (@clemenci) [#241,Moore#473]
- Feat(HltControlFlowMgr) sort timing table and introduce a row that shows the sum of all algorithms, !3696 (@chasse)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding | Change default ODIN encoding to v7, !3762 (@rmatev) [#202]
- ~Decoding ~Muon | Migrate muon decoding test to use an upgrade sample, !3794 (@jonrob)
- ~Decoding ~Muon | Re-enable muon daq decoding test with dd4hep, !3792 (@jonrob)
- ~Decoding ~Muon | Use proper SourceID in Muon encoding, !3764 (@rmatev) [#202]
- ~Decoding ~Muon | Skip MuonDAQ decoding test in dd4hep builds, !3730 (@jonrob)
- ~Decoding ~Calo | Update data tag used for calo decoding test, !3793 (@jonrob)
- ~VP | Fix for VPRetinaSPmixer, !3775 (@gbassi)
- ~FT | Add the stationIdx method, !3759 (@lohenry)
- ~Calo | Fix calo raw bank type, !3791 (@jmarchan)
- ~Calo | Remove CaloFutureMergeTAE, !3751 (@gwan)
- ~RICH | Rich DAQ - Remove unused operators, !3772 (@jonrob)
- ~RICH | RichDAQDefinitions - Clean up type specifications, !3771 (@jonrob)
- ~RICH ~Persistency | RICH SourceID - Add constructor from individual values, !3766 (@jonrob)
- ~"Event model" | Rename legacy detectors in MCTrackInfo, !3767 (@rmatev) [Boole#10]
- ~Persistency | Move reco objects from DaVinci to PyConf, !3802 (@sesen)
- ~Persistency | Add checksum tests to packing, !3799 (@sesen)
- ~Persistency | Fix CaloHypo packing accuracy check, !3795 (@rmatev)
- ~Core | Switch GaudiConf python test from CALO to RICH test, as it works with dd4hep, !3729 (@jonrob)
- ~Simulation ~Accelerators | Clean up LHCbID, !3226 (@decianm)
- Packer::Carry namespace and QMTest fix, !3801 (@rmatev)
- Simplifies DD4hep code now that /world is the default path, !3785 (@sponce)
- Fix warnings from super project build, !3778 (@rmatev)
- Add missing boost::hash include, !3761 (@clemenci) [gaudi/Gaudi#238]
- Reduce verbosity when starting application, !3756 (@sstahl)
- Add qmtexec command for running QMT tests directly, !3697 (@cburr) [#240]
Other
- ~Decoding ~Muon | Improve DD4hep compatibility of MuonRawInUpgradeToHits, !3726 (@raaij)
- ~Decoding ~Calo | Check calo bank size, !3715 (@cmarinbe)
- ~Tracking ~"Event model" | Sort LHCbIDs before returning std::vector, !3746 (@decianm)
- ~FT | Changed calculateChannelAndFrac to stop passing by reference the fraction, !3745 (@lohenry)
- ~Calo | Add Hcal and Ecal to default dd4hep detector lists, !3742 (@chenjia)
- ~Calo | Remove getDet in CaloFutureElectron, !3741 (@gwan)
- ~Calo ~Monitoring | Use error counter instead of error message in CaloFuture2Dview, !3755 (@cmarinbe)
- ~Calo ~Monitoring | Remove getDet in CaloFuture2DView, !3717 (@cmarinbe)
- ~RICH | DeRichPMTPanel: protect against null test PD pointer, !3743 (@jonrob)
- ~RICH | Protect DeRichPMT::readPMTPropertiesFromDB from NULL condition, !3737 (@jonrob)
- ~Conditions | Add support for Velo Motion System override from YAML in PyConf, !3711 (@clemenci)
- Delay XRootD import to only require it if an eos file is requested, !3783 (@dcampora)
- Add test for decoding of CALO raw event, !3752 (@raaij)
- Make some lbexec tests independent of the value of GAUDIAPPNAME, !3760 (@clemenci) [gaudi/Gaudi#233]
- Lbexec improvements, !3725 (@cburr)
- Change default raw_event_format to 0.5, !3687 (@nskidmor)
- Adding motionSystemTransform to IDetectorElementPlus, !3731 (@rmohamme)
- Test for override of Velo motion system from YAML files, !3723 (@raaij) [#244]
- Add helper for input/output location names for LHCb::Algorithms when they are templated, !3724 (@decianm)
- Support for muon dumping in Allen, !3707 (@samarian)
2022-08-03 LHCb v53r10
This version uses
Gaudi: v36r7,
Detector: v1r3,
This version is released on master
branch.
Built relative to LHCb v53r9, with the following changes:
New features ~"new feature"
- ~Decoding ~Muon | Muon Run3 decoding, !3133 (@satta) :star:
- ~Calo ~"Event model" ~Simulation | Add MCSmallCaloHit to support high granularity in calorimeters, !3432 (@mimazure)
- ~Persistency ~Monitoring | Add algorithms for monitoring HltDecReports and the Scheduler state, !3154 (@alupato)
Fixes ~"bug fix" ~workaround
- ~Core | Spurious wakeup to avoid deadlocks in scheduler, !3645 (@nnolte) [#233]
Enhancements ~enhancement
- ~Configuration | Fix(pyconf) allow easily forcing the c++ type of an untyped DataHandle, !3643 (@chasse)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Configuration | Fix configuration of LbExec tests, !3672 (@clemenci)
- ~Configuration | Make sure MagneticFieldSvc is loaded as early as possible, !3633 (@clemenci)
- ~Decoding | Cleanup Plume event model classes, !3661 (@rmatev)
- ~Calo | Explicit calo dependency in NeutralProtoPAlg, !3625 (@cmarinbe)
- ~"Event model" | Make PVtracks::containers() access method const, !3709 (@cprouve)
- ~Persistency | Fix detection of TAE data in MDF writing, !3701 (@rmatev)
- ~Monitoring | Update test for new JSONSink, !3700 (@jheuel)
- Fix sanitizer build of LHCb, !3654 (@rmatev)
- Retina decoding test, !3642 (@raaij)
- Add scifi decoding test, !3641 (@raaij)
Documentation ~Documentation
Other
- ~Decoding ~Calo | Check calo bank size, !3681 (@cmarinbe)
- ~VP ~Persistency | First implementation of TELL40 v1 cluster output (default) and two sensor SP banks (only if FPGA clustering not available), !3452 (@hcroft)
- ~Muon | Fix Muon decoding test options for dd4hep, !3635 (@jonrob)
- ~Calo | Cleaning Calo, !3620 (@jmarchan)
- ~RICH | Add support for RICH readout mapping versions, !3718 (@jonrob)
- ~RICH | Rich use dd4hep params panel sizes, !3708 (@jonrob)
- ~RICH | Rich remove pd assert, !3706 (@jonrob) [Moore#451]
- ~RICH | Update RichDetector refs for dd4hep, adapting to MR Detector/235, !3703 (@jonrob)
- ~RICH | Rich remove unneccessary default ctors, !3694 (@jonrob)
- ~RICH | Exclude RICH gas parameter printout from test comparisons, !3685 (@jonrob)
- ~RICH | Remove RICH dd4hep workarounds, !3684 (@jonrob)
- ~RICH | Add new property to RICH decoder to allow a single panel in the RICHes to be decoded, !3666 (@jonrob)
- ~RICH | Tune 'zero' detection in Rich1DTabFunc printout, !3638 (@jonrob)
- ~RICH | Adapt to small change in dd4hep ref for RICH radiator intersection tests, !3624 (@jonrob)
- ~RICH | Use new yaml DB tag supporting all PMTs active in tests reading DetDesc MC, !3623 (@jonrob)
- ~"Event model" | Add helper functions to SOAZip to loop over SOACollection of zips and non-zips with identical code, !3634 (@decianm)
- ~Simulation | Drop unwanted dependency on Gen/DecFiles, !3675 (@clemenci)
- Fix MessageSvc columns width, !3714 (@bcouturi)
- Ignore MagneticFieldGridReader log, !3713 (@bcouturi)
- Update References for: LHCb!3154 based on lhcb-master-mr/5248, !3712 (@lhcbsoft)
- Fixed DD4hep load test for G4 units as ROOT stderr is different, !3710 (@bcouturi)
- Improve support for Alignment workflow, !3705 (@clemenci)
- Fix barrier name matching for control flow edges, !3693 (@nnolte)
- Dropped unused include, !3704 (@sponce)
- Fixed hardcoded unit conversions between LHCb and DD4hep, !3699 (@sponce)
- Changed name of FT methods to make software clearer, !3679 (@lohenry)
- Update RICH numbering scheme in PDPanels initialisation., !3650 (@bmalecki)
- Update References for: Detector!244 based on lhcb-master-mr/5076, !3686 (@lhcbsoft)
- Fix LbDD4hep test_load_det_elems.py, !3683 (@clemenci)
- Replace getDet with ConditionAccessor in MCReconstructible, for DD4Hep, !3680 (@decianm)
- Allow updates of Velo motion system from YAML (new conditions DB), !3673 (@clemenci) [#236]
- Add writing and reading of RecSummary, !3671 (@sstahl)
- Add MuonTileID, !3622 (@rowina)
- Update References for: LHCb!3678 based on lhcb-master-mr/5040, !3682 (@lhcbsoft)
- Modernize AddressKillerAlg, !3678 (@graven)
- Update References for: LHCb!3427, LHCb!3366, Rec!2741, Moore!1642, Alignment!294 based on lhcb-master-mr/5009, !3677 (@lhcbsoft)
- Fix skipped links in FT NZS decoding and adding a check to readout map building, !3676 (@lohenry)
- Fix regression in DD4hep related test, !3655 (@clemenci)
- Tidying the FTRawBankDecoder for future work, !3632 (@lohenry)
- Pass std::any to dd4hep condition storage, to allow better type checking on LHCb side, !3607 (@jonrob) [Rec#345]
- Make Calo event model types SOACollections, !3589 (@ahennequ)
- Introduce PartialChiSquared, !3427 (@ausachov)
- Removed test of total number of links, !3667 (@lohenry)
- Fix the seg fault in NZS decoding, !3664 (@lohenry)
- Fixed decoded date in phoenix files, !3663 (@sponce)
- Fixed last two occurrences of MuonSystem, !3662 (@clemenci)
- Adding VPRetinaFullClusterDecoder, !3659 (@dpassaro)
- Suppress warning in NZS decoding, !3658 (@lohenry)
- Drop support for StatusCodeSvc, !3656 (@clemenci)
- Change BIntegrator to work across DetDesc and DD4hep, !3536 (@clemenci)
- Add missing dependencies on libraries, !3652 (@clemenci)
- Added global exclusion for the DD4hep Geant4 unit warning, !3651 (@bcouturi)
- MuonReadoutCond improvements (for DD4hep preparation), !3649 (@clemenci)
- Limit number of appearances of GrammarUnparsed, !3648 (@sponce)
- Added definition of DeLHCb on DetDesc side, !3646 (@sponce)
- Rename MuonSystem det element to Muon, !3631 (@bcouturi)
- Allows FT decoding v7 in Allen, !3572 (@lohenry)
- Fix weights to match Boole/FT/FTDigitisation/FTClusterCreator, !3644 (@lohenry)
- Add RANGE and SELECTION typedef for MCParticle, !3640 (@jzhuo)
- Added human readable time in phoenix events, !3637 (@sponce)
- Cut on Max strips for UT clustering added, !3616 (@xuyuan)
- Add some missing dd4hep x86_64_v3 platforms, !3639 (@jonrob)
- Make more DeMuonDetector methods const, !3636 (@clemenci)
- Added missing include in HLTControlFlowMgr, !3630 (@sponce)
- Add basic test for loading dd4hep DetElems as derived conditions, !3626 (@jonrob)
- Modernized and simplified MuonRawBuffer and MuonRec algorithm, !3614 (@sponce)
- Use YAML::Node in FTReadoutMap, !3605 (@raaij)
- Removed unneeded DeMuonLocation::Cabling constant in DD4hep build, !3629 (@clemenci)
- Add muonsystem to dd4hep detector lists, !3627 (@jonrob)
- Add UT to default dd4hep det list, !3619 (@jonrob)
- Use derived condition for geometry cache in UTReadoutTool, !3586 (@clemenci) [#217]
- Force load of MagneticFieldSvc in DetDesc mode, !3541 (@clemenci)
- Use MagneticFieldGrid from Detector instead of DetDesc, !3530 (@clemenci)
2022-06-10 LHCb v53r9
This version uses
Detector v1r2,
Gaudi v36r5 and
LCG 101 with ROOT 6.24.06.
This version is released on master
branch.
Built relative to LHCb v53r8, with the following changes:
New features ~"new feature"
- ~Decoding ~FT | Add v7 FT decoding, !2942 (@legreeve) :star:
- ~VP | RetinaCluster v1, !3385 (@gbassi) :star:
- ~Persistency | Add UnpackRawEvents algorithm, !3457 (@graven)
- ~Core | Replace Run2 DQ filtering with a new DQFilter algorithm, !3463 (@clemenci) [(gaudi/Gaudi#219,lhcb-dpa/project#49,LBCOMP-96]
- ~Core | Add new ParamFileSvc to access files currently in $PARAMFILESROOT, !3461 (@graven)
- ~Utilities | Add move constructor to SynchronizedValue, !3533 (@graven)
Fixes ~"bug fix" ~workaround
- ~Decoding ~UT | Fix(UTDAQ): out of range access into m_bank, !3606 (@chasse) [#229]
- ~Core | HLTControlFlowMgr: create tbb::task_arena in start and check for existing arena, !3575 (@raaij)
- Fix race condition by adding a mutex to HltRawBankDecoderBase, !3615 (@chasse) [Moore#438]
- FTDAQ: Check whether the bank is empty before checking version, !3600 (@bcouturi)
- Check (and correct) for overflow of ExtraInfo first/last fields during unpacking of Particle and ProtoParticle, !3567 (@graven) [#223]
- Missing LoKi functor fix for master, !3561 (@masmith)
- Cherry pick of MCAgls fix, !3559 (@masmith)
Enhancements ~enhancement
- ~Calo | Support from BremAdder update, !3496 (@mveghel)
- ~Persistency | Add RegistryMapper to automate RegEntry management of ephemeral packed objects, !3525 (@graven)
- ~Core | Speed up resolution of control flow dependencies, !3523 (@rmatev) [#205]
- ~Conditions | Explicitly pass --git-dir as auto-discovery no longer works due to CVE-2022-24765, !3515 (@cburr) [CVE-2022]
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Configuration | PyConf.tonic: Nicer formatting of function objects, !3519 (@rmatev)
- ~Muon | Remove unused fields in MuonPIDs, !3547 (@decianm)
- ~Muon | Follow Detector!184, !3529 (@rmatev)
- ~Muon | Cleanup and modernization of Muon code, !3520 (@sponce)
- ~Muon | Fixed TSMap usage in Muon for DD4hep mode, !3511 (@sponce)
- ~RICH | Rich remove final use of DetDesc in DD4HEP builds, !3502 (@jonrob)
- ~Functors | Refactor(functors): remove obsolete header bookkeeping, !3601 (@chasse)
- ~Persistency | Followup to !3517: do not try to set no longer existing property, !3532 (@graven)
- ~Persistency | Address #199 and fix Moore#422, !3524 (@graven) [#199,Moore#422]
- ~Persistency | Streamline HltPackedBuffer{Decoder,Writer}, !3517 (@graven)
- ~Build | Force no debug symbols for functor cache, !3580 (@rmatev) [Moore#427]
- Remove DetDesc tests with Run 1-2 DDDB, !3588 (@rmatev)
- Make Relations constructors from single size_t explicit, !3583 (@graven)
- Migrate SelReportsMaker from Rec to HltDAQ, !3546 (@graven)
- Remove obsolete code: {Read,Write}PackedDst, PackedBank, !3535 (@graven)
- Fix mdfdump test, !3527 (@clemenci)
- Remove unused packer algorithms, !3526 (@graven)
- Remove redundant and harmful using DetDesc::DetectorElement statements, !3513 (@bcouturi)
Other
- ~Configuration | Add OVERRIDE_LBEXEC_APP environment variable, !3612 (@cburr)
- ~Configuration | Add missing properties to LbExec.Options for LHCbDIRAC, !3608 (@cburr)
- ~Calo | Truncate digit energy resolution issue Rec#276, !3564 (@nuvallsc) [Rec#276]
- ~Calo | Modifications needed for the new Calo Digit MC linker, !3539 (@jmarchan)
- ~Calo | Remove CaloDAQ, !2977 (@jmarchan)
- ~Calo ~PID | Obsolete calo code cleanup, !3540 (@mveghel)
- ~RICH | TestDerivedDetObjects: Use static methods instead of strings to access condition keys, !3603 (@jonrob)
- ~RICH | Adapt to changes in RICH1 geometry in DD4HEP, !3598 (@jonrob)
- ~RICH | RichDetectors - Clean up base classes consolidating shared code, !3595 (@jonrob)
- ~RICH | RICH Workarounds for DD4HEP memory alignment bug, !3584 (@jonrob) [#226]
- ~Persistency | ProtoParticleUnpacker - Use top geometry location that supports correct location with dd4hep, !3573 (@jonrob) [#224]
- ~Tuples | Functionality added to reading such that HLT1 decisions can be accessed with FunTuple, !3562 (@jedavies)
- Lbexec enchancements, !3618 (@cburr)
- DeFTDetector - Fix typo in dd4hep location, !3617 (@jonrob)
- Add new raw data bank DAQ Error Type, !3613 (@gvouters)
- Dropped unused Calo2Dview, !3610 (@sponce)
- Made ChargedProtoAddInfo semi functional and dropped getDet call there, !3609 (@sponce)
- DD4hep condition error logging improvements, !3604 (@bcouturi)
- Modernized MuonDigitToRawBuffer, !3602 (@sponce)
- Small fix of the phoenix dump files, !3599 (@sponce)
- Revert "Merge branch 'sponce_fixPhoenixSink' into 'master'", !3597 (@sponce)
- Add helper class to abstract the difference between DetDesc DE* and DD4hep handles, !3596 (@clemenci)
- Add CatBoost to MuonID, !3594 (@rvazquez)
- View algorithm for looping over relation tables, !3593 (@tnanut)
- Allow PrimaryVertices to be filtered with ThOr functors, !3585 (@samarian)
- Small fix of the phoenix dump files, !3578 (@sponce)
- Add simd exp, !3577 (@sesen)
- Revert "Merge branch 'ahennequ_simdwrapper' into 'master'", !3576 (@sponce)
- Make the printout nicer when dumping the ProtoParticles content, !3574 (@decianm)
- Persistable Tracks_v3, !3571 (@ahennequ)
- Add some additional aliases to GenericConditionAccessorHolder.h, !3570 (@jonrob) [Rec#334]
- Add DD4hep/GrammarUnparsed header to UTDAQHelper, !3568 (@decianm)
- GeometryInfoPlus: Use mutex locks when updating mutable data members in 'const' methods, !3565 (@jonrob)
- Added way to override conditions from DD4hepSvc configuration, !3563 (@bcouturi)
- Add beamspot function to DeVP, !3554 (@wouter)
- Add ConditionAccessor::get() to access 'current' condition, !3553 (@clemenci)
- Make DeMuonDetector::Hit2ChamberRegionNumber const, !3551 (@bcouturi)
- Fix for ODIN loc, !3549 (@nskidmor)
- Ensure that derived conditions used in DetDesc comply to DD4hep requirements, !3544 (@clemenci)
- Make LHCb::UTDAQ::GeomCache default constructible, !3543 (@clemenci)
- Do not try to load geometry on start, !3542 (@clemenci)
- Fix segfault in routingbits tests, !3538 (@clemenci) [#218]
- Add simd exp, !3534 (@ahennequ)
- Pass the DeMagnet in the interface instead of using the MagneticFieldSvc, !3531 (@bcouturi)
- Revert "Merge branch 'MuonMergeGeoCond' into 'master'", !3522 (@clemenci)
- Turn off DetDesc configuration when using DD4hep, !3510 (@clemenci)
- UTclustering decoder, !3507 (@xuyuan)
- Added default values for mistag (0.5) and b flavour decision (0)., !3472 (@dtou)
- Add LbExec implementation, !3470 (@cburr) [#198]
- Add 2 new raw data bank TYPEs VeloThresholdScan and FTError + move all DAQError TYPEs to the TYPE list before LastType, !3435 (@gvouters)
2022-04-14 LHCb v53r8
This version uses
Detector v1r1,
Gaudi v36r5 and
LCG 101 with ROOT 6.24.06.
This version is released on master
branch.
Built relative to LHCb v53r7, with the following changes:
New features ~"new feature"
- ~Muon ~"Event model" | SIMD field for flags / Adapt MuonPID for it, !3468 (@decianm)
- ~"Event model" | Added new event model object PrimaryVertexContainer, !3459 (@wouter)
- ~Persistency | New persistency model for packing, !3268 (@sesen) [#151,Moore#248,Moore#354,lhcb-dpa/project#120] :star:
Fixes ~"bug fix" ~workaround
- ~Tracking | Update of LHCb::HitPattern, !3500 (@wouter)
- ~Build | Make sure Detector is added to ROOT_INCLUDE_PATH and PATH, !3508 (@clemenci) [Moore#417]
- ~Build | Move legacy MuonDet files to a dedicated subdir to avoid unused file warning, !3503 (@clemenci)
- Fixed ref file for dd4hep_sharedconditions test, !3504 (@sponce)
- Fixed warning in DD4hep mode ofr RichDetectors/RichX.h, !3501 (@sponce)
Enhancements ~enhancement
- ~Tracking | Streamline hits used by pattern recognition, !3473 (@gunther)
- ~Persistency | Allow event sizes counters in raweventcombiner, !3497 (@nskidmor)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Calo ~Simulation | Readded a parser for Properties Calo::CellID, !3499 (@sponce)
- ~RICH | Remove RICH DD4HEP include hack, now that Detector is available in all builds, !3487 (@jonrob)
- Make sure mdfwriter test does not fail on a second run, !3509 (@clemenci)
- Suppress clang warnings, !3506 (@jonrob)
- Remove unused header (follow up !3486), !3505 (@rmatev)
- Removed duplication of channelIDs between LHCb and Detector. Kept Detector ones, !3486 (@sponce)
- Refactoring of IGeometryInfo, !3455 (@bcouturi)
2022-03-30 LHCb v53r7
This version uses
Detector v1r0,
Gaudi v36r4 and
LCG 101 with ROOT 6.24.06.
This version is released on master
branch.
Built relative to LHCb v53r6, with the following changes:
New features ~"new feature"
- ~Decoding | Add Plume event model classes, !3449 (@vorlov)
- ~UT ~Conditions | Make UT code compile with DD4hep, !3386 (@sponce)
- ~Muon | Muon integration into DD4hep, !3343 (@sponce)
- ~Calo | Add support for calo info for v3 tracks, !3365 (@mveghel)
- ~RICH | Preliminary work to support DD4HEP in RICH Reco., !3381 (@jonrob)
- ~Persistency ~Utilities | SOAPackers, !3419 (@ahennequ)
- ~Conditions | Proposal for global derived conditions, !3380 (@bcouturi)
- ~Conditions | Implementation of DeMagnet in LHCb, !3107 (@bcouturi)
Fixes ~"bug fix" ~workaround
- ~Tracking ~"Event model" | Fix conversion bug, !3388 (@decianm)
- ~UT | Bugfix: fix mapQuarterSectorToSectorCentralRegion usage in findSectorsFullID, !3368 (@graven)
- ~Functors ~"Event model" | Fix ParticleCombinations from decayProducts, !3445 (@gunther)
- ~Simulation | Patches for GenFSRJson to correct JSON output, !3384 (@agrecu)
Enhancements ~enhancement
- ~Configuration | Automatically create svg when profiling python, !3441 (@rmatev)
- ~Configuration | Fix LHCbApp and DDDBConf to allow overriding DD4hep properties, !3416 (@bcouturi)
- ~Configuration | Better exception from PyConf.tonic configurable caching, !3401 (@rmatev)
- ~Configuration | Improve error message when algorithm names of identical instances collide, !3398 (@sstahl)
- ~Configuration | Reading.py changes to allow MC object reading for sprucing, !3395 (@nskidmor)
- ~Configuration | More general data dependencies in PyConf, !3391 (@nnolte) [Analysis#26]
- ~Configuration | Clean up logic for customising PyConf.Algorithm outputs, !3182 (@rmatev) [#127]
- ~Configuration ~VP | Change input_raw_format default value to 0.5, !3310 (@gbassi)
- ~Decoding ~Calo | Fix CALO FEB numbers, !3422 (@jmarchan)
- ~Decoding ~RICH | Natively read dd4hep RICH decoding/encoding conditions, !3421 (@jonrob)
- ~Decoding ~RICH | Misc. protections and improvements to RICH decoding from RICH1 comissioning, !3403 (@jonrob)
- ~Tracking | Add backward flag to PrVeloTracks, !3402 (@decianm)
- ~Tracking | Add specific track types for the study of tracking efficiency, !3415 (@peilian)
- ~Calo ~PID | Support for new calo DLLs, !3469 (@mveghel)
- ~RICH | Final changes to fully support dd4hep RICH PMTs/Panels, !3454 (@jonrob)
- ~RICH | Preliminary changes to support DD4HEP RICH PMTs/Panels/Modules, !3446 (@jonrob)
- ~RICH | Fully support reconstruction using DD4HEP RICH Mirror objects, !3434 (@jonrob)
- ~Composites ~"Event model" | Implement fourMomentum for ChargedBasics, !3378 (@mramospe)
- ~Functors | Feat(functor): add functor data dependencies to ExtraInputs property of owning algorithm, !3430 (@chasse)
- ~Functors | Update EndVertex Definition for MCParticle, !3426 (@gunther) [#188]
- ~Functors | More ADL support for ThOr, !3394 (@graven)
- ~"Event model" | Use variable sized vector field to store LHCbIDs and hit indices in PrTracks, !3447 (@ahennequ)
- ~"Event model" | Add LHCbIDs method to v3::Tracks, !3393 (@decianm)
- ~"Event model" | Update Track_v3 to pick up directly position and direction, !3306 (@rvazquez)
- ~"Event model" | Proxy: add special case for
container()
in scalar-mode gather2D-behavior, !3437 (@graven)
- ~"Event model" | Add endVertexPos to MCParticle for Functor ADL, !3397 (@gunther)
- ~"Event model" | Track-like opt-in to ThOr, !3379 (@graven)
- ~Persistency | Add mdfwriter.py script, !3464 (@rmatev)
- ~Persistency ~"Flavour tagging" | Add clone method to Flavourtag, !3332 (@cprouve)
- ~Monitoring | For event size analytics, !3438 (@nskidmor)
- ~Conditions | Add constructor for ConditionAccessor that does not create a property, !3404 (@clemenci)
- ~Build | Improvements to LHCb QMT tests, !3443 (@rmatev) [#187]
- ~Build | Change where LHCB_UNUSED_SUBDIR_MESSAGE_TYPE is initialized, !3424 (@clemenci) [#190]
- Add missing doc string to lockOption, !3475 (@chasse)
- Enable using AdditionalInfo as Gaudi::Property, !3450 (@tnanut)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Composites | Move helpers for ProtoParticles from Rec, !3418 (@tnanut)
- ~"Event model" | Migrate ADL defaults for Functors from SelKernel/Utilities to EventBase, !3471 (@graven)
- ~Persistency ~Simulation | Revert changes to MCParticle (un)packing for optical photons (follow up !3449), !3467 (@rmatev)
- ~Core | Remove workaround for ROOT/cling problem with Boost small_vector, !2389 (@rmatev) [#75]
- ~Conditions | Add tests for ConditionAccessor without associated property, !3417 (@clemenci)
- ~Conditions | Fixed DeMagnet tests in DD4hep, !3436 (@bcouturi)
- ~Conditions | Demonstrate extraction of condition parameters with YAML, !3392 (@sponce)
- ~Build | Make the dependency on Detector mandatory, !3453 (@clemenci)
- ~Build | Explicitly find PkgConfig, !3442 (@rmatev)
- ~Build | Fix warnings uncovered in super project build, !3428 (@rmatev) [#191]
- ~Build | Search for libsodium and link ZMQLib to it, !3423 (@raaij)
- Remove GaudiTensorFlow, !3476 (@rmatev) [#50,#65]
- Migrate TrackVertexUtils from Rec to LHCb, !3466 (@graven)
- Fix dependencies for monobuild, !3462 (@chasse)
- Fix clang warning (follow up !3107), !3444 (@rmatev)
- Fix regressions introduced with !3417, !3439 (@clemenci)
- Remove use of boost::variant2, !3433 (@graven) [Rec#124,ROOT-10220]
- Move ADL find-able popcount into class scope by making it a friend, !3429 (@graven)
- Fix formatting CI job after migration to Python 3, !3399 (@rmatev)
- Update reading.py, !3387 (@nskidmor)
Documentation ~Documentation
- Add missing doc string to lockOption, !3475 (@chasse)
2022-01-27 LHCb v53r6
This version uses
Gaudi v36r4 and
LCG 101 with ROOT 6.24.06.
This version is released on master
branch.
Built relative to LHCb v53r5, with the following changes:
New features ~"new feature"
- ~Configuration | Add monitoring_file option (to dump data in json format), !3219 (@ziyiw)
- ~FT ~Conditions | DD4Hep implementation of FT, !3264 (@lohenry) :star:
- ~"Event model" ~Utilities | Hierarchical SOACollections, !3353 (@ahennequ)
- ~Persistency | Added support for compressed MDF in IOAlg, !3347 (@sponce)
- Newly Created Sink algorithm (Phoenix), !3241 (@anpappas)
Fixes ~"bug fix" ~workaround
- ~Configuration | Fix output location UnpackMC, !3352 (@dfazzini)
- ~Decoding ~RICH | RichDAQ - Decoding fixes when inactive links are present, !3300 (@jonrob)
- ~FT ~Monitoring | Fix monitoringIDs in FTChannelID, !3325 (@shollitt)
- ~Persistency | Implemented support for large streams in ZSTD compression, !3360 (@sponce)
- ~Conditions | IConditionDerivationMgr - Extend type checks to handle CopyWrapper, !3346 (@jonrob)
- ~Build | Improve unused sources detection and fix warnings, !3356 (@clemenci) [#171]
Enhancements ~enhancement
- ~Configuration | Adding set_hltAnn_svc function in GaudiConf.reading, !3377 (@dfazzini)
- ~Tracking ~"Event model" | Track v3 modifications, !3232 (@decianm)
- ~Calo | Handling of missing fibers, !3342 (@jmarchan)
- ~Calo ~"Event model" | Change doubles to floats in calo event model, !3348 (@cmarinbe)
- ~Functors | Add pid accessor to Particle v1 for ADL, !3374 (@poluekt)
- ~"Event model" | Use CUDA- or HIP-specific memcpy when compiling for GPU, !3358 (@lmeyerga)
- ~"Event model" | Add endVertexPos to RecVertex, !3354 (@pkoppenb)
- ~"Event model" | Augment Particle v1 to make it forward compatible with v2, !3338 (@graven) [Rec#223]
- ~"Event model" | SOACollection's proxy features, !3333 (@ahennequ)
- ~"Event model" ~Utilities | MCParticle opt-in to (subset of) ThOr functors, use SIMDWrapper types as early as possible, !3367 (@graven) [Rec#223]
- ~Persistency | Use rawbank views for sprucing, !3303 (@nskidmor)
- ~Conditions | Extended DeVP to be able to retrieve the module of a given sensor, !3339 (@sponce)
- ~Utilities | Add SIMD versions of abs(int) and operator-(int), !3362 (@poluekt)
- ~Utilities | Move TMV Utils To LHCbMath Kernel, !3350 (@gunther)
- DD4hepSvc Option to print DD4hep conditions in message stream after loading a slice, !3373 (@bcouturi)
- Add support for parsing vectors of enums in TrackEnums, !3324 (@graven)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Tracking | Drop SOA_ACCESSOR macro from PrSciFiHits, !3372 (@gunther)
- ~UT | Removal of UT common base classes, !3369 (@sponce)
- ~Muon | Make Muon code ready for DD4hep integration, !3309 (@sponce)
- ~RICH | RICH Reco Preparations for DD4Hep support, !3355 (@jonrob)
- ~"Event model" | Rec#223: Unify accessors using ADL, !3359 (@graven) [Rec#223]
- Fix DD4hep cond DB access tests to set version for new cond DB only, !3382 (@bcouturi)
- Move away from using CERN-SWTEST, !3375 (@rmatev)
- Refactor: SOACollection tidy up, !3370 (@chasse)
- Fix clang warning (follow up !3355), !3361 (@rmatev)
Documentation ~Documentation
- Add complete documentation for the Phoenix Sink, !3371 (@anpappas)
2021-12-02 LHCb v53r5
This version uses
Gaudi v36r2 and
LCG 101 with ROOT 6.24.06.
This version is released on master
branch.
Built relative to LHCb v53r4, with the following changes:
New features ~"new feature"
- ~Configuration ~Persistency | Support for Online IO components, !3240 (@lmeyerga)
- ~Tracking ~"Event model" | Add info about History to PrTracks, !3247 (@gunther)
- ~"Event model" ~Utilities | Implement gather2D proxy behaviour into SOACollections, !3320 (@ahennequ)
- ~Conditions | Make DetDesc Condition objects accessible as YAML::Node, !3271 (@clemenci)
- ~Build | Add special '+dd4hep' platforms to PlatformInfo list, !3311 (@clemenci)
Fixes ~"bug fix" ~workaround
- ~Configuration | Fix: all_nodes_and_algs function did not handle list of inputs, !3298 (@chasse)
- ~Decoding ~"Event model" | Modifications to allow conversion from ODIN v7 to v6 in Allen, !3302 (@raaij)
- ~Persistency | Fixed default version in PackTrack when nothing happens, !3328 (@sponce)
- ~Persistency | Do not do any unsollicited duplicate removal and sorting of RawBank::Type during parsing of vector, !3314 (@graven) [#169]
- ~Build | Do not set DETECTOR_PROJECT_ROOT environment variable, !3308 (@clemenci) [#167]
- ~Build | Extend generated Config.cmake with upstream versions, !3304 (@clemenci)
Enhancements ~enhancement
- ~Tracking ~"Event model" | New lhcbid_v and lhcbids_field for SOACollection, !3288 (@decianm)
- ~"Event model" | Expose states collection class, !3291 (@ausachov)
- ~Persistency | Remove LHCb mdf writer compression by default, !3331 (@fsouzade)
- ~Core | Release the GIL so that XMLSummarySvc can acquire, !3340 (@rmatev)
- ~Build | Add check to make sure that all subdirs and source files are used, !3334 (@clemenci) [#161]
- ~Build | Fix issue in !3304, !3316 (@clemenci)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Tracking ~"Event model" | Move Track History to Event namespace and make Enums consistent, !3299 (@gunther)
- ~Calo | Changes to the Calo code in preparation for DD4hep integration, !3282 (@sponce)
- ~"Event model" | Avoid foreshadowing, !3336 (@graven)
- ~"Event model" ~Utilities | SOACollection proxy simplification, !3323 (@ahennequ)
- ~Simulation | Remove use of childBegin/childEnd, !3150 (@graven)
- ~Tuples | Remove IEventTuple interface, !3117 (@pkoppenb)
- ~Build | Use Detector_DIR to set DETECTOR_PROJECT_ROOT, !3305 (@rmatev)
- ~Build | Minor fixes/clean up to CMake configuration, !3297 (@clemenci)
- Adapt to lhcb-datapkg/PRConfig!197, !3327 (@rmatev)
- Fixed and uniformized use of Boost::unit_test_framework in LHCbKernel, !3313 (@clemenci)
- Fixed incorrect reference introduced in previous MR, !3312 (@bcouturi)
- Fix warning in Moore docs, !3301 (@rmatev)
- Moved LineTraj to Detector for DD4hep + cleanup, !3294 (@sponce)
- Adapted code to non movable, non copyable counters, !3284 (@sponce)
- First round in dropping usage of GaudiAlgorithm in the Packers, !3192 (@sponce) :star:
- Update references for !3299, !3321 (@rmatev)
- Update References for: LHCb!3299, Rec!2601, Phys!1006, Allen!699, Analysis!832, Panoramix!109, Alignment!218, Run2Support!16 based on lhcb-master-mr/3118, !3315 (@lhcbsoft)
2021-10-22 LHCb v53r4
This version uses
Gaudi v36r2 and
LCG 101 with ROOT 6.24.06.
This version is released on master
branch.
Built relative to LHCb v53r3, with the following changes:
New features ~"new feature"
- ~Decoding ~Calo | New calorimeter encoding/decoding, !3287 (@jmarchan) :star:
- ~Decoding ~"Event model" | New ODIN implementation, !3088 (@clemenci) [#123] :star:
- ~Utilities | Add EmptyProducer class, !3273 (@cmarinbe)
Fixes ~"bug fix" ~workaround
- ~Configuration | Fix: configuration of public and private tools, !3279 (@chasse)
- ~Persistency | Throw exception for 0 counters in HltSelRepRBObjTyp, !3285 (@thboettc)
- ~Persistency ~Simulation | Avoid schema evolution of GenFSR, !3280 (@graven) [#154]
Enhancements ~enhancement
- ~Tracking ~"Event model" | Adapt state for SOACollection based tracks, !3270 (@decianm)
- ~Calo | Add new MC2DigitTable, !3245 (@nuvallsc)
- ~Functors ~Monitoring | Implement a ThOr functor-based monitoring, !3278 (@mramospe)
- ~Core | Introduce an interface to obtain scheduler configuration & state (@graven), !3281 (@rmatev)
- ~Conditions | Added check of input numbers on derived conditions, !3275 (@bcouturi)
- ~Build | Add x86_64_v3-centos7-gcc11-opt+g platform, !3295 (@rmatev)
- Create LHCb specific version of MergingMultiTransformerFilter., !3274 (@lmeyerga)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Composites | Small update to ParticleV2, !3277 (@msaur) [#159]
- ~Persistency | Fix mdfdump script after changes in RawBank and cppyy, !3290 (@lmeyerga)
- Update v3 gcc11 refs, !3292 (@rmatev)
- ODINCodec.cpp - remove unused constants, !3289 (@jonrob)
- Add global exclusion for the ROOT change of units warning printed on stderr and adapted tests, !3283 (@bcouturi)
2021-10-04 LHCb v53r3
This version uses
Gaudi v36r1 and
LCG 100 with ROOT 6.24.00.
This version is released on master
branch.
Built relative to LHCb v53r2, with the following changes:
New features ~"new feature"
- ~Conditions | Add support for TH3 reading from conditions DB, !3208 (@chasse)
- RefBot going live!, !3272 (@chasse)
Enhancements ~enhancement
- LHCbAlgs: add missing MultiTransformerFilter in LHCb::Algorithms namespace, !3266 (@graven)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Persistency | Move Packing related algorithms to Event/EventPacker, !3269 (@sesen)
- ~Persistency | Spruce reports to RawBanks, further cleanup of HltDAQ, !3260 (@graven)
- Migrate to LHCb::Algorithm, !3267 (@graven)
2021-09-24 LHCb v53r2
This version uses
Gaudi v36r1 and
LCG 100 with ROOT 6.24.00.
This version is released on master
branch.
Built relative to LHCb v53r1, with the following changes:
Fixes ~"bug fix" ~workaround
- ~Decoding | Revert FTRawBankEncoder to produce raw event only, !3262 (@sesen) [#156] :star:
- ~Tracking | Remove implicit ordering assumption of LHCbIDs when converting to a v3::Track, !3249 (@decianm)
- ~Calo | Fix CaloHypotheses::erase (#105), !3243 (@graven) [#105,(#105]
- ~Calo | Follow up to !3221: fix DD4Hep case, !3242 (@graven)
- ~Persistency | Align
PackedDataChecksum::process
code path with save
code path, !3248 (@graven)
- ~Utilities | Fixes for gcc11, !3228 (@graven) [#150]
- ~Build | Minor CMake fixes, !3250 (@clemenci)
Enhancements ~enhancement
- ~Configuration | Make DISABLE_TOOL to allow arguments, !3246 (@peilian)
- ~Configuration | Make GaudiConf.reading compatible with PyConf, !3222 (@dfazzini) [#149]
- ~Calo ~PID | Update of neutral PID tools, !3166 (@calvom)
- ~Core | Add gcc11 and clang12 platforms to PlatformInfo, !3253 (@cattanem)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Configuration | Fix LHCb__UnpackRawEvent output level, !3233 (@lmeyerga)
- ~Decoding | RawbankView for FT/UT decoders, !3225 (@sesen)
- ~Decoding ~Persistency | Modernize & Tweak HltDAQ, !3257 (@graven)
- ~Tracking ~"Event model" | Changed the name of trackFT to trackSeed and added a proxy, !3212 (@lohenry)
- ~"Event model" | Rationalize names, !3255 (@graven)
- ~Persistency ~Simulation | Modernize GenCountersFSR and GenFSR, !3121 (@graven)
- ~Utilities | Remove workaround for gcc9, !3261 (@cattanem)
- ~Build | Fix: disable DD4Hep tests in cmake, !3239 (@chasse)
- ~Build | Disable writing of new refs for passed tests, !3234 (@chasse)
- ~Build | Add missing header to get boost::hash in Boost 1.77, !3227 (@clemenci)
- Streamline LHCb::Algorithm namespace, !3221 (@graven)
- Fixes for DD4hep, !3119 (@clemenci)
2021-09-06 LHCb v53r1
This version uses
Gaudi v36r0 and
LCG 100 with ROOT 6.24.00.
This version is released on master
branch.
Built relative to LHCb v53r0, with the following changes:
New features ~"new feature"
- ~Tracking ~Filters | Implement math for 2D measurements, !2660, !3224, !3220 (@jadevrie, @chasse)
- ~Tracking ~"Event model" ~Persistency | Implement a global ID for overlap checking of reconstruction objects, !3055 (@mramospe) [Phys#12] :star:
- ~RICH ~"MC checking" | Add additional method to Rich MC Optical Photon helper, !3174 (@jonrob)
- ~Core | Implement
get_pointer(std::optional)
, !3193 (@graven)
Fixes ~"bug fix" ~workaround
- ~Configuration | Fix force_location for string properties and add tests, !3164 (@rmatev)
- ~Configuration ~Persistency | Make LHCb::HltPackedDataWriter thread-safe, !3118 (@lmeyerga)
- ~"Event model" ~Simulation | Fix MCParticle beta, gamma and betaGamma, !3171 (@clemenci) [Boole#3] :star:
- ~Persistency ~Simulation | GenCountersFSR: fix typos, !3137 (@graven)
- ~Build | Fix order of path environment variables, !3159 (@clemenci)
- ~Build | Fix private dependencies lookup in satellite projects, !3135 (@clemenci)
Enhancements ~enhancement
- ~Configuration | Speed up PyConf with a cache of configurable calls, !3047 (@rmatev)
- ~Configuration ~Tracking ~UT | Minimum layer argument for UT findAllSectors and PyConf DISABLE_TOOL function, !3216 (@gunther)
- ~Configuration ~Persistency | Use UnpackTrackFunctional in PersistRecoConf, !3167 (@sstahl)
- ~Decoding | RawbankView for createODIN, !3036, !3223 (@sesen, @chasse) [#5]
- ~Decoding ~VP | Clustering upgrade from 3x5 to 3x3 matrix geometry, !3163 (@gbassi) :star:
- ~Decoding ~RICH | Rich DAQ decoding - Protect against invalid Tel40 SourceIDs, !3109 (@jonrob)
- ~Tracking ~FT | Improve Layout of PrSciFiHits, !3156 (@gunther)
- ~Composites ~Utilities | Prefer sqrt over rsqrt to remove differences between AMD and Intel, !3129 (@sstahl)
- ~Persistency | Change HltPackedDataWriter compression method, !3191 (@lmeyerga) [LZMA-6,ZSTD-5]
- ~Persistency | Add a selection id for Sprucing, !3168 (@shunan) [lhcb-dpa/project#133]
- ~Core | Created an LHCb specific version of Functional base classes, !3187 (@sponce)
- ~Conditions | Speed up Moore initialization (XML reading), !3175 (@rmatev)
- ~Utilities | Add missing operator for avx256::mask_v, !3179 (@rmatev)
- ~Build | Propagate DETECTOR_PROJECT_ROOT environment variable, !3218 (@rmatev)
- ~Build | Make prinout of differences in Counter, 1DHistograms, and 1DProfiles deterministic, !3149 (@chasse)
- ~Build | Put expanded reference name in test report, !3130 (@chasse)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding ~UT | UTFullDecoding: remove redundant initialize, !3157 (@graven)
- ~VP ~UT ~FT | Unify implementation of {VP,UT,FT}ChannelID, introduce strong types for VP Sensor,Chip,Column,Row, !3134 (@graven)
- ~UT ~Conditions | Modernize UTDet, !3189 (@graven)
- ~"Event model" | Rationalise LHCb::Event namespace usage, !3183 (@graven)
- ~Persistency | HltDAQ: Pre-size decompression buffer, !3176 (@graven)
- ~Persistency | Streamline Event/EventPacker, !3173 (@graven)
- ~Persistency | Modernize HltPackedData{Writer,Decoder}, !3170 (@graven)
- ~Persistency | Simplify chunking in HltPackedDataWriter using LHCb::range::chunk, !3158 (@graven)
- ~Persistency | Fix for python 3.9, !3124 (@cattanem)
- ~Core | Make NodePIDs threadsafe, !3177 (@graven)
- ~Build | Minor fix to STDOPTS definition, !3169 (@clemenci)
- Make code compatible with gaudi/Gaudi!1249, !3217 (@graven)
- Tweak track_v3:, !3185 (@graven)
- Take advantage of namespace nesting, !3184 (@graven)
- Drop usage of GaudiAlgorithm in favor of Gaudi::Algorithm, !3181 (@sponce)
- Fix various clang warnings, !3180 (@graven)
- Modernize PackedData classes, !3161 (@graven)
- Fix for DD4HEP, !3152 (@graven)
- Dropped usage of (UN)LIKELY macro, !3113 (@sponce)
2021-07-07 LHCb v53r0
This version uses
Gaudi v36r0 and
LCG 100 with ROOT 6.24.00.
This version is released on master
branch.
Built relative to LHCb v52r2, with the following changes:
Fixes ~"bug fix" ~workaround
- ~Core ~Conditions | Change interfaces to make geometry always explicit, !3019 (@sponce)
- ~Build | Set data packages variables only for build/test environment, !3127 (@clemenci)
Enhancements ~enhancement
- ~Tracking | More proxies for PrVeloTracks and PrFittedForwardTracks, to make conversion easier later, !3110 (@decianm)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Build | Rewrite CMake configuration in "modern CMake", !2931 (@clemenci) :star:
2021-06-24 LHCb v52r2
This version uses
Gaudi v36r0 and
LCG 100 with ROOT 6.24.00.
This version is released on master
branch.
Built relative to LHCb v52r1, with the following changes:
New features ~"new feature"
- ~Decoding ~RICH | Update RICH decoding for realistic cable maps from the pit, !3061 (@jonrob) :star:
Fixes ~"bug fix" ~workaround
- ~Decoding ~UT | Max number of digits per sensor fixed as 252, !3064 (@xuyuan) :star:
- ~Tracking ~VP | Double max number of hits in a VP track, !3095 (@sponce)
- ~Conditions | Fixed duplicated property name 'RootInTES' warnings, !3084 (@sponce)
- ~Build | Disable TestMuonZipInfrastructure test for clang 11, !3100 (@chasse) [#139]
Enhancements ~enhancement
- ~Configuration | Assert non-empty control flow nodes, !3076 (@rmatev) [Moore#215]
- ~Configuration | Unset LHCb default DataType, !2974 (@apearce)
- ~Decoding ~RICH | RichTel40CableMapping : silently catch and flag when DB is not correct for realistic decoding, !3090 (@jonrob) [#137]
- ~Tracking | Add proxy to PrUpstreamTracks, !3105 (@decianm)
- ~Tracking | Replace floats_field with states_field for PrTracks, !3101 (@decianm)
- ~Tracking ~UT | Make findAllSectors in UTDAQ more general, !3074 (@peilian)
- ~Calo | Fix: prefer std::nearbyint over std::round to avoid gcc 10 perf regression, !3092 (@chasse)
- ~"Event model" | Add some v2 proxies to pr tracks, turn Tag namespace into struct, !3067 (@chasse)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding ~Conditions | Introduce strong types StationID,QuarterID,LayerID,MatID in FTChannelID, !3102 (@graven)
- ~"Event model" | Modernize LumiEvent, !3056 (@graven)
- ~Persistency | RawBank: factor out common conversion code in type parsing, !3108 (@graven)
- ~Persistency | Improve usage of RawBank::BankType as Gaudi::Property, !3069 (@graven)
- ~"MC checking" | First step towards dropping GaudiAlgorithm from Particle2MCLinker, !3022 (@sponce)
- ~Core | Consolidate FSRAlgs, !3089 (@graven)
- ~Conditions | Change of location of GrammarUnparsed (LCG100), !3057 (@mimazure)
- ~Utilities | Refactor: removed unsed SOA{Container,Extension}, !3078, !3085 (@chasse)
- ~Build | Prepare refs for new platforms, !3091 (@rmatev)
- ~Build | Drop removed properties from reference files, !3068 (@clemenci)
- Fix clang warnings, !3103 (@graven)
- Fix: ignore counters for x86_64_v4 platform in LHCbTest.py, !3086 (@chasse)
- Adapt to drop of StatusCode check via StatusCodeSvc, !3070 (@clemenci)
- Towards dropping GaudiAlgorithm from LHCb, !3001 (@sponce)
2021-05-27 LHCb v52r1
This version uses
Gaudi v35r4 and
LCG 100 with ROOT 6.24.00.
This version is released on master
branch.
Built relative to LHCb v52r0, with the following changes:
New features ~"new feature"
- ~Configuration | Add minor quality-of-life enhancements to LHCbApp, !2963 (@apearce) [#3]
- ~"Event model" | Add a Generic Track SOA Container, !2920 (@agilman) [#97] :star:
- ~"Event model" ~Persistency | Add RawBank types for Run 3: CaloSpecial, Plume, PlumeSpecial and PlumeError, !3006 (@gvouters)
- ~Utilities | Add integer XOR, NOT, elementwise popcount and to_array to SIMDWrapper, !2970 (@gunther)
- ~Utilities | MatVec operations for BPVLTIME functor, !2910 (@vrenaudi)
- Add functional raw event combiner, !3043 (@dovombru) [#101]
Fixes ~"bug fix" ~workaround
- ~Configuration | Only look for depth specifiers at string ends, !3066 (@apearce) [#134]
- ~Configuration | Add tools to Algorithm inputs and use caching, !3003 (@apearce) [#126]
- ~Tracking ~UT | Unify treatment of sector search for UT-based pattern reco, !2990 (@decianm)
- ~Persistency | Remove default type for RawBank::range, !3021 (@graven) [#132]
- ~Build | Randomise default File Catalog name, !3004 (@cattanem)
Enhancements ~enhancement
- ~Configuration | PyConf compatibility with Multi Event Scheduler, !2964 (@dcampora)
- ~Configuration | Add possibility to lock an option slot of ApplicationOptions, !2961 (@chasse)
- ~Calo ~"Event model" | Implement remove_if in CaloClusters_v2, !2971 (@cmarinbe)
- ~Persistency | MDF writing functionallity for Moore, !2978 (@sesen) [Moore#228]
- ~Persistency | Configurable ANNSvc and expose PR descriptor names, !2965 (@nskidmor)
- ~Core | Add new platforms strings to PlatformInfo, !3062 (@clemenci)
- ~Conditions | Small fixes for DD4hep support of alignment, !2998 (@sponce)
- ~Conditions | Fixes usage of handle with DDhep, !2949 (@sponce)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Configuration | Make comparison in warning printout more robust, !3033 (@cattanem)
- ~Decoding | Tweak UTDecoder, !2997 (@graven)
- ~Decoding | Unify UT decoders + strong enum UTDAQ::version, !2986 (@graven)
- ~Decoding ~UT | Tweak UTDecoder (follow up !2997), !3050 (@graven)
- ~FT | Remove unused DeFTMat::calculateChannels, !2958 (@graven)
- ~Calo | Calo{Cluster,Hypo}_v2: streamline range and iterator implementations, !2987 (@graven)
- ~"Event model" | Modernize old GOD-generated event headers, !3058 (@graven)
- ~Persistency | Prefer addBank over createBank/adoptBank, !2994 (@graven)
- ~Persistency | Remove unsafe Warning(...) counter to avoid race condition in BankKiller, !2989 (@chasse)
- ~Persistency | Prefer
Rawbank View
over explicit span<RawBank const* const>
, !2975 (@graven)
- ~Core | Fix to known platforms and clang 11 warning, !3073 (@rmatev)
- ~Core | Adapt HLTControlFlowManager to range v3 0.11, !2981 (@graven) [LBCORE-2001]
- ~Core | Change the XMLSummary ref files to work for Python 3.8, !2917 (@clemenci)
- ~Conditions | Remove remnant from COOL to GitCondDB migration, !2982 (@cattanem)
- ~Utilities | Add constraint to template arguments of {stable,}partitionPosition, !2999 (@graven)
- ~Utilities | Tweak SIMDWrappers, !2988 (@graven)
- ~Utilities | Adapt MultiIndexedContainer to range-v3 0.11, !2985 (@graven) [LBCORE-2001]
- Add a RawBank::types() which returns a range of RawBank::BankTypes, !3059 (@graven)
- Modernize UT, !3054 (@graven)
- Remove algorithm correlations, !2960 (@pkoppenb)
Documentation ~Documentation
- Update CONTRIBUTING.md to update supported platforms, !3020 (@cattanem)
- Add some readme for SOACollection, !2992 (@decianm)
Other
- ~Configuration ~Persistency | Support specifying barrier algorithms in PyConf, !2954 (@apearce) [Moore#145]
- ~Decoding ~UT | Getters for UT decoding in Allen, !2924 (@mstahl)
- ~Calo ~Conditions | Get zero suppresison parameters from DB, !2945 (@jmarchan)
- Add check for UT rawbank size consistency, !3063 (@graven)
- Extend the unknown-attributes warning workaround to ROOT 6.24, !3048 (@clemenci)
- Revert "Merge branch 'unify-utdecoders' into 'master'", !3037 (@rmatev)
- Flexible UT hits container, !3035 (@decianm)
- Add RawBank::View type, and make it the output type of UnpackRawEvent, !2969 (@graven)
2021-03-12 LHCb v52r0
This version uses
Gaudi v35r2 and
LCG 97a with ROOT 6.20.06.
This version is released on master
branch.
Built relative to LHCb v51r3, with the following changes:
New features ~"new feature"
- ~Configuration | Allow PyConf component properties to declare data dependencies, !2930 (@apearce) [Moore#51]
- ~Configuration | Move PyConf from Moore to LHCb, !2906 (@rmatev) [Moore#116,
#12345,
Moore#12345] :star:
Fixes ~"bug fix" ~workaround
- ~Tracking | Increase type-safety in LHCbID, !2956 (@graven)
- ~Tracking ~UT | Fix stripID order in DeUTSector and DeUTSensor, !2914 (@xuyuan) [Rec#174]
- ~VP ~Conditions | Register VP daughters with updatemgrservice, !2641 (@wouter) [LHCBPS-1850]
- ~Persistency | Remove static_vector usage in LHCb::RawEvent, !2926 (@apearce) [#114]
- ~Core | Fix compile error and segmentation fault in scheduler on some ARM architectures, !2947 (@ahennequ)
Enhancements ~enhancement
- ~Configuration | Add TCK option to ApplicationOptions, !2938 (@raaij)
- ~Configuration | Extend all_inputs method to handle list input for class Algorithm in PyConf, !2911 (@axu)
- ~Configuration ~Conditions | Update of the LHCbApp configurable for the DD4hep geometry and new conditions, !2898 (@bcouturi)
- ~Tracking ~"Event model" | Make the Velo hit container flexible, !2880 (@peilian)
- ~Tracking ~"Event model" | Move TracksTag into each explicit track containers, !2855 (@peilian)
- ~Persistency | Reimplement mapping of
BankType
-> span<RawBank const*>
in RawEvent, !2932 (@graven)
- ~Persistency | Remove stream check from PackParticlesAndVertices, !2928 (@apearce)
- ~Persistency | Move PersistRecoConf and reading to LHCb, !2927 (@nskidmor)
- ~Conditions | Made it possible to register a Derived Condition for non copyable type, !2901 (@sponce)
- ~Utilities | Fix meta_enum for use as Gaudi::Property, !2951 (@graven)
- ~Accelerators | Update RetinaCluster algorithms, !2918 (@gbassi)
- ~Build | Disable validateWithReference for skylake_avx512, !2944 (@rmatev)
- ~Build | Add exclusion in test for DD4hep conditions messages, !2909 (@bcouturi)
- ~Build | Fix test faiures due to ordering of Handles initialization, !2888 (@sponce)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Configuration | Adapt PyConf API to snake_case convention, !2948 (@erodrigu)
- ~Configuration | Fixed python code for bad usage of 'in', !2897 (@sponce)
- ~Decoding ~Muon | Modernized MuonRec algorithm, !2952 (@sponce)
- ~VP ~UT ~FT ~"Event model" ~Persistency | Removal of Velo, ST, OT, IT, PRS, SPD from master, !2804 (@pkoppenb) :star:
- ~UT | Modernize/cleanup UT code, !2892 (@graven)
- ~Functors ~Simulation | Remove mentions of obsolete LoKiGenMC, !2950 (@amathad)
- ~Functors ~Simulation | Move Phys/LoKiGen from LHCb to Gauss, !2871 (@dmuller) :star:
- ~Persistency | Tweak HltPackedDataWriter, !2904 (@graven)
- ~Core | Removed unused tbb include file, !2902 (@sponce)
- ~Conditions | Add missing const to DetectorElement::createCondition arguments, !2916 (@graven)
- ~Utilities | Small fixes to be ready for Boost 1.75, !2953 (@clemenci) [SPI-1799]
- ~Utilities | Do not use C variable-length arrays, !2936 (@rmatev) [Alignment#4]
- ~Utilities | Added simple algorithm to iterate though a Detector's volumes, !2608 (@bcouturi)
- ~Simulation | Fix python relative import, !2908 (@rmatev)
- ~Build | Fix Boost deprecation notes, !2923 (@rmatev)
- ~Build | Fixes for LCG 99, !2912 (@clemenci) [LBCORE-1935]
- Disable LoKi welcome message by default, !2962 (@apearce)
- Add
constexpr
to ChannelIDs, and make constructors explicit
, !2959 (@graven)
- Update LHCbID test with VELO -> VP, !2929 (@erodrigu)
Documentation ~Documentation
- PyConf documentation updates, !2943 (@erodrigu)
- PyConf documentation updates, !2941 (@erodrigu)
- Use DecisionLine in PyConf.tonic docs, !2907 (@apearce)
2020-12-12 LHCb v51r3
This version uses
Gaudi v34r1 and
LCG 97a with ROOT 6.20.06.
This version is released on master
branch.
Built relative to LHCb v51r2, with the following changes:
New features ~"new feature"
- ~Decoding ~UT | UT TELL40 encoder/decoder v1r1, !2631 (@xuyuan) :star:
- ~Tracking ~UT ~"Event model" | Add PrDownstreamTracks, !2801 (@ahennequ)
- ~Tracking ~"Event model" ~Utilities | Simplify Pr::Tracks, !2811 (@ahennequ) :star:
- ~RICH ~Conditions | Add RICH Derived condition objects to wrap detector objects, !2795 (@jonrob) :star:
- ~Persistency | Add serialisation and de-serialisation to class PackedWeightedRelations, !2862 (@axu)
- ~Utilities | Spline grid interpolation, !2511 (@graven)
Fixes ~"bug fix" ~workaround
- ~Decoding ~UT | UTDet / UTDAQ / UTKernel: const correctness fixes, !2852 (@graven) [Rec#173]
- ~Build | Add workaround to suppress clang unused-lambda-capture warning, !2834 (@jonrob)
Enhancements ~enhancement
- ~RICH | Rich add safe histogram fill method, !2819 (@jonrob)
- ~RICH | RICH - SIN model updates., !2806 (@bmalecki) :star:
- ~"Event model" ~Utilities | Write via zip proxies, !2783 (@olupton)
- ~Persistency | Made (Un)PackCaloHypo half way functional, !2836 (@sponce)
- ~Persistency ~Core | Support EvtStoreSvc in PackParticlesAndVertices, !2878 (@apearce)
- ~Conditions | Changed the location of the LHCb compact XML description, !2851 (@bcouturi)
- ~Build | Fix reproducibility of LoKi functor cache sources, !2858 (@rmatev)
- ~Build | Fix test_public_headers_build test target, !2536 (@pseyfert)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Configuration | Fix python warnings exposed in dev4 slot, !2847 (@cattanem)
- ~UT | Remove unused UT code, !2854 (@graven)
- ~UT | Replace
GeomCache::computeGeometry
with a constructor, !2850 (@graven)
- ~Calo | Cleanup of Calorimeter interfaces, !2822 (@graven)
- ~RICH ~Functors ~Persistency ~Core ~Conditions | Drop use of IJobOptionsSvc, !2856 (@clemenci) [(gaudi/Gaudi#140]
- ~Composites ~"Event model" | Migrate Composites' zip machinery, !2849 (@olupton) [#103]
- ~Composites ~Persistency | Re-organize ProtoParticle unpacking/making/ExtraInfo filling, !2797 (@graven)
- ~Filters | Simplify the LoKi::HDRFilter logic, !2857 (@apearce)
- ~"Event model" ~"MC checking" | Remove unused LinksByKey::getAllLinks, !2829 (@chasse)
- ~Persistency | Consolidate EventPacker components, !2817 (@graven)
- ~Conditions | Cleanup of alignment specific code in DetDesc, !2882 (@sponce)
- ~Conditions | Dropped unused class DetElemFinder, !2845 (@sponce)
- ~Conditions | Updated ref file of dd4hep_conditions test after new exclusions in log files, !2833 (@sponce)
- ~Conditions | Fixes to DD4hep log to decrease differences with DD4hep, !2828 (@sponce)
- ~Conditions | Adapt to DD4hep 1.14, !2824 (@sponce)
- ~Utilities | Simplify SynchronizedValue, !2846 (@graven)
- ~Build | Attempt to fix handling of Histos in ref files, !2874 (@sponce)
- Remove no longer required support for range v3 version < 0.9, !2816 (@graven)
Documentation ~Documentation
- Update CONTRIBUTING.md, !2825 (@cattanem)
2020-10-19 LHCb v51r2
This version uses
Gaudi v34r1 and
LCG 97a with ROOT 6.20.06.
This version is released on master
branch.
Built relative to LHCb v51r1, with the following changes:
New features ~"new feature"
- ~Decoding ~RICH | Add support for realistic RICH PMT encoding and decoding, !2664 (@jonrob) :star:
- ~Decoding ~Monitoring | Add decoding for SciFi NZS dataformat, !2648 (@legreeve) :star:
- ~Tracking | Added specialized similarity transform, !2763 (@ldufour) :star:
- ~Calo | Continuation of !2267 (Add Area accessor for calorimeter parts ), !2745 (@ahennequ)
- ~Composites ~Functors ~"Event model" ~Utilities | Changes supporting the new ThOr::Combiner, !2668 (@nnolte) [#96,#97] :star:
Fixes ~"bug fix" ~workaround
- ~Tracking ~Utilities | Fix undefined behaviour sanitiser errors (avx2 + LHCbMath/Similarity), !2721 (@olupton)
- ~Calo | Size inconsistency fix of calo objects, !2798 (@mveghel)
- ~RICH ~Conditions ~Utilities | Minor fixes to restore builds using VE SIMD abstraction layer, !2762 (@jonrob)
- ~Conditions | FTDet: Fix platform diffs due to floating point bug, !2679 (@sesen) :star:
- ~Build | Add missing inline to please gcc10, !2717 (@cattanem)
Enhancements ~enhancement
- ~Tracking | Template function that finds sectors in UT, !2673 (@decianm)
- ~Tracking ~"Event model" | Make the sizes of Long/Velo/Upstream track container flexible, !2733 (@peilian) :star:
- ~Tracking ~"Event model" | Make the size of Pr::Seeding::Tracks container flexible, !2702 (@peilian) :star:
- ~Calo | Added functionality for CaloHypos for Rec!2216, !2787 (@mveghel)
- ~Calo | Improve computation of X,Y position of Calo clusters., !2678 (@graven)
- ~Calo | Additional Calo cluster changes required to fully migrate to v2 clusters, add v2 hypos, !2582 (@graven)
- ~Functors | Python 3 compatibility for functor division, !2694 (@rmatev) [LHCBPS-1858]
- ~Core ~Conditions ~Utilities ~Build | ARM support, !2756 (@ahennequ) :star:
- ~Conditions | Various fixes for DD4Hep build, !2690 (@sponce)
- ~Utilities | Add
enumerate
, !2768 (@graven)
- ~Build | Add gcc10 platforms to PlatformInfo, !2726 (@cattanem)
- ~Build | Remove trailing whitespaces in new references, !2693 (@rmatev)
- ~Build | Fix Graphviz cmake module, !2633 (@rmatev)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding ~"Event model" ~Conditions | Remove deprecated code, !2749 (@graven)
- ~Tracking ~Utilities | Similarity: remove bounds-checking in non-debug mode for GSL3, !2696 (@graven)
- ~Calo | Simplify ICaloFutureElectron interface + miscellaneous cleanup, !2782 (@graven)
- ~Calo | Remove unused code in CaloFutureUtils, !2743 (@graven)
- ~Calo | Dropped unused CaloDigitFilterTool, !2729 (@sponce)
- ~Calo | Cleanup CaloFutureUtils, !2701 (@graven)
- ~Calo | Changes to CaloClusters v2, !2672 (@graven)
- ~Calo | Cleanup CaloUtils, !2667 (@graven)
- ~Calo ~Functors ~"Event model" | Remove L0 related code, !2735 (@pkoppenb) :star:
- ~RICH | Fix clang10 compilation warning, !2707 (@cattanem)
- ~"Event model" | Remove obsolete SwimmingEvent, !2719 (@cattanem) [LHCBPS-1867]
- ~"MC checking" | MCReconstructible: use toolhandle, !2753 (@graven)
- ~"MC checking" ~Simulation | Modernize SimComponents, !2520 (@graven)
- ~Core | Prefer Counters to accumulators in user code, !2803 (@sponce)
- ~Core | Tweak DeterministicMixer to work with gsl3, !2796 (@graven)
- ~Core | Modernize deterministic mixer code, !2794 (@graven)
- ~Core | New round of cleanup of old style counters, !2754 (@sponce)
- ~Core | Modernized DQFilter and reduced drastically use of EventCountAlg, !2720 (@sponce)
- ~Core | QMTest of CopyInputStream, !2639 (@axu)
- ~Core ~Utilities | Adapted code to newest gsl::span, !2695 (@sponce)
- ~Conditions | Update test to latest physics constants in Gaudi, !2755 (@clemenci)
- ~Utilities | Prefer GSL version of make_span over custom version, !2760 (@graven)
- ~Utilities | Allow LHCb::UT::UTDAQ::findSectors to (implicitly) deduce the template arguments, !2680 (@graven)
- ~Simulation | VisPrimVertTool: Prefer DataHandle over using evtSvc(), !2750 (@graven)
- ~Build | Clean up dependency of functor cache on GaudiConfig2, !2692 (@rmatev)
- ~Build | Fix cppyy incompatibilities introduced with ROOT 6.22, !2638 (@cattanem) [ROOT-10769]
- Remove obsolete configurables test, !2764 (@cattanem) [#100]
- Adapt to new Gaudi Monitoring, !2761 (@sponce)
- Towards dropping old counters, !2725 (@sponce)
- Migrate to Gaudi/Property.h, !2674 (@jonrob)
Documentation ~Documentation
- Add warning about fromSignal flag in MCParticle, !2802 (@chasse)
2020-08-03 LHCb v51r1
This version uses
Gaudi v33r2 and
LCG 97a with ROOT 6.20.06.
This version is released on master
branch.
Built relative to LHCb v51r0, with the following changes:
New features ~"new feature"
- ~Tracking ~"Event model" | Add PrSeedTracks SOA container, !2559 (@decianm)
- ~Calo | Add a
find(CaloCellID)
function to CaloClusters, !2569 (@graven)
- ~Calo ~"Event model" | Add MC2Cluster relations table type, !2605 (@cmarinbe)
- ~Calo ~"Event model" | Add CaloDigits v2 and CaloClusters v2, !2166 (@graven) :star:
- ~RICH ~Simulation | Add SIN code type to RICH digit history., !2581 (@bmalecki)
- ~"Event model" ~Simulation | Add times to MCVPDigit and HV and bad pixels to DeVPSensor to update VP simulation, !2473 (@hcroft)
- ~Core | Generic algorithms + example/test for writing a barrier with ZipSelections, !2518 (@pseyfert)
- ~Core | Add machinery for tracking dynamic allocations and enable its use in the scheduler, !2472 (@olupton) :star:
- ~Conditions ~Build | Support for DD4hep in the framework and for the VP subdetector, !2455 (@sponce) :star:
- ~Utilities | Extend meta_enum: add a members_of() function to get a range over all declared values, !2566 (@graven)
- ~Utilities | Migrate TrackKernel/Chunker to LHCb::range::chunk, !2560 (@graven)
- ~Utilities | Add helpers for making unique_ptrs with custom allocators, !2475 (@olupton)
- ~Simulation | Add pgprimaryvertex check script (@adavis), !2530 (@cattanem)
- ~Build | Apply sensitivity to counter numbers when explicitly specified, !2630 (@sponce)
Fixes ~"bug fix" ~workaround
- ~Tracking | Use signed int for indices in field map bounds check to avoid FPE, !2657 (@jonrob)
- ~Tracking | TrajPoca: Fail and warn when point POCA fails on downgrade, !2499 (@jonrob)
- ~Calo | Fix CaloClusters v2 unit test, !2609 (@graven)
- ~Functors ~Build | Workaround for gaudi/Gaudi#117, !2438 (@rmatev) [gaudi/Gaudi#117]
- ~Core | Remove caching of the event-local memory resource pointer, !2613 (@olupton)
- ~Core | Properly fail when you define multiple control flow nodes with the same name, !2446 (@nnolte) [#81]
- ~Conditions | Avoid mixed use of inline const string and static string as with clang10 results in null value, !2658 (@jonrob)
- ~Conditions | Make sure FTMat cached geo data is updated when conditions change, !2640 (@wouter)
- ~Conditions | Fix asan stack-use-after-scope error (Alignment), !2578 (@rmatev) [#0,#1,#2]
- ~Utilities | Fix AVX256/512 loop_mask to handle general loops, !2458 (@gunther)
- ~Build | Fixed usage of small_vector in conjunction with cling, !2454 (@sponce) [#75]
- ~Build | Ignore unchecked status codes, !2419 (@clemenci)
- Fix typo in maskgather for variadic templates in SIMDWrapper, !2675 (@decianm)
Enhancements ~enhancement
- ~Configuration | Demote warning on use of latest DB tags, !2665 (@rmatev)
- ~Decoding | New RawBank types for upgrade, !2577 (@gvouters)
- ~Decoding | Reserve DAQ error type range as per EDMS2100937, !2576 (@pdurante)
- ~Tracking | Put numbers needed when dealing with UT sectors and layers to 'UTInfo', !2590 (@decianm)
- ~Tracking | Updated UTDAQHelper for PrVeloUT / Some new numbers in UTInfo, !2564 (@decianm)
- ~Tracking | Store hits indices in Pr::Tracks, !2561 (@peilian)
- ~Calo | Use meta_enum for Calo::Enum::Datatype, !2568 (@sponce)
- ~Calo | Next evolution of CaloDigit container, !2546 (@graven)
- ~Calo | Extend CaloClusters v2 functionality, !2542 (@graven)
- ~Calo | Optimize CaloFutureRawToDigits, !2541 (@graven)
- ~Calo | Truncate calo digit energy to multiple of 0.2 MeV when computing position, !2465 (@graven)
- ~Calo | Improve position stability in calculateClusterEXY, !2423 (@graven) [Rec#118]
- ~Calo | Add HypoTable RelationWeighted1D table, !2380 (@ozenaiev)
- ~RICH | RichSmartID - Better support for PMTs, more specific printout and accessors, !2643 (@jonrob)
- ~RICH | RichFutureUtils - Various enhancements to derived condition objects, !2521 (@jonrob)
- ~RICH | LHCbKernel - rich types use boost small vector, !2513 (@jonrob)
- ~RICH | RichSystem - Add public RichDet accessors, !2487 (@jonrob)
- ~RICH ~"MC checking" | Add RICH MC helper class(es) for associations to extended MC Info, !2514 (@jonrob)
- ~RICH ~Conditions | Add DDDB locations for RICH PMT readout time info, !2481 (@bmalecki)
- ~RICH ~Utilities | SIMDTypes : Cleaner bit casting implentation and more Vc:: isolation, !2453 (@jonrob)
- ~Composites ~Functors | Functor/combiner proceedings, !2448 (@nnolte)
- ~Composites ~"Event model" ~Core | Move v2::Particle types from Phys to LHCb, add new zip proxy types, !2626 (@olupton)
- ~Functors ~Build | Faster decoration for context-dependent functors, !2627 (@rmatev) [Moore#187]
- ~"Event model" ~Core ~Utilities | Assorted fixes (StacktraceAllocationTracker, ZipFamilyNumber, ProducePrFittedForwardTracks), !2635 (@olupton)
- ~"Event model" ~Utilities | Minor improvements for SIMDWrapper / zipping / event model, !2661 (@olupton)
- ~"Event model" ~Utilities | Make loop_mask() return mask_true() for Broadcast/Gather proxies, !2650 (@olupton)
- ~Persistency | Use event-local memory pool when reading RawEvent, !2338 (@olupton) [ROOT-10526]
- ~Core | No vtable dispatch during node sequence traversal in scheduler, !2632 (@nnolte)
- ~Core | EventContextExt: use speculative get to avoid extraneous type check, !2614 (@graven)
- ~Core | Add time printout when scheduler starts/ends timing events, !2522 (@chasse)
- ~Core | Respect ZIPPING_SEMANTIC_CHECKS in areSemanticallyCompatible, !2412 (@pseyfert)
- ~Core ~Utilities | Tweak SIMDWrapper conversions / operations, !2621 (@olupton)
- ~Conditions | Extended DetectorElement interface to avoid direct use of IGeometryInfo in clients, !2656 (@sponce)
- ~Conditions | Add IOV to DD4hep conditions test and move to yml, !2623 (@bcouturi)
- ~Conditions ~Simulation | Update DDDB default global tags to latest ones from https://gitlab.cern.ch/lhcb-conddb/DDDB/-/issues/3, !2573 (@cattanem)
- ~Utilities | Extend Absolute precision truncation with support for arbitrary precision and rounding, !2502 (@jonrob)
- ~Accelerators | Updated Retina Clustering, !2436 (@flazzari)
- ~Build | Fix dependency of functor cache and GaudiConfig2 (follow up !2537), !2670 (@rmatev)
- ~Build | Dump gaudi job options for all tests, !2663 (@rmatev) [LHCBPS-1874]
- ~Build | Add new clang10 platform string to PlatformInfo.cpp, !2646 (@chasse)
- ~Build | Fix dependency problem with functor cache and GaudiConfig2, !2537 (@clemenci)
- ~Build | Ignore DataFault incidents count in ref validation, !2501 (@rmatev)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Configuration | Prepare for the rename of DataObjectHandleBase to DataHandle, !2653 (@clemenci)
- ~Decoding | Prefer explicit
put(unique_ptr<T>)
over of put(T*)
, !2628 (@graven)
- ~Decoding | Prefer explicit
put(unique_ptr<T>)
over of put(T*)
, !2625 (@graven)
- ~Decoding | Modernize VeloDAQ, !2299 (@graven)
- ~Decoding ~Muon | MuonRawToHits: avoid repeating code, !2421 (@graven)
- ~Decoding ~Muon ~Persistency | Suppress warnings in LCG DEV(3/4) slots, !2610 (@jonrob)
- ~Decoding ~Monitoring ~Conditions | Modernize UTDAQ, !2290 (@graven)
- ~Tracking | Modernize MagneticField code, !2519 (@graven)
- ~Tracking ~"MC checking" | Make IIdealStateCreator Interface independent of TrackClass, !2562 (@chasse)
- ~Tracking ~Utilities | Dropped usage of VCL in LHCb, !2634 (@sponce)
- ~"PV finding" ~Composites | Modernize TrajPoca, !2504 (@graven)
- ~Calo | Introduce dedicated type for CaloDigitStatus::Status, !2666 (@graven)
- ~Calo | Move SpreadEstimator, Digit2ClustersConnector and SharedCells to CaloFutureReco in Rec, !2606 (@graven)
- ~Calo | Fixed includes in CaloFuture2Track.h so that it's self contained, !2567 (@sponce)
- ~Calo | Introduce dedicated type for FE cards, !2557 (@graven)
- ~Calo | Cleanup CaloFutureMergeTAE, !2547 (@graven)
- ~Calo | Move CovarianceEstimator to Rec, !2533 (@graven)
- ~Calo | Cleanup & Extend CaloCellID, add 'dense' index, !2532 (@graven)
- ~Calo ~Persistency | Backward compatible changes to prepare for Gaudi new JobOptionsSvc, !2659 (@clemenci)
- ~Calo ~Core ~Conditions ~Utilities | Fixes for clang10 build, !2642 (@chasse)
- ~Calo ~Core ~Utilities | Adapt to MS-GSL v3, !2550 (@graven)
- ~RICH | Remove HPD specific RICH code, !2636 (@jonrob)
- ~RICH | Remove unambiguous photon flag from core RICH Photon classes., !2558 (@jonrob)
- ~PID ~Composites | Modernize proto particle algorithms, !2422 (@sstahl)
- ~Functors | LoKi/Power.h - Suppress ignored StatusCode warning, !2629 (@jonrob)
- ~Functors | Remove slow Loki import, !2534 (@chasse)
- ~Functors ~Simulation | Modernize LoKi, !2293 (@graven)
- ~"Event model" | SOAExtensions/ZipUtils.h - Use explicit 32bit type, for clarity, and default initialise, !2654 (@jonrob)
- ~"Event model" | Fixed and cleaned up/modernized Relations, !2572 (@sponce)
- ~"Event model" | Fix memory leaks in Relations{1,2}D (follow up !2572), !2617 (@graven) [Rec#145]
- ~"Event model" | Add back public IRelation2D inheritance to Relation2 (follow up !2572), !2612 (@jonrob) [Analysis#3]
- ~"Event model" ~Utilities | Update difference logic of PrZip iterators, !2411 (@pseyfert) [#77]
- ~"Event model" ~Simulation | Modernize GenEvent, !2301 (@graven)
- ~Persistency | Modernize DAQUtils, !2303 (@graven)
- ~Persistency | Modernize WritePackedDst, !2298 (@graven)
- ~Core | Using tbb::task_arena as threadpool instead of global task_scheduler_init, !2381 (@nnolte)
- ~Core | Modernize LHCbAlgs, !2295 (@graven)
- ~Conditions | Fix Detector XML path and use send ROOT and DD4hep to the Gaudi message service, !2579 (@bcouturi) [#86]
- ~Conditions | Workaround for incompatibility between vectorclass 1 and 2, !2574 (@clemenci) [SPI-1619]
- ~Utilities | Move Online/ZeroMQ from Online to Tools/ZeroMQ, !2649 (@raaij)
- ~Utilities | Minor fixes for sanitizer builds, !2616 (@jonrob)
- ~Utilities | Follow up on closing of https://github.com/VcDevel/Vc/issues/177, !2543 (@pseyfert)
- ~Utilities | Add length-checked constructors to SIMDWrapper, !2439 (@pseyfert) [#78]
- ~Simulation | Modernize SimComponents, !2289 (@graven)
- ~Build | Remove LAPACK lookup in LHCbMath, !2669 (@graven)
- ~Build | Fix signed / unsigned comparison warning from meta_enum.h, !2622 (@jonrob)
- ~Build | Define CPP macro to suppress vectorclass AVX2 no FMA warning, !2586 (@jonrob)
- ~Build | Avoid operators in the global namespace, !2535 (@graven)
- ~Build | Ignore one more unchecked StatusCode, seen with clang, !2461 (@cattanem)
- ~Build | Unify cmake style for cppgsl detection, !2456 (@pseyfert)
- ~Build | Remove WIN32 dead code, !2441 (@cattanem)
- Minimize refs produced by validateWithRef, !2505 (@rmatev)
- Support Python 3, !2214 (@apearce)
Documentation ~Documentation
- Update CONTRIBUTING.md, !2644 (@cattanem)
- Use c++ syntax highlighting for icpp files, !2509 (@chasse)
2020-02-18 LHCb v51r0
This version uses Gaudi v33r0 and LCG_96b with ROOT 6.18.04.
This version is released on master
branch.
Built relative to LHCb v50r6, with the following changes:
New features ~"new feature"
- ~Decoding | Add ODIN emulator and encoder, !2196 (@rmatev)
- ~Decoding ~Persistency | Add fibre tracker bank types, !2374 (@sesen)
- ~Tracking ~"Event model" | First commit of PrUTHits, the SOA hit class for the UT, !2204 (@decianm) :star:
- ~Muon ~"Event model" | Add new Muon PIDs object in SOA format, !2111 (@sstahl, @olupton) :star:
- ~RICH ~Conditions ~Simulation | Provide access to channel properties in RICH PMT detector elements., !2353 (@bmalecki)
- ~"Event model" ~Utilities | Add small matrix/vector library working with simdwrappers + small additions to zipping, !2309 (@nnolte)
- ~Persistency | Add new routing bits writer, !2215 (@sstahl)
- ~Persistency ~Simulation | Add setting for configuring output of PGUN simulation (@adavis), !2385 (@cattanem)
- ~Core | Custom allocator/memory pool in HLT1, !2270 (@olupton) :star:
- ~Core | Implement asynchronous scheduler, !1939 (@nnolte) :star:
- ~Utilities | Add {stableP,p}artition{Position,ByMask}, and bind_front, !2312 (@graven)
- ~Utilities | Add ArenaAllocator and two generic Container types, !2197 (@graven)
- ~Utilities | Soa accessor prototype with boost::hana, !2141 (@nnolte)
- ~Simulation | PGPrimaryVertex Configuration for all years (@adavis), !2384 (@cattanem) [LHCBGAUSS-1924] :star:
Fixes ~"bug fix" ~workaround
- ~Decoding ~Accelerators | Modernize VPDAQ, !2302 (@graven)
- ~Tracking | Sort and remove duplicate LHCb IDs in Pr::Fitted::Forward::Tracks, !2221 (@apearce)
- ~Calo | Add CaloIndex::Undefined enum value, !2273 (@jonrob)
- ~Calo | Fix remaining gcc9 warnings, !2218 (@graven)
- ~Calo | Fix unnecessary memory copy in DeCalorimeter::Cell_, !2184 (@conrad)
- ~RICH ~Conditions | Unify convention to transform global->detPlane frame, !2162 (@bmalecki)
- ~Functors | LoKi::ToCpp - Explicitly instanciate array<string,4> to work around clang/python/cling/ROOT issue, !2258 (@jonrob)
- ~"Event model" | Define comparator decorator for LHCb::ParticleProperty objects., !2237 (@apearce) [lhcb/LHCb#66]
- ~Core | Workaround for ROOT/Cling problem with Boost small_vector, !2388 (@rmatev) [lhcb/LHCb#75]
- ~Core | HLTControlFlowMgr - Prevent NaN in timing summary, !2261 (@jonrob)
- ~Core | Workaround for Gaudi::Application not popping the output queue, !2247 (@nnolte)
- ~Core | Remove copy of scheduler states in executionreportswriter, !2222 (@nnolte)
- ~Conditions | Improve diagnostic for ConditionAccessor in case of type mismatch, !2262 (@graven)
- ~Conditions | Modernize DetDesc, !2225 (@graven)
- ~Conditions | Weaken requirements for ConditionUpdateContext from ParamValidDataObject to ValidDataObject, !2210 (@graven)
- ~Utilities | Fix SIMDWrapper::scalar::types::loop_mask for out of range, !2378 (@pseyfert)
- ~Utilities | Fix hmax functions in SIMDWrapper.h, !2211 (@nnolte)
- ~Simulation | Add context methods to LoKi::Hybrid::GenEngine, !2362 (@apearce) [LHCBGAUSS-1833] :star:
- ~Build | Fixed counter checking for counters with '|' in the name, !2334 (@sponce)
- ~Build | Fixed retrieval of sensibility in counter checking, !2324 (@sponce)
- ~Build | Fix GroupMessages preprocessor, !2314 (@rmatev)
- ~Build | Always write out new ref if different from old, !2308 (@rmatev) [gaudi/Gaudi#108]
- ~Build | Exclude histogram headers in LHCb ref preprocessor, !2292 (@rmatev)
- ~Build | Fix check for non-x86 architectures, !2244 (@rmatev)
- ~Build | Fix dependency order between TrackEvent and SOAExtensions, !2188 (@graven)
Enhancements ~enhancement
- ~Decoding ~Tracking | Simplify pos_iterator and posAdc_iterator, !2306 (@ahennequ)
- ~Decoding ~Muon | Use event-local memory pool in LHCb::Pr::Muon::PIDs and muon decoding, !2342 (@olupton)
- ~Decoding ~Muon | Improve MuonRawToHits, !2177 (@rvazquez) :star:
- ~Decoding ~Muon ~"Event model" | Improve MuonHit data structures and decoding, !2203 (@ahennequ)
- ~Tracking | Make classes relevant to the SciFi/forward tracking event-local memory pool aware, !2341 (@olupton)
- ~Tracking | Enable event-local memory pool for LHCb::Pr::{UT::Hits,Upstream::Tracks}, !2340 (@olupton)
- ~Tracking | Enable event-local memory pool for LHCb::Pr::Velo::{Hits,Tracks}, !2339 (@olupton)
- ~Tracking | Masked compilation warnings coming from VectorClass for avx512, !2304 (@sponce)
- ~Tracking | Make max_tracks publicly available for Rec!1744, !2178 (@gunther) [lhcb/Rec#89]
- ~Muon ~"Event model" ~"MC checking" | Modify CommonMuonHit to support MC matching, !2153 (@olupton) [lhcb/Rec#86]
- ~Muon ~"Event model" ~Simulation | Make MuonDigit::TimeStamp const correct + misc changes, !2223 (@graven)
- ~Calo | Adjust ICaloFutureElectron to make CaloFutureElectron tool thread safe, !2239 (@aszabels) [lhcb/Rec#106]
- ~Calo ~PID | Update of NeutralIDTool for upgrade conditions, !2354 (@calvom)
- ~RICH | CPUDispatch.h - Limit CPU dispatching to only levels supported by compilation level, !2265 (@jonrob)
- ~RICH | RichRayTracing - Update SIMD API to accept r- or l-value reference to starting directions vector, !2264 (@jonrob)
- ~RICH ~Conditions | RichFutureUtils - Add derived condition factory methods utilising inputLocation, !2255 (@jonrob)
- ~RICH ~Conditions | RICH - Convert to functional conditions access, !2226 (@jonrob) :star:
- ~Filters | Set DeterministicPrescaler seed with an explicit property, !2383 (@apearce) [lhcb/Moore#74]
- ~Functors | Make zips agnostic about argument order and add .get() accessor, !2198 (@olupton)
- ~"Event model" | Enable event-local memory pool for vertex and selection types, !2343 (@olupton)
- ~"Event model" | Dummy producers and track proxy tweaks, !2209 (@olupton)
- ~"Event model" | Support for new functors, !2199 (@samarian)
- ~"Event model" | Streamline proxy definition, add registry of headers for functors, Pr::Zip improvements, !2173 (@olupton)
- ~Persistency | Suffix line names with Decision in DecReports writer, !2373 (@rmatev) [lhcb/Moore#130]
- ~Persistency | Add counter for the number of raw banks and make the reserved number configurable, !2278 (@olupton)
- ~Persistency | Take DecReport IDs from the HltANNSvc in execution reports writer, !2259 (@apearce) [lhcb/LHCb#68]
- ~Core | HLTControlFlowMgr - Resize name column in timing table to accommodate larger names, !2217 (@jonrob)
- ~Core | HLTControlFlowMgr introduce optional calling of sysExecute or execute and implement a timing table, !2171 (@chasse)
- ~Conditions | Further simplify addConditionDerivation, !2254 (@graven)
- ~Conditions | Add default transform to LHCb::DetDesc::addConditionDerivation -- if signature is explicitly given, !2236 (@graven)
- ~Conditions | Add support to IConditionDerivationMgr for chained derived conditions, !2232 (@jonrob)
- ~Conditions | Allow 'just signature' to be specified in addConditionDerivation, !2216 (@graven)
- ~Conditions | Update default LHCBCOND global global tags, !2167 (@cattanem)
- ~Utilities | Add operators to scalar mask_v, !2377 (@pseyfert)
- ~Utilities | Add max and min functions for int_v, !2256 (@decianm)
- ~Utilities | Additions to SIMDWrapper, !2185 (@ahennequ)
- ~Build | Add skylake_avx512+vecwid256-centos7-gcc9-* platforms to the list of known ones, !2326 (@olupton)
- ~Build | Replace run time with compile time dispatch LHCbMath similarity, !2307 (@jonrob) [lhcb/LHCb#71]
- ~Build | Minimize new refs produced by validateWithRef, !2260 (@rmatev) :star:
- ~Build | OTDet for non intel architectures, !2231 (@roiser)
- ~Build | Remove dependencies on vectorclass in Kernel packages for non intel architectures, !2228 (@roiser)
Code cleanups and changes to tests ~modernisation ~cleanup ~testing
- ~Decoding | Cleanup SiRawBankDecoder, !2311 (@graven)
- ~Decoding | Modernize OTRawBankEncoder, !2294 (@graven)
- ~Decoding | Replace print statements with message logging, !2275 (@cattanem)
- ~Decoding | Port FTRawBankDecoder to Gaudi::Algorithm, !2201 (@graven)
- ~Decoding ~Muon | Modernize MuonDAQ, !2291 (@graven)
- ~Tracking | Limited use of vectorclass to required places in MagneticFieldGrid, !2227 (@sponce)
- ~Tracking ~"Event model" | Event/TrackEvent: run clang-tidy, !2192 (@graven)
- ~Tracking ~"Event model" | PrIterableFittedForwardTracks.h consistent between data types, !2169 (@cprouve)
- ~Tracking ~Conditions | Change
UTDAQ::computeGeometry
to make it usable for addConditionsDerivation
, !2208 (@graven)
- ~Tracking ~Conditions | Det/UTDet: run clang-tidy & tweak DeUTDetector, !2191 (@graven)
- ~Tracking ~Conditions | UTDet: minor technical cleanup, !2176 (@graven)
- ~Tracking ~Utilities | Dropped unused SOA utilities, !2369 (@sponce)
- ~Muon | Use an error message counter in MuonRawToHits, !2251 (@apearce) [lhcb/LHCb#69]
- ~Muon | Modernize MuonRawToHits, !2229 (@graven)
- ~Calo | Make chi2(match,match) a friend function of match, !2206 (@graven)
- ~Calo | Det/CaloDet: run clang-tidy, !2194 (@graven)
- ~Calo | CaloFutureUtils: run clang-tidy, !2190 (@graven)
- ~Calo | Cleanup ICaloFutureHypo2CaloFuture, !2172 (@graven)
- ~RICH | Cleanup of API of RichFutureUtils, !2252 (@jonrob)
- ~RICH | RICH - Migrate tools to derived condition objects, !2230 (@jonrob)
- ~RICH | RichFutureKernel - Streamline and make Gaudi::Algorithm default base class, !2200 (@jonrob)
- ~RICH | Rich/RichFutureUtils: run clang-tidy, !2195 (@graven)
- ~RICH ~"MC checking" | TrackToMCParticleRelations - Remove empty relations warning, !2321 (@jonrob)
- ~Functors | Phys/LoKiCore: Run clang-tidy, !2189 (@graven)
- ~"Event model" | Modernize MCEvent, !2300 (@graven)
- ~"Event model" | Move methods from proxy_type to PROXY_METHODS, !2205 (@olupton) [lhcb/LHCb#59]
- ~"Event model" | Event/RecEvent: run clang-tidy, !2186 (@graven)
- ~"Event model" | Modernize Relations, !2182 (@graven)
- ~"Event model" ~Simulation | Event/DigiEvent: run clang-tidy..., !2187 (@graven)
- ~"Event model" ~Build | Resolve LHCBPS-1845 "Decommission GaudiObjDesc", !2158 (@clemenci) [LHCBPS-1845]
- ~Persistency | Make IOExample tests more agnostic about the architecture of the machine running the tests, !2327 (@olupton)
- ~Persistency | Modernize EventPacker/Compare*, !2297 (@graven)
- ~Persistency | Modernize RecreatePIDTools, !2296 (@graven)
- ~Persistency | Fix HltLinePersistenceSvc test, !2245 (@apearce)
- ~Persistency | Move IOAlg to Gaudi::Algorithm, !2233 (@graven)
- ~Persistency | Migrate ExecutionReportsWriter to Gaudi::Functional::Transformer, !2224 (@graven)
- ~"MC checking" | Remove thread unsafe, incident-dependent variable in MCReconstructible, !2319 (@rjhunter)
- ~Conditions | Cleanups and changes in DetDesc to streamline the code and prepare DD4hep introduction, !2246 (@sponce)
- ~Conditions | Move MuonRawToHits to condition derivation, !2212 (@graven)
- ~Utilities | Remove LHCbMath Similarity tests, !2317 (@jonrob)
- ~Utilities | Kernel/LHCbKernel: run clang-tidy, !2193 (@graven)
- ~Utilities | Remove explicit assignment operator in SIMDWrapper to suppress gcc9 warning., !2161 (@olupton)
- ~Build | Add workaround for finding StringIO module with Python 3, !2379 (@cattanem)
- ~Build | Fix range v3 deprecation warnings, !2268 (@cattanem)
- ~Build | Switch from deprecated GaudiKernel/Counters.h to Gaudi/Accumulators.h, !2266 (@jonrob)
- ~Build | Add 'expected' OMP stderr messages to test exclusions, !2263 (@jonrob) [lhcb/LHCb#96]
- ~Build | RichUtils - Remove relic dependency on VectorClass, !2220 (@jonrob)
- ~Build | Work towards make test_public_headers_build pass, !1184 (@pseyfert)
- Ignore the timing table, !2207 (@apearce)
Documentation ~Documentation
- Update CONTRIBUTING.md, !2310 (@cattanem)
2019-10-03 LHCb v50r6
This version uses Gaudi v32r2 and LCG_96b with ROOT 6.18.04.
<
p>
This version is released on master
branch.
Built relative to LHCb v50r5, with the following changes:
New features
PlatformInfo: add gcc9 platforms, !2122 (@cattanem)
Introduces support for gcc9
PlatformInfo - Extend AVX512 types with AVX512VL and AVX512BW, !2060 (@jonrob)
Moved Tools/GaudiTensorFlow from Gauss, !2081, !2114, !2155 (@landerli, @clemenci)
RichDet - Support for updated 'new' PMTs with large PMT flag correctly set, !2097 (@jonrob)
Stop scheduling evts in case an event fails, !2028 (@nnolte)
Output only HltDecReports from ExecutionReportsWriter, !2050 (@nnolte)
ExecutionReportsWriter
is changed to output only the line decisions (in the usual form of a HltDecReports
object) instead of all node states.
Add LHCbMath/Truncate.h that implements methods to truncate floating point values to a fixed number of d.p., !2041, !2046 (@jonrob)
Functors for the smog minimum bias line, !2134 (@samarian)
Defines the nHits accessor required for the NHITS functor implementation
Add zipping of SOA tracks + PV relations demonstrator, !2095 (@olupton)
Functor improvements, !2029 (@olupton)
- Move helper classes for iterating over
Pr::Velo::Tracks
into Event/TrackEvent/Event/PrIterableTracks.h
- Pick up updated
SOAContainer
- Add some helper functions to
SIMDWrapper
to allow the vector instruction set used when building the stack (stackInstructionSet()
) and "now" (instructionSet()
).
- Add
closestToBeamState()
accessor to v2::Track
Add closestToBeamState() accessor to v2::Track
skin, !2075 (@olupton)
Add chi2perdof function to track skin, !2055 (@sstahl)
Add posCovMatrix() accessor to v2::RecVertex, tweaks to SIMDWrapper et al. and expand PrIterableTracks, !2065 (@olupton)
v2::Track - Add ostream << operator, !2061 (@jonrob)
Enhancements
Improve CrossSectionsFSR::getFullNames, !2098 (@graven)
MuonRawToHits: improve memory management, reduce the calls to get the layouts, !2092 (@rvazquez)
Modify Pr::Tracks to know of ancestor relation, add lhcbIDs functions, !2086 (@sstahl)
Tweak VPDAQ, !2042 (@graven)
Add CovY in PrVeloTracks, !2038 (@ahennequ)
RichDet improvements for new PMT classes, !2036 (@jonrob)
Bug fixes
Change Pr::Zip to avoid using SIMDWrapper types as class template arguments, !2156 (@olupton)
Functors templates compilation fix, !2150 (@samarian)
Fix GenFSRMerge fails on samples with SpillOver, !2070 (@dfazzini) [LHCBGAUSS-1775]
Prevent cling to choke on LoKi/Odin.h, !2144 (@clemenci)
Add runtime dependency on LAPACK (required by a numpy based test), !2143 (@clemenci)
This fixes the tests failing with LCG 96b.
change int_v multiplication in simdwrapper, !2140 (@nnolte)
Fix calocluster copy constructor, !2096 (@graven)
- the CaloCluster copy constructor did not copy the key
- make the assignment operator= private, and do not implement it to avoid the compiler from doing so
Fix bug in DeCalorimeter::resetCellParam, !2080 (@graven)
DeCalorimeter::resetCellParam did nothing unless the message level was at DEBUG (or lower!)
Adapt Lookup table for central UT region to correspond to correct numbering scheme of new geometry, !2074 (@decianm)
HLTControlFlowMgr - Avoid tripping over bug in EventSelector::releaseContext, !2073 (@jonrob)
Address a number of gcc9 warnings, !2072 (@graven)
RawDataCnvSvc - Fix memory leak, !2064 (@jonrob)
Update SOAContainer submodule for undefined behaviour fix, !2063 (@jonrob)
CheckGeometryOverlaps - Fix memory leak, !2062 (@jonrob)
In addition, whilst there, some minor modernisation updates.
CondDBDQScanner - Fix memory leak, !2059 (@jonrob)
HLTScheduler, MDF - Fix Context memory leak, !2058 (@jonrob)
Include VectorClass's instrset.h in TestVDTMath tests for INSTRSET, !2044 (@jonrob)
Code modernisations and cleanups
Prefer CaloIndex enum over plain (unsigned) int, move some Calo Interfaces to Rec, !2132 (@graven)
Remove CaloFutureDigitFilterAlg, !2154 (@jmarchan)
Small CMake improvements, !2142 (@clemenci)
Replace template classes with classes with templated call operator, !2149 (@graven)
prefer std::variant over boost::variant, !2146 (@graven)
OTDet Fix misc. uninitialised data member warnings, !2138 (@jonrob)
CaloPin - Default initialise m_box, !2136 (@jonrob)
Extract UT sector mapping from the geometry rather than hardcoding it, !2133 (@sponce)
Move {,I}CaloFutureDigitTool from LHCb to Rec, !2131 (@graven)
Fix compatibility with Python 3 Gaudi, !2129 (@clemenci)
Calo: use functional conditions accessors, !2127 (@graven)
MuonRawToCoord: migrate to range v0.9 in backwards compatible manner, !2125 (@graven)
DAQ/MDF/MDF/MDFHeader.h: Fix gcc9 "taking address of packed member may result in an unaligned pointer value" warning, !2124 (@graven)
Check range v3 version to define various headers to use, !2110 (@jonrob)
update MuonRawToCoord for ranges-v3 0.9.x, !2109 (@graven)
gcc9 warning fixes, !2121, !2108, !2107 (@graven)
fix gcc false positive warning, !2107 (@graven)
Const-correctness fixes in CaloDet, !2106 (@graven)
remove explict ODIN copy c-tor, rely on compiler generate copy c-tor and operator=, !2105 (@graven)
Modernize DetDesc::ParamList, !2104 (@graven)
calo event CaloHypo update, !2102 (@zexu)
DeRichSystem - Cleanup and simplify a little initialize(), !2100 (@jonrob)
Rename Calo::Future namespace into LHCb::Calo, !2099 (@graven)
selreportswriter functional, !2094 (@nnolte)
const functions in ReportConvertTool (for sel reports), !2088 (@nnolte)
RawBankReadoutStatus: add assignment, !2083 (@graven)
Remove explicit copy constructor from {U,S}TChannelID, !2082 (@graven)
CaloDataProviders: avoid implicit KeyedContainer::operator=, !2079 (@graven)
fix gcc9 redundant move warnings, !2078, !2085 (@graven)
Remove explicit operator= from {ST,UT,Velo}Lite cluster, !2066 (@graven)
Streamline Conditions Derivation, !2057, !2039 (@graven)
only include range-v3 when it is actually used, !2056 (@graven)
DeUTDetector - Protect getSectorDirect from out-of-bounds access, !2052 (@jonrob)
remove warning in case of "NONE" evtselector, !2051, !2069 (@nnolte)
Various fixes needed for clang 8 builds, !2048 (@jonrob)
Improve CaloFuture,DeCalorimeter,CaloVector interfaces, !2045 (@graven)
Update STLExtensions, !2043 (@graven)
Tweak UTDet/StatusMap, !2040 (@graven)
Rename UTModule with UTStave, !2037 (@abeiter)
This coincides with changes to the DDDB and the SIMCOND database.
Remove CondDBBrowser, !1725 (@clemenci)
Changes to tests
- Improved counter checking to avoid crashes when changing counter nature, !2128 (@sponce)
2019-07-21 LHCb v50r5
This version uses Gaudi v32r1 and LCG_96 with ROOT 6.18.00.
<
p>
This version is released on master
branch.
Built relative to LHCb v50r4, with the following changes:
New features
SIMDTypes.h - Add scalar versions of 'any_of,all_of,none_of' for booleans, !1994 (@jonrob)
RichFutureUtils RichHypoData - Add constructor from other Hypo data templated type., !1984 (@jonrob)
LHCbMath - Add some type traits to SIMDTypes. Update RichRayTracingUtils to use new traits., !1983 (@jonrob)
First commit of 'UTInfo.h', to store some geometry numbers of the UT (#stations, layers, regions, sensors), !1972 (@decianm)
Add SOA::Container
skins for Track
and MuonPID
objects and their combination. Allows new functors to act on track+muon zips, !1961 (@olupton)
Add a std::transform-like function to facilitate creation of a zip compatible container from an existing one, !1905 (@pseyfert)
Add MDFIOAlg and MDFIOSvc allowing to efficiently read events from MDF files with no event selector, !1904 (@sponce)
Enhancements
AVX2/AVX512 wrapper fixes + new AVX256 backend, !2031 (@ahennequ)
- Few fixes to SIMD wrapper.
- Introduction of AVX256 backend: uses avx512 new instructions but with a vector size of 256. This allow to benefit from the increased register count, the new mask registers and new instructions (compressstore) but without the problem of frequency scaling.
- Added masked gathers
RICH, minor updates to photon and hypo data classes, !2030 (@jonrob)
Optimized caching of banks in RawEvent, !2027 (@sponce)
LHCbMath FastMaths - Add always inline attribute + minor fast_atan2 update, !2024 (@jonrob)
RichTrackSegment - Set precision on 'angleToDirection' theta and phi values, !2023 (@jonrob)
Add x86_64-centos7-clang8-opt,dbg to PlatformInfo, !2007 (@cattanem)
DetDesc - 'Solids' classes cleanup, !2005 (@jonrob)
Support SIMD/POD containers and vectorised selections in new functors, !2004 (@olupton)
MagneticFieldGrid::fieldVector - Small optimisation., !2002 (@jonrob)
RichMirrorSegFinderLookUpTable.h - Unroll some small scalar loops + cleanup., !2000 (@jonrob)
SIMDTypes : Add #define to hint compiler to loop unroll, !1999 (@jonrob)
LHCbMath - Small CPU improvement to fast_atan2, !1998 (@jonrob)
RichDet - Various memory and CPU optimisations, !1997 (@jonrob)
Update to latest LHCbCond 2015 and 2016 global tags, !1987 (@cattanem)
Cherry-picked from lhcb/LHCb!1986 on run2-patches
LHCbMath/FastMaths - Make constants non-static., !1971 (@jonrob)
Misc. small performance optimisations of ve, !1970 (@jonrob)
For instance removal of some overheads when running simd_cast
.
Add support for using other SIMD abstraction layers (ve) in LHCbMath and RICH, !1932 (@jonrob)
Use DataHandles in unpackers, !1931 (@apearce)
moved SIMD HLT1 sequence to SoA POD event model, !1913 (@sponce)
Bug fixes
Fix how the Range-v3 include directory dependency is added, !2017 (@olupton)
Fix memory leak in ANNSvc, !1982 (@graven)
fix clang errors, !1975 (@graven)
'layoutOne' in capture list does not name a variable
reference to local binding 'layoutOne' declared in enclosing function 'MuonRawToHits::addCoordsCrossingMap'
invalid operands to binary expression
in HLTControlFlowMgr.cpp
redefinition of 'ConditionAccessor' as different kind of symbol
Code modernisations and cleanups
Use 16bit int type for static size variables for compatibility with clang's loop unroll pragma, !2034 (@jonrob)
FastMaths.h : Hide 'union' based casts behind a single method., !2026 (@jonrob)
RichSIMDMirrorData - Minor streamlining of cache update method, better inlining, !2020 (@jonrob)
Switch to GAUDI_LOOP_UNROLL, !2019 (@jonrob)
Rich : Use MsgCounter instances for warnings and errors, !2018 (@jonrob)
Move Kernel/bit_cast.h to LHCbMath/bit_cast.h, !2011 (@olupton)
Fix clang warnings, !2009, !1993 (@cattanem)
Moved VPTrackingInfo to VPDet, !2008 (@ldufour)
Rename pun_to into bit_cast to be consistent with C++20, !2006 (@graven)
Add explicit Blas dependency, needed with LCG 96, !2003 (@cattanem)
Modernize ICaloFutureHypoTool interface, !2001 (@graven)
- put it in the Calo::Future::Interfaces namespace
- process now takes a range of CaloHypos instead of a single CaloHypo
- add a backwards compatible process which takes a single CaloHypo, and forwards it to the range-based process
- remove the redundant operator() which just calls process
Consolidate usesConditions into the LHCb::DetDesc namespace, !1996 (@graven)
Remove unused variables, !1992 (@cattanem)
Modernize CaloFuture track matching interface, !1990 (@graven)
- put track matching interface + data in namespace Calo::Future
- make Match{2,3}D behave as an optional (as it has a bool to
indicate whether the value is valid or not)
- replace boost::string_ref with std::string_view
use safe_load instead of load following PyYAML yaml.load(input) Deprecation, !1989 (@cattanem)
Modernize IFutureNeutralIDTool interface, !1988 (@graven)
- rename into Calo::Future::Interfaces::INeutralID
- make methods const
- improve type safety
LHCbMath - remove unused 1/sqrt methods, !1985 (@jonrob)
Deleted CaloFuture/CaloFutureInterfaces/CaloFutureInterfaces/#ICaloFutureTrackMatch.#, !1980 (@clemenci)
this is a temporary file generated by some editor ans should have never been committed.
Cleanup unused tool in Det/Magnet and move lookup table class to LHCbKernel, !1978 (@raaij)
Simplify rotation/translation parameter storage, !1974 (@graven)
RichRayTracingUtils - Simplify scalar/SIMD templation replacing SFINAE with constexpr if, !1969 (@jonrob)
First round of context removal, !1964 (@jmarchan)
Use clang-format-8 for GOD generated files, !1962 (@clemenci)
move HltDAQ/src/component/pun.h to Kernel/pun.h, !1955 (@graven)
Changes to tests
Accept "INFO Number of counters" as counters table signature, !2032 (@clemenci)
Follow up of gaudi/Gaudi!943 (plus gaudi/Gaudi!946).
Also change the regular expressions used to detect counters tables to use named groups
Added a way to specify per counter/histo sensibility in tests, !1995 (@sponce)
Prevent spurious failures if TCK DB tests are run multiple times, !1965 (@clemenci)
2019-05-22 LHCb v50r4
This version uses Gaudi v32r0 and LCG_95 with ROOT 6.16.00.
<
p>
This version is released on master
branch.
Built relative to LHCb v50r3, with the following changes:
New features
Apply source code style convention, !1606 (@clemenci)
- add CI check on code format
- global reformat
Proof-of-principle example of using a ConditionAccessor in a Consumer, !1892 (@graven)
Add EcalOverlap cluster collection type, !1900 (@ppais)
Add debuggable threadpool, !1868 (@nnolte)
Moved LinksByKey and LinkReference out of G.O.D. and added useful templated method to them, !1846 (@sponce)
Added a const hasEntry interface to LinksByKey, used by the MC checking, !1808 (@sponce)
Added helper methods to LinksByKey, !1872, !1909 (@sponce)
Add MuonMatchVeloUT to history enum of Track, !1807 (@mramospe)
SOA container import, !1604, !1786 (@pseyfert)
- makes SOAContainer available as
INCLUDE_DIRS Kernel/SOAContainer
and #include "SOAContainer/SOAView.h"
.
- the recursive checkout will require access to github.com
SOA Container extensions, !1810 (@pseyfert), !1859 (@graven)
- a bit more runtime checks to zipping
- the functionality of Selections (in the sense of the current Pr::Selection)
Enhancements
HLTScheduler: Use gsl::not null to annotate pointers which can never be nullptr, !1857 (@graven)
Based on !1851
Exchange std::round
with std::nearbyintf
, !1856 (@decianm)
Remove RawBank copy in RawEvent, !1845 (@ahennequ)
This one line change allows the framework to process 20% more events per second.
GammaPi0 upgrade, !1814 (@calvom)
- Update of IsPhoton (gamma/pi0 separation) tool for Run 3.
- Removal of input variables related to the Prs detector. See lhcb/Rec!1473 for full info.
LHCbMath - Remove use of GenVector in SIMDTypes.h, !1785 (@jonrob)
Faster muon decoding, !1721 (@rvazquez)
Includes a code to pass directly from RawBanks to MuonHits.
- drops the MuonCoord as the MuonHits contain the same information
- include faster tools to access the geometrical information of the TileIDs
Calo track tool upgrade for future, !1624 (@wkrzemie)
Changes to ICaloTrackMatch to make it const.
Issue an error message when git submodule does not appear to be checked out, !1865 (@pseyfert)
Bug fixes
Fix order of finalization (algs before scheduler), !1938 (@nnolte)
Fix issue with LHCbApp().OutputLevel, !1899 (@cattanem)
Fixes an issue exposed by Brunel!757, in which EventLoopMgr
is wrongly configured when LHCbApp().OutputLevel
is set.
Use consistent trailing slash behaviour in TurboConf, !1873 (@apearce)
cherry-picked from lhcb/LHCb!1869
Fix message level protection in RawBankToSTLiteClusterAlg, !1811 (@clemenci)
- Fixes wierd pattern introduced with e97a0f4e22dd3aa42e402c896b400bcdac928120 (!1028)
Code modernisations and cleanups
Modified version of CaloFutureDigitsFilterAlg, !1935 (@jmarchan)
Move BooleInit from Boole/Digi/DigiAlgs, so it can be used by Delphes, !1941 (@cattanem)
Update test references to follow gaudi/Gaudi!904, !1933 (@cattanem)
Remove timestamp from G.O.D. output, !1918 (@rmatev)
This makes the stack build reproducible and therefore ccache hit efficiency improves dramatically.
Fix const correctness, !1887 (@graven)
Move VPDetPaths and VPGeometry from Pr/PrPixel to Det/VPDet, !1884 (@raaij)
Sorted out VectorClass usage in LHCb, !1879 (@sponce)
In particular :
- use Gaudi's System::instructionsetLevel rather than insttrset_detect and drop dependencies on VectorClass for theses cases
- dropped Kernel/VectorClass directory from LHCb as it was empty and only raising warnings
- adapted CMakeLists.txt files to properly find VectorClass when needed
Minor changes in timing + moved selectStore + setRoot into thread, !1871 (@nnolte)
Fix errors flagged by clang 8, !1851 (@graven)
Fix warnings from clang8 and some other minor fly-by cleanups, !1870 (@cattanem)
VPConstants: prefer inline constexpr over static const variables, !1858 (@graven)
Import GaudiGSL from Gaudi, !1850 (@clemenci)
To be able to license Gaudi as Apache 2 it was decided to remove GaudiGSL (GPLv3) from Gaudi and import it in LHCb.
Remove unnecessary imports and configuration of HltEventLoopMgr, !1849 (@nnolte)
Remove AutoTags option using Ariadne, !1813 (@cattanem)
Ariadne has been decommissioned, so DDDBConf().AutoTags
no longer works.
Remove obsolete Ariadne tests, !1812 (@cattanem)
Ariadne has been decommissioned, so removing tests that are now failing to find the Ariadne service
Remove SVN/CVS keywords, !1771 (@cattanem)
Modernize LoKi, !1770 (@graven)
- only mention template arguments if really needed
- prefer templated member functions of non-templated classes over
templated classes with non-template member functions
- use CTAD (class template argument deduction) when possible
- add deduction guides to enable more CTAD
- replace
stable_sort
, when followed by unique
, with sort
.
- avoid using
auto
return type when interacting with cppyy.
Replace XYZ::value with XYZ_v, !1749 (@graven)
Replace boost with std, !1748 (@graven)
replace boost::regex with std::regex, and boost::variant with std::variant
Modernize MD5, !1747 (@graven)
- add unit test for MD5
- add constexpr
RichUtils - Force return type from Vc gather operations, !1746 (@jonrob)
Cleanup doxygen configuration files, !1745 (@cattanem)
Introduce DetDesc implementation of ConditionAccessorHolder concept, !1732, !1788 (@clemenci)
This is a new way of retrieving conditions and detector elements from the detector transient store.
Drop local copy of VectorClass and use the LCG installation, !1697 (@clemenci) [SPI-1181]
HltScheduler: adjust api according to gaudi/Gaudi!877, !1866 (@nnolte)
Monitoring changes
added efficiency printout for scheduler, !1844 (@nnolte)
put some debug output into verbose -> scheduler, !1744 (@nnolte)
Changes to tests
Avoid gaudirun.py customMainLoop for EvtCounter test, !1937 (@clemenci)
Prevent concurrent execution of some tests, !1791 (@clemenci)
Documentation
- Extend the documentation of Kernel/SOAExtensions, !1847 (@pseyfert)
2019-02-13 LHCb v50r3
This version uses Gaudi v31r0 and LCG_95 with ROOT 6.16.00.
<
p>
This version is released on master
branch.
Built relative to LHCb v50r2, with the following changes:
New features
Add exec reports writer, !1716 (@nnolte)
Writes the nodestates into the TES, generic prototype version of a DecReportsWriter
Allow make_span with two span iterators as argument, !1694 (@graven)
Add BrokenLineTrajectory, !1693 (@graven)
A trajectory which is a collection of LineTraj
. This is intended to replace the use of PiecewiseTrajectory
in IT/TT.
Add LHCb::range::single, !1674 (@graven)
- class which can be used as a range of T, but which is actually a single element -- i.e. this looks like a vector which always has size 1.
- Useful if an interface is written in terms of a range, but one wants to call it with only a single element...
Bypassing measurement providers for fitting, !1637 (@pkardos)
Adds data to the Track the parametrized fitter can readily use. Allows for the bypassing of measurement providers and costly indirect access via LHCbIDs.
Adapt to new Gaudi::Algorithm, !1608 (@clemenci)
requires gaudi/Gaudi!703
Enhancements
changed FT raw data format, !1709 (@sesen)
The new encoding and decoding version is v6. See detail in MR description
Return concrete trajectories by value from detectors, !1708 (@graven)
Instead of returning std:unique_ptr<Trajectory>
return, by value, concrete trajectories.
Fix dangerous DeVP::sensor interface, !1701 (@graven)
- deprecate
sensorOfChannel(const LHCb::Detector::VPChannelID channel)
- add
sensor(LHCb::Detector::VPChannelID channel) const
DeSTSector: use BrokenLineTrajectory instead of PiecewiseTrajectory, !1698 (@graven)
... and make DeSTSensor return LineTraj by value instead std::unique_ptr
Note: this (implicitly) eliminates the (effect of the) bug in PiecewiseTrajectory! (see lhcb/LHCb!1695)
No longer use states from fitResult in closestState, !1696 (@graven)
Add some standard debug sanitizer builds to PlatformInfo, !1680 (@jonrob)
Tweak v2::Track, !1672 (@graven)
- have setters return a reference to
*this
so setters can be daisychained
- make
setLhcbIDs
more generic so it can (also) accept lazy ranges
- re-order data members so that the most used ones fit in a single cache line
- remove headers which are no longer referenced
prefer std::vector over KeyedContainer as output of MuonRawToCoord, !1652 (@graven)
closes #19
Reduce the amount of sorting, !1646 (@graven)
- use std::nth_element to get the 'first' station/region
- then use std::partition to partition 'the same' station/region
- then call addCoordsCrossingMap
- finally, move to the next station/region
addresses a subset of #19
Removed unused data members from Track V2, !1642 (@pkardos)
- ancestors: written only 2-3 times, but never read -> deleted
- extraInfo: 2 actual uses -> replaced by 2 doubles
- fitResult: never written (, never read) -> deleted
Addresses #16
Small update to .gitignore, !1630 (@clemenci)
Bug fixes
Update DDDB default tags following lhcb-conddb/DDDB#2, !1736 (@cattanem)
- dddb-20190206 for 2010
- dddb-20190206-1 for 2011
- dddb-20190206-2 for 2012 and 2013
- dddb-20190206-3 for 2015, 2016, 2017 and 2018
Fixes antideuteron name in ParticleTable.txt
Fixed code checking counters/Histogram for when no ref exists, !1705 (@sponce)
The histogram checking introduced in !1661 had a bug that is only visible when no ref is present for a counter which appears in the output, and was causing affected nightly QMTests to fail with the cryptic error
ERROR:root:Exception caught when trying to instantiate qmt test python object
ERROR:root:not all arguments converted during string formatting
Add unit test for PiecewiseTrajectory
, and fix PiecewiseTrajectory
such that it passes, !1695 (@graven)
Remove unused variables uncovered by the compiler after !1668, !1671 (@graven)
Resolve LHCBPS-1815 "Fix incorrect system path in git conddb", !1665 (@clemenci)
Fixes to add_files_to_gitconddb.py
- fix change of XML SYSTEM URLs
- add support for single file insertion
Adapt to ROOT 6.16 signature of R__zipMultipleAlgorithm, !1664 (@clemenci)
The change is backward compatible.
See https://github.com/root-project/root/pull/3005 (master) and https://github.com/root-project/root/pull/3093 (v6-16-00-patches)
Thread safety
- wait for threads to end via tbbs observer, !1678 (@nnolte)
Code modernisations and cleanups
Moved UnpackMC algorithms to DataHandles, !1738 (@sponce)
Remove dummy dependency on CORAL, !1724 (@clemenci)
Reduce scope of GOD generated operator<<, !1720 (@graven)
Should result in less verbose compiler error messages in case operator<< is used on a type (in namespace LHCb) for which no operator<< is defined, as the operators<< generated by GOD won't be considered as alternative
Streamline MuonRawToCoord, !1719 (@graven)
- do not use Error(...) but instead throw exception
- put all code in .cpp file
- push some code into freestanding function instead of member function
LHCbMath - Clean up SIMD compilation flags, explicitly disabling unwanted extensions in specific tests, !1715 (@jonrob)
Explicitly adds -mno-<xyz>
build flags as required to the various SIMD test applications, to make sure unwanted features are disabled, even if they are implicitly enabled via the CMTCONFIG
platform setting.
Fix incompatibility with gaudi/Gaudi!577, !1714 (@clemenci)
BrokenLineTrajectory: fix check for forward iterator, !1713 (@graven)
Fix to strict check for forward iterator -- make sure that more constrained iterators (eg. random access iterators) are still recognized as forward iterator
added constexpr and removed a double promotion, !1706 (@nnolte)
Minor changes to help formatting, !1702 (@clemenci)
use C++17 std::clamp, !1700 (@graven)
Make DeMuonDetector::{Tile2XYZ,Tile2Station} const, !1699 (@graven)
UT does not require PiecewiseTrajectory, !1692 (@graven)
Migrate LHCb::TrackFitResult,Measurement,Node to Rec, !1691 (@graven)
- define ITrackFitResult as base class of TrackFitResult implementations
- resolve circular dependency between TrackEvent and LHCbTrackInterfaces by forward declaring classes in interfaces, and move UTHit to DigiEvent
Simplify muoncoord, !1670 (@graven)
- remove setters and instead provide constructor which fully constructs
- remove std::vector of tiles, as a MuonCoord contains either one or two tiles, and two tiles use less space than a single vector, and avoids extra heap allocation -- so use a boost::static_vector with a fixed capacity of two.
- remove explicit 'crossed' data member -- instead, use the # of contained MuonCoords
- adapt code which creates MuonCoords
make Detector::Muon::TileID final, and remove explicit destructor, !1668 (@graven)
fix odr violations, !1667 (@graven)
change ICaloFutureClusterTool, ICaloFutureSubClusterTag, and ICaloFutureHypoTool IFs to accept ref intstead of ptr, !1662 (@dgolubko)
Addresses lhcb/Rec#42
Decommissioning of COOL, !1638 (@clemenci) [LHCBPS-1789,LHCBPS-1813]
Fix compilation with gaudi/Gaudi!678, !1350 (@cattanem)
Monitoring changes
- Added exec counters to scheduler, !1703 (@nnolte)
Changes to tests
Update LHCbTest to support checking of 1D histograms and profile histograms, !1661 (@jonrob)
Extends the logic used to compare counters to also compare the stats printed for 1D histograms and profile histograms.
Normalize HLTControlFlowMgr measurements, !1704, !1723 (@cattanem)
2018-12-07 LHCb v50r2
This version uses Gaudi v30r5 and LCG_94 with ROOT 6.14.04.
<
p>
This version is released on master
branch.
Built relative to LHCb v50r1, with the following changes:
New features
New scheduler in LHCb, !1422, !1507, !1517, !1575, !1578, !1591, !1612 (@nnolte)
!1422 is a copy of https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/698. It introduces an inter-event concurrent scheduler with static control flow resolution, designed to minimize scheduling overhead in HLT while providing the necessary flexibility to properly define Trigger Lines.
Other MRs contain further improvements and a test
Documentation is evolving at https://gitlab.cern.ch/egovorko/scheduler-paper
Add ASSUME, deprecate LHCb::make_array and LHCb::invoke, !1566 (@graven)
ASSUME( expression )
informs the compiler that expression
can be assumed to be true. When compiling with NDEBUG
defined, expression
is put inside an assert
, which verifies that indeed it evaluates to true
.
Add SynchronizedValue, !1564 (@graven)
- SynchronizedValue hides access to T behind a with_lock function which accepts a lambda (which takes either T& or T const& as argument) as argument.
- SynchronizedValue::with_lock first locks an internal mutex, and invokes the lambda with the contained T
- One can specify the mutex type, and the lock types as template arguments
- In case the lambda takes a T const&, with_lock uses a readLock, and in case it takes a T&, it uses a writeLock (which may actually be the same type as the readLock)
- update some code which was using a similar class to use SynchronizedValue
Add PolymorphicValue type, !1562 (@graven)
- PolymorphicValue wraps a (unique) pointer to a base class in a type which has value semantics -- e.g. can be copied and assigned -- provided the base class (interface) provides a 'clone()' function. Copy and assignment will use 'clone' to create a copy of the underlying object
- a trivial, intrusive version of the more generic 'non-intrusive' https://github.com/jbcoe/polymorphic_value
Add Track v2, !1533, !1589 (@sstahl)
Adds a new Track object which does not inherit from KeyedObject
and is not generated via GOD. The other difference is that it has a vector of States
rather than pointer to States
.
Add RecVertex v2 that uses Tracks v2, !1610 (@sponce)
GaudiObjDesc:
- Add the possibility to specify noexcept in constructors and member methods, !1500 (@sstahl)
- Enable classes inside generated namespaces, !1426 (@roiser)
Add copyright statements, !1557, !1572, !1576, !1645 (@clemenci) [LBCORE-1619]
Add new sanitizer and gcc8 platforms to PlatformInfo, !1510 (@jonrob)
Add a new Gaudi algorithm to persist genFSR information in Json format, !1405 (@dfazzini)
Enhancements
Update DDDB default global tags to follow lhcb-conddb/DDDB!16, !1639 (@cattanem)
Updates particle properties to PDG 2018
dddb-20180726 for 2010
dddb-20180726-1 for 2011
dddb-20180726-2 for 2012 and 2013
dddb-20180726-3 for 2015, 2016, 2017 and 2018
Includes also updates discussed in LHCBGAUSS-1224 (new description of M1 and speedup in RICH simulation)
Update default LHCbCond tag for 2018 to follow lhcb-conddb/LHCBCOND!29, !1658 (@cattanem)
Reduce lumi thresholds to minimum for 2018 heavy ions. cond-20181204-1
Avoid the need for type punning in Track::nodes(), !1579 (@graven)
Version Track object, revert changes in TDR, !1438 (@sstahl)
- Add
inline namespace v1
to Track.xml
renamed to Track_v1.xml
.
- Add additional namespace
Event
, so that the full namespace is LHCb::Event::v1::Track
(backwards compatible).
- Add
Track.h
in TrackEvent/TrackEvent/
which includes Track_v1.h
.
- Forward declarations in many places need to be changed to
include "Event/Track.h"
.
Addresses https://gitlab.cern.ch/lhcb/LHCb/issues/7#note_1755867
Replaces https://gitlab.cern.ch/lhcb/LHCb/merge_requests/1424
MultiIndexedContainer:
- re-implement getUniqueDetectorElementId, !1508 (@graven)
- add subSize, !1476 (@graven)
Use new counters, !1550, !1560 (@sponce)
LoKiCore:
- Kinematics.h/.cpp: fixes to
deltaM2
(better treatment of low-momenta) (@ibelyaev), !1628
Cherry picked from lhcb/LHCb!1627 on run2-patches
- Add LHCb.ParticleID.name/absname & LHCb.Particle.absname methods (@ibelyaev), !1609
Cherry-picked from lhcb/LHCb!1605 on 2018-patches
- Use subclasses instead of patching context-dependent functors, !1528 (@rmatev)
This is a new approach of binding context to functors, which has the following advantages compared to the current version:
- The scope of each hybrid code evaluation is separate (use a newly created python dictionary each time, given as globals and locals)
- There is no need for "undecorating", as the original functor classes are not changed. The context-bound subclasses are destroyed automatically once the globals dict is destroyed.
- The original implementation in lhcb/LHCb!1441 did not handle properly functors inheriting from other functors, which I noticed while adapting the HLT code.
In addition, added caching of the expensive reflection that determine if a functor needs to be contextualized. This improves speed of initialization (to about original level).
LoKiCore&LoKiNumbers: add new symbol HASDATA, !1542 (@ibelyaev)
TES.h
/.cpp
- add new symbol
HASDATA
- DataHandle
-based twin for EXISTS
- change behaviour of
SIZE
: return -1
for non-existent data instead of exception
functions.py
Set environment variables to disable automatic threading in a number of externals, !1531 (@jonrob)
See discussion at lhcb/Rec!1224 and lhcb/Rec!1214
Add package CaloFuture, !1521 (@jmarchan)
New CaloFuture package to be used for upgrade
modifications to interfaces ICaloTrackIdEval and ICaloDigits4Track, !1561 (@zhxu)
- CaloInterfaces/ICaloTrackIdEval.h
- [x] Modified
process
function
- [x] Removed the functor interface
- CaloInterfaces/ICaloDigits4Track.h
- [x] Deprecated
All changes mentioned above are moved to CaloFuture
package.
Adapt interface to changes from CaloFutureShowerOverlapTool, !1592 (@cmarinbe)
see lhcb/Rec!1273
Changes for calorimeters RawBank access, !1629 (@jmarchan)
Added CaloFutureRawToDigits code and removed old code. See also lhcb/Rec!1303
Tweak FTRawBankDecoder, !1499 (@graven)
- prefer Property callback over initialize
- prefer constexpr
- optimize reverse_each_module
- factor code for different decoding versions out into separate functions
Added more getters to DeFTMat.h so that PrStoreFTHit can almost suck its content, !1467 (@sponce)
Refactor UT code out of ST libraries, !1487, !1585 (@abeiter)
DeUT classes are moved to independent library. UTKernel, UTDAQ, and UTTELL1Event libraries are expanded to have UT copies of the ST classes. ST classes in Event and Kernel are also copied into UT classes in those libraries. The goal of these changes is to make all UT code independent of ST libraries.
Extracted generic code from PrVeloUT concerning UT geometry, !1552 (@sponce)
RichKernel : Return void from Rich::Converter_Imp::Exception, !1527 (@jonrob)
See lhcb/LHCb!1524
Add optimised method to DeRichSphMirror to return mirror data in SIMD friendly form, !1485 (@jonrob)
Results in a reasonable optimisation of MirrorData::update
which is heavily called by the photon reconstruction.
Add functional decoding of Muon system, !1611 (@rvazquez)
Adds a new functional algorithm to decode the muon raw banks for the upgrade.
Port L0 Calo fix for 2016 constants to master, !1516 (@robbep)
See explanation and discussion in !1504
Set 2018 initial time during run 195042, !1471 (@cattanem) [LHCBPS-1800]
Cherry picked from on 2018-patches
LHCbMath:
- Add fast approximate atan2 for scalars and SIMD types., !1498 (@jonrob)
- Improve a bit issue with inheritance, !1429 (@ibelyaev)
Cherry picked from lhcb/LHCb!1427 on run2-patches
Merge of TDR branch, aka code that would break master but is needed to run TDR tests, !1028 (@sponce)
Bug fixes
Fixed UpdateManagerSvc setting of remote pointer, !1619 (@clemenci)
When a client registered to a condition that is generated by another object (algorithm, tool, ...), if they were not initialized in the right order, the target pointer in the client was not updated.
Fix gcc8 false positive warning in tar read/write implementation, !1545 (@graven)
Fix HltPackedDataDecoder regression from future merge, !1574 (@apearce)
LinksByKey: linkReference already pushed back at line 96, !1573 (@jihu)
This fix should not effect any physics performance as this redundant LinkReference is not referenced by others
Fix some minor problems, !1554 (@clemenci)
- DEBUG printout in EventClockSvc and UpdateMgrSvc (after move to
Gaudi::Property
)
- Fixed wrong configuration of Git CondDB overlays with IOVs
- Fixed possible
nullptr
dereferencing
PackedTrack: add FPE protection for States with q/p == 0, !1553 (@jonrob)
See discussion at lhcb/Brunel!540
LoKiMC: add missing MCEngine::context method, !1549 (@ibelyaev)
See discussion in !1528
Fix an issue with LHCb::Vector::Mem::Iterator constructor highlighted by gcc8 warning, !1532 (@jonrob)
EventPacker - Add some fixes for unchecked StatusCodes, !1530 (@jonrob)
RichDet - Fix some untested StatusCodes, !1525 (@jonrob)
Protect 32-bit overflow when building rawBank word in CaloFillRawBuffer, !1529 (@deschamp)
ByteStreamTests - Avoid undefined behaviour sanitizer error due to misaligned writes, !1523 (@jonrob)
Fix undefined behaviour sanitizer error in RawEventDump, !1522 (@jonrob)
RichFutureDAQ - Add default initialisation to version enum, !1518 (@jonrob)
LHCbMath - Fix undefined behaviour sanitizer warnings from Lomont.cpp, !1512 (@jonrob)
When reading from the GitCondDB, handle properly commits with empty taggerdate, !1473 (@bcouturi) [LHCBPS-1803]
Fix FileStager errors triggered by LCG_94, !1453 (@bcouturi)
The test error is due to a SEGFAULT in Tools/FileStager/src/Component/StagedIODataManager.cpp.
- Replace xrd with xrdfs
- StagedIODataManager: add property to disable PFN warning (warning disabled by default) and modernize properties.
Add enum34 to PYTHONPATH before using pyqt5, !1446 (@bcouturi)
enum34 is needed to use pyqt5 with python < 3.4
Fix persist reco checksum calculation for pairs, !1433 (@rmatev)
Cherry picked from lhcb/LHCb!1432 on 2018-patches
Code modernisations and cleanups
EvtStoreSvc now has ForceLeaves property, !1655 (graven)
Modernize DeterministicPrescaler, !1633 (@graven)
Moved VectorSOAMatrixView header to the Rec project as it depends on headers that are only there, !1643 (@sponce)
Make EventDataSvc configuration forward & backward compatible, !1634 (@graven)
Do not hardwire the assumption that the TES is of type EventDataSvc.
Do not assume registry is present, !1635 (@graven)
Prior to derefencing DataObject::registry(), first check that the return value is not a nullptr
Fixed missing headers, !1636 (@sponce)
port ApplicationVersionFilter to Gaudi::FilterPredicate, !1632 (@graven)
Fix -Wnon-virtual-base warning, !1622 (@graven)
Exposed by gaudi/Gaudi!808
Modernize ICaloFutureShowerOverlapTool, !1618 (@cmarinbe)
Change method signature to pass clusters by reference instead of pointer and introduce tagged_bool
for documentation. Closes #17.
remove SVN/CVS $Id$, !1617 (@graven)
use C++14 4-iterator version of std::equal where appropriate, !1616 (@graven)
Fix One Definition Rule violations, !1600, !1614, !1615, !1641 (@graven)
Use constexpr and C++17 inline variables to fix violations of the One Definition Rule
replace EnumToType by parse to match the requirements of Gaudi::Property, !1613 (@graven)
Remove LHCb::State::clone(), !1607 (@graven)
State is a concrete, final class, and does not inherit from anything, and nothing can inherit from it. So there is no reason to provide a (non-virtual) clone method.
prefer GenericAgent over IDataStoreAgent implementation, !1599 (@graven)
use Property constructor which accepts updateHandler, !1596 (@graven)
requires Gaudi v30r4 or later (specifically gaudi/Gaudi!769)
use IDataManagerSvc::GenericDataStoreAgent instead of LHCbOutputStreamAgent, !1595 (@graven)
Prefer IDataManagerSvc::GenericDataStoreAgent which allows the use of a lambda over a dedicated implementation of the IDataStoreAgent interface
use std::any instead of ranges::v3::any, !1598 (@graven)
HLTControlFlowMgr: use std::in_place_type as intended, !1594 (@graven)
fully qualify enum values, !1586 (@graven)
replace boost::{filesystem,regex} with std::{filesystem,regex}, !1580 (@graven)
Workaround for issue in cppyy with templated methods without arguments, !1577 (@clemenci)
needed for gaudi/Gaudi!786
use boost::callable_traits in SynchronizedValue, !1571 (@graven)
Remove packages list and non-existent QMTest from LHCbSys/CMakeLists.txt, !1569 (@cattanem)
- Packages list was needed for SVN, no longer necessary with Git
gaudi_add_test(QMTest QMTEST)
was remnant of a previous cleanup
prefer std::string_view over boost::string_ref, !1567 (@graven)
Suppress warnings about missing Prs and Spd in CaloFuture2Dview monitoring base class, !1565 (@cattanem)
Convert DataObjectHandleBase instances to strings, !1563 (@apearce)
Input and output location properties set with str
will be implicitly cast to DataObjectHandleBase
, so when the property is subsequently retrieved and passed to something expecting str
, it must be converted.
Prevent spurious "unchecked status code" error, !1555 (@clemenci)
Fixes for gcc8 support, !1462 (@bcouturi)
Silence gcc8 false positive warning, !1548 (@graven)
Fix gcc8 trajpoca warning, !1547 (@graven)
fix gcc8 warning in MDF_ROOT_dll.cpp, !1546 (@graven)
CaloUtils/ClusterFunctors: Return void from Exception instead of StatusCode, !1540 (@cattanem)
Modernize TESMerger, !1539 (@graven)
- Port to Gaudi::Functional
- adapt python configurable accordingly, as this implies a change from string properties to DataHandleBase properties
- Make it more generic:
- use
ValueType::clone()
if it exists, otherwise use new ValueType( value )
- automatically switch between
Container::insert
(in case of eg. KeyedContainer) or Container::push_back
(in case of eg. std::vector)
- if output container type has a
reserve(size_type)
method, use it
- Add back the instantiation of a merger of
KeyedContainer<Track>
use class template argument deduction for greater/less, !1537 (@graven)
use class template argument deduction for lock_guard, !1536 (@graven)
Suppress some UB sanitizer errors from LbAppInit string hash, !1519 (@jonrob)
Fix misleading documentation, !1503 (@erodrigu) [LHCBPS-313]
Add final and remove destructors from several event model classes, !1502 (@graven)
modernize MultiIndexHitContainer, !1494, !1442 (@graven)
- prefer constexpr
- prefer deduction guides
- remove debug data from NDEBUG build
- use std::apply to streamline addHit
Add make_span overload for vector::{const_}iterator pair (provided T!=bool), !1493 (@graven)
Prefer template deduction guide over LHCb::make_array, std::make_pair, !1477 (@graven)
disable -Wsuggest-override from root,boost,xerces in lb-dev builds, !1464 (@pseyfert)
NB: full project builds are not affected because the LHCb top level CMakeLists (not shipped to lb-dev directories) has these fixes.
RICH cleanup using clang-format, !1455, !1460, !1480 (@jonrob)
Application of clang-format to RICH sources to apply consistent style.
Rich - Use nested namespaces and 'if constexpr', !1454 (@jonrob)
Adopt a few c++17 features
prefer C++17 structured bindings over std::tie in assignment, !1445 (@graven)
remove code conditional on __cplusplus less than C++17, !1443 (@graven)
PiecewiseTrajectory::{append,prepend} now take std::unique_ptr as argument, !1436 (@graven)
Minimize the ICaloClusterization interface to the one method required, !1431 (@graven)
make Calo{Cluster,Digit} final, remove clone, !1428 (@graven)
Changes to tests
Update newparts test to follow update to chi_c1(1P) mass in 2018 PDG, !1640 (@cattanem)
Follows LHCb!1639
Track_v2: more stringent unit tests, !1593 (@graven)
Better reporting of failed counters, !1551, !1556 (@sponce)
Skip virtual memory check in mergesmallfiles test when running sanitized builds, !1520 (@jonrob)
Virtual memory usage much higher when running sanitized builds, so check is useless.
Disable TestFastMath test under sanitizers as timings are skewed, !1511 (@jonrob)
Add tests to check L0DU can be decoded in Run1 and Run2 data, !1488 (@cattanem)
Cherry-picked from lhcb/LHCb!1486 on run2-patches
make sure we create newref file when there are only counters differences, !1444, !1474 (@sponce)
It was so far not the case, making it difficult to update ref files when only counters where modified.
Fix tests using the SQLite DDDB, broken by !1439, !1440 (@cattanem)
Cherry picked from lhcb/LHCb!1437 on run2-patches
2018-08-06 LHCb v50r1
This version uses Gaudi v30r3 and LCG_93 with ROOT 6.12.06.
<
p>
This version is released on master
branch.
Built relative to LHCb v50r0, with the following changes:
New features
LoKiGen: add several new symbols for specific status of HepMC-particles, !1403 (@ibelyaev)
Cherry-picked from lhcb/LHCb!1399 in run2-patches
From ReDecay flag for MCParticle, !1193 (@dmuller)
Cherry picked from lhcb/LHCb!1186 in 2018-patches
LoKiCore : add new class Polarization, !1190 (@ibelyaev)
Cherry-picked from lhcb/LHCb!1188 in 2018-patches
Enhancements
Make RawBanks returned from RawEvent 'const', !1411 (@graven)
- which implies changing the return type of LHCb::RawEvent::banks,
from std::vector<RawBank*>
to LHCb::span<const RawBank*>
and fixing the fall-out
- add
const
in lots of places
- prefer
auto
over explicitly specifying the type, to make the
code less dependent on concrete types, and more on behaviour
Minor updates to Kernel/PartProp, !1406 (@ibelyaev)
Cherry-picked from lhcb/LHCb!1400 in run2-patches
- increase a bit precision for mass/lifetime printouts
- allow specify negative values for lifetime (being intepreted as width in GeV). This is very useful for redefinition of the particle properties, and prevents bugs
- print all redefined properties
- add new qmtest
- regenerate reference file
LoKiCore.functions: add (move from LoKiArrayFunctors) function PDGM, !1398 (@ibelyaev)
Cherry picked from lhcb/LHCb!1397 on run2-patches
Introduce VPFullCluster class, !1396 (@rquaglia)
Introduction of a second VPClass named VPFullCluster
which includes the vector among the private members.
Needed to later fix the issue of tracking efficiencies for TDR->master merge.
Propagate XGBoost-based IsPhoton separation variable, !1390 (@deschamp)
Cherry-picked from lhcb/LHCb!1384 on 2018-patches
LHCbMath: add summation operators for WStatEntity, !1391 (@ibelyaev)
Cherry picked from lhcb/LHCb!1385 on run2-patches
LoKi::Dicts::CutValOps : add few more overloads for __switch__
method, !1392 (@ibelyaev)
Cherry-picked from lhcb/LHCb!1386 on run2-patches
Scifi fix assert, !1382 (@jvantilb)
- Changed any_of to none_of in assert (none_of is better than all_of in case the range in empty).
- Removed obsolete comment
LoKiGen: add more symbols : GMINTREE, GMAXTREE, GSUMTREE & GMULTTREE, !1376 (@ibelyaev)
Cherry picked from lhcb/LHCb!1375 on run2-patches
Phys/LoKiGen
: add new symbols
GMINTREE
: e.g. "GMINTREE( GPT , 'mu+' == GABSID) > xxx * GeV"
- it can mimic certains selection/tripping criteria and also L0Muon
trigger
GMAXTREE
GSUMTREE
: e.g. "GMINTREE( GPT , ( 'pi+' == GABSID ) | ( 'K+' == GABSID ) ) > xxx * GeV"
- it mimics some popular stripping/Hlt2 cuts used by Charm and BnoC groups
GMULTTREE
: "GMULTTREE( GPT , ( 'mu+' == GABSID ) ) > xxx * GeV * GeV "
- it mimics L0DiMuon-TOS for eg. B-> ( J/psi -> mu mu ) X decays
Scifi add version property for decoding, !1364 (@jvantilb)
The Gaudi::Property DecodingVersion
is added to FTRawBankDecoder
. The user can now decide which decoding version is needed. In case the decoding version is not compatible with the version in the raw banks, an exception is thrown.
Fixes a problem introduced in MR !1326, which causes a crash for multithreading.
Remove header words from number of cluster estimate, !1363 (@jvantilb)
The header word is now not counted anymore in the estimate for the number of FTClusters.
New and faster decoding versions, !1326 (@jvantilb) [LHCBSCIFI-101]
Requires MR[!10](https://gitlab.cern.ch/lhcb/LHCb/merge_requests/10) from SIMCOND.
Introduced new raw data format (v4 and v5). The new data format has no local headers for each SiPM anymore. This improves the decoding speed a lot. Also new is the partitioning (5 banks per quadrant instead of 1) and a global truncation header.
For backwards compatibility, the decoding can still decode the old data formats (v2 and v3). The difference between v4 and v5 is that in v5 the adjacent clusters (that are split by the FE) are merged back and that very wide clusters are recovered into many adjacent clusters. These extra operations are not done in v4, which makes it a little bit faster at the costs of a reduction in tracking performance (possible these extra operations can be done on the TELL40 in the future). The encoding works only for the v5 format. To run the v4 decoding on v5 data, a flag is introduced in FTRawBankDecoder
(ForceVersion4
).
At same time, the container format for the FTLiteClusters is changed from FastClusterContainer to MultiIndexedContainer.
New parameter in CaloDataType, !1358 (@vchekali)
Add isPhotonXGB
parameter, to be used by CaloHypoEstimator to store result of new photon/pi0 separation classifier.
Cherry picked from lhcb/LHCb!1348 in 2018-patches
Rich Pixel Cluster Optimisations, !1331 (@jonrob)
Various improvements to the RichPixelCluster class.
- Specific optimisation for size 1 clusters, which are the most common use case. heap allocations are now completely avoided in this case.
- Various speed improvements to the builder classes, again mostly based around avoiding heap allocations as far as possible.
Add Track move constructor with key, !1347 (@sstahl)
Add bulk method for computing global positions for PD clusters., !1330 (@jonrob)
update L0 processor data handling, !1343 (@deschamp)
Propagate the !1336 changes to master (except changes related to L0 monitoring - not needed for future)
L0DU :
- better handling in case of different sources for the same L0ProcessorData in L0ProcessorDataDecoder
L0Calo :
- fix minor bug (wrong format) in L0Candidate.h when building L0Processor data for SpdMult and SumEt from the L0Calo rawBank. The bug has no impact on default processing as L0ProcessorData are not build from the L0Calo rawbank but directly from the emulator.
- L0CaloCandidatesFromRaw : produce (empty) L0ProcessorData in case there is no corresponding L0 candidate + add the possibility to plug/unplug processor data 'fiber' (e.g. for L0pi0s/HC switching)
RichDAQ - Cleans up a number of HPD/PMT specific definitions, !1329 (@jonrob)
Prepare Tagger enum for latest Flavour Tagging Tunings, !1320 (@kheinick)
Add separated B2OC/B2CC tunings for OS taggers
Same as merge request lhcb/LHCb!1310 on 2018-patches
Use local instances of MagneticFieldGridReader in MagneticFieldSvc, !1314 (@jonrob)
Fixes a minor annoyance with the MagneticFieldSvc
which is messages sent from it were not respecting changes made to the message formatting. This was due to the timing of when the Reader instances where constructed. This MR fixes this by instead of having a single cache instance, use local instances instead. As the reader has no cached state, and is cheap to construct, this has no overhead.
Minor refactoring of GitCondDB Python helpers, !1316 (@clemenci)
cherry-pick of the part of lhcb/LHCb!1300 relevant for the master branch
Minor changes to RichTrackSegment::StateErrors constructors, !1312 (@jonrob)
Add slc6-gcc7 to PlatformInfo.cpp, !1292 (@clemenci)
RichDet Updates, !1288 (@jonrob)
- Move
rich()
accessor from MaPMT
specific to base DePD
class.
- Convert some
DePD
members from double
to float
to reduce memory footprint and better match the types as used downstream.
- Increase the max number of samples in
Rich1DTabFunc
.
add RawBank::range() which return a span, !1260 (@graven)
Separate control-flow / work in FTRawBankDecoder, !1214 (@graven)
- factor out control flow in two functions,
reverse_each_module
and for_each_quadrant
.
reverse_each_module
takes two iterators, and finds the partitions corresponding to a module, and the reverses each of these partitions partitions
for_each_quadrant
takes a container and a container of offsets which defines partitions of that container. It calls, for each parittion, the callable with the first,last iterator of these partitions
- replace the vector of partitionpoints with a boost::container::static_vector to avoid allocating memory on the heap
- add some lamdas which bind common function arguments, so they don't have to be repeated...
- move the verbose printout out of the main decoding loop (avoiding repeated checks on msgLevel) and instead provide a single loop which dumps the created clusters
Add Deuteron ProbNN definition, !1232 (@jonrob)
Cherry picked from lhcb/LHCb!1230 on 2018-patches
Introduced FT/UTDAQLib containing FT/UTDaqHelper code, !1219 (@sponce)
This is abstracting and publicizing small parts of the raw bank decoding for the FT and UT (namely the cluster counting) so that it can be used by the GECFilter
Reproducible MDF content, !1217 (@rmatev)
Ensures strict reproducibility of MDFs. It has no observable effect except for helping the testing in Moore.
- Initialize padding bytes in HltSelRep event model
- Reset packed data checksums on every event (much more useful for testing with streaming).
- Add a script to dump the bytes of the raw events, decompressing the
DstData
bank as needed.
Propagated from MR !1032 in 2018-patches
Add a constant function to access UT Sectors, !1163 (@mhadji)
PrStoreUTHit
was using findSector
for each ut clusters, this function is a usual logn lower bound on a vector<pair<key, sector>>
a second std::vector<sector*>
was already there
and created with an almost good order to be able to create some offsets during DeUTDetector::initialize
and therefore doing an access with an almost constant complexity
Bug fixes
Kernel/LHCbMath: fix stupid typo, !1412 (@ibelyaev)
Fix a very stupid typo in PS2DPolSym::integrateY
(Thanks to @tovsiann )
Cherry picked from lhcb/LHCb!1409 on 2018-patches
Kernel/PartProp: modify LHCb::ParticleID to solve the problems introduced by !1187, !1362 (@ibelyaev) [LHCBPS-1796]
- all quantities are calculated on flight. It definitely causes CPU penalty, but actually all "expensive" functionality is used relatively rarely (e.g. decay-descriptors) and always in conjuction with really CPU expensive code - like filtering of decays according to decay descriptors. Therefore I think in reality this CPU penalty is not vizible and not so important.
- it is tested versus the reference code by @philten for all PIDs from Particle Property service + all "exceptional" PIDs, explicitly coded in
ParticleID
class. The results are identical.
VectorConfiguration: add missing and include, !1333 (@flemaitr) [LBCORE-1587]
PackParticlesAndVertices - Preserve versions, !1322 (@jonrob)
Same as merge request lhcb/LHCb!1313 on 2018-patches
Fix persist reco packing for DataType 2018, !1306 (@rmatev)
cherry-picked from lhcb/LHCb!1304 on 2018-patches
Reverted old default behaviour of CondDBUI.Admin.MakeDBFromFiles, !1270 (@clemenci)
Also in 2018-patches, see lhcb/LHCb!1269
(cherry picked from commit 1a23fe29d4e55caf0d016a580d08cfe4ead71979)
Add work around to RichPID unpacking to correct incorrect data version., !1251 (@jonrob)
Cherry-picked from lhcb/LHCb!1245 on 2018-patches
Fix AWM functor., !1234 (@malexand) [LHCBPS-1778]
Cherry-picked from lhcb/LHCb!1227 on 2018-patches
LoKiCore: Fix for LHCBPS-1776, !1224 (@ibelyaev) [LHCBPS-1776]
Same as merge request lhcb/LHCb!1222 in 2018-patches
Fix 2017 default time, !1221 (@cattanem)
The previous value was beyond the end of the last fill of 2017, when the magnet had already been switched off.
Propagated from lhcb/LHCb!1220 on 2018-patches
(cherry picked from commit 28665b55abeb8a2c6c81161d5a23dad167959bc3)
Fixed handling of ThreadPoolSize when running MiniBrunel with default Gaudi scheduler, !1203 (@sponce)
(cherry picked from commit d4b52aa45cf5c024b6c5d5d93b8cc196b66bf3bb)
Fix uninitialize members on CircleTraj, !1192 (@mhadji)
https://coverity.cern.ch/reports.htm#v13572/p10041/fileInstanceId=763988738&defectInstanceId=396412786&mergedDefectId=98206
https://gitlab.cern.ch/lhcb/LHCb/merge_requests/1089#note_995632
Code modernisations and cleanups
prefer std::optional over boost::optional, !1421 (@graven)
Prefer C++17 std::{optional,string_view} over boost::{optional,string_ref}, !1416 (@graven)
remove unused code from createODIN, !1417 (@graven)
Remove unused private typedefs, !1415 (@clemenci)
exposed by change of warnings hiding default in gaudi/Gaudi!408
prefer std::variant over boost::variant, !1410 (@graven)
XmlTools: prefer c++17 variant,string_view over boost variant,string_ref, !1408, !1414 (@graven)
remove unused ConfigDBAccessSvc, the backend using Coral, !1401 (@graven)
Prepare for gaudi/Gaudi!709 and gaudi/Gaudi!577, !1387 (@clemenci)
- use old PluginService version for Functor Cache if Gaudi uses the new version
- modified custom property parsers to understand (optionally) quoted strings
Changed MDF compression to use ROOT ZLIB instead of the default, !1380 (@clemenci)
In ROOT 6.14 the default changed from ZLIB to LZ4, and this change
ensure reproducibility across versions of ROOT.
LoKiCore::Size: take advantage of the optional interface, !1368 (@graven)
Instead of explicitly duplicating logic already implemented inside boost::optional
, use the interface of optional
as it is supposed to be used.
remove use of deprecated std::{binary,unary}_function, !1359 (@graven)
std::binary_function
and std::unary_function
are deprecated in C++14, and have been removed in C++17.
Make CaloClusterizationTool const, !1295 (@cmarinbe)
Propagate changes in lhcb/Rec!1036 to ICaloClusterization
.
Modernize DetDesc, !1264 (@graven)
- remove inheritance from CommonMessaging in DetectorElement. It is not used (due to the fact that the automatic 'name' prefix in the output is not very usefull for DetectorElements.
- prefer boost::string_ref over std::string in interface to avoid creating temporary strings
- prefer compiler generated copy constructor
Adapted transport service to move to new counters, !1233 (@sponce)
Modernize MuonDet, !1263 (@graven)
- avoid copying
std::vector
unnecessarily
- prefer boost::lexical_cast over sprintf/sscanf
- prefer std::accumulate over explicit loop
Modernize FSRNavigator, !1262 (@graven)
- avoid making spurious string copies
- prefer inheriting constructors
RawEvent::Bank: Add move c'tor and assignment and deprecated copy c'tor and assignment, !1261 (@graven)
Deprecate old copy c'tor and assignment, as they are ill-defined (they result in both the current and 'old' object to have identical m_owns
, which in case it is set to true
will result in a double delete).
Instead, add move c'tor and move assignment
Fix CondDBBrowser runtime and drop Qt4, !1244 (@clemenci)
Propagated from lhcb/LHCb!1241 on 2018-patches
- cce24d06 Add runtime dependency on libxkbcommon.so
- 005a884b Reformatted CondDBBrowser code with yapf
- d2722bc9 Drop support for PyQt4 in CondDBBrowser
- 1e4147c1 Update "about" dialog
Changes to tests
Hide eoslhcb SE directories from test comparisons, !1349 (@cattanem)
Add example script and test to convert (x)Digi file into MDF, !1325 (@chasse)
2018-03-22 LHCb v50r0
This version uses Gaudi v30r2 and LCG_93 with ROOT 6.12.06.
<
p>
This version is released on master
branch. The previous release on master
branch was LHCb v43r1
.
This release includes the merge to master
of the future
branch, done in November 2017 - see !989 commit history for details of future
changes that were included
This release also contains all the changes that were made in LHCb v44r0
(released on 2018-patches
branch, see corresponding release notes), as well as the additional changes described in this file.
New features
Add UnpackRawEvent, !1102 (@graven)
Algorithm that 'unpacks' LHCb::RawEvent
into a set of vectors of pointers to LHCb::RawBank
, one vector for each speficied BankType
.
Introduced VPLightClusters, !1069 (@sponce)
Added possibility to use the newly added HLTEventLoopMgr in Gaudi, !1063 (@sponce)
Allow to set the ThreadPoolSize in LHCbApp, !1059 (@sponce)
Add LHCb::span, LHCb::make_span to STLExtensions, !1057, !1075 (@graven)
- LHCb::span is a small facade to GSL::span to ensure that the boundary checking of GSL::span is only enabled in debug builds.
- add LHCb::make_span to avoid having to specify more types than strictly necessary
- add a small unit test to test all features in STLExtensions.h
Add front
and back
freestanding functions for gsl::span, !1148 (@graven)
Add Similarity_2_5, !938 (@sstemmle)
Enhancements
Add support to RICH classes for complete SIMD vectorisation, !933 (@jonrob)
Improved Support for SIMD in RichDet, !972 (@jonrob)
Allow more flexibility in the template types used by the SIMD Rich ray tracing utilities, !1108 (@jonrob)
Rich decoding optimisations, !1137 (@jonrob)
- Fork the decoded data format for the 'future' branch, and update this converting the
std::map<A,B>
based model to std::vector< std::pair<A,B> >
.
- Update the decoder to adapt to the changed data format.
- Various other small optimisations, to avoid temporaries and memory management overheads.
Rich performance updates, !1118 (@jonrob)
- More optimisations to
RichDet
to improve the MaPMT
CPU performance as required by the reconstruction.
- Fork the
RichSmartID
tool interface for the future branch and add a new method to support SIMD coordinate transformations.
- Extend the MC truth utilities to provide access to the digit histories.
- Move from a private implementation inside the quartic reconstruction algorithm a new utility class that caches SIMD mirror information.
Rich - Small optimisations, !1061 (@jonrob)
- RichDet - Cache more data in PMT classes to avoid multiple pointer dereferences and associated cache issues.
- RichDet - Improved (forward) support for 64 bit RichSmartID (developed in a branch for phase 2 upgrade studies).
- TrackSegment - Various small improvements, like use float not double for cached average photon energy.
Rich - Convert interfaces to float + Minor bug fixes and improvements, !1009 (@jonrob)
Replace doubles with floats in FTDet, !1113 (@jvantilb) [LHCBSCIFI-84]
Added functionality to DeFTMat to improve speed in PrFTStoreHit, !1112 (@jvantilb)
Faster decoding of FTRawBankDecoding, !1079, !1111 (@jvantilb) [LHCBSCIFI-108]
Removing sorting and allocating memory for FTLiteClusters.
- Allocating memory: about 15% reduction in CPU time
- Removal of old sorting: about 50% reduction in CPU time
- Adding back of custom sorting for PrFTHits: adds 10% increase in CPU time (about 10 ms, while at least 80 ms can be removed in PrStoreFTHits).
Update FTRawBankDecoder to deal with large clusters, !1039 (@sesen) [LHCBSCIFI-100,LHCBSCIFI-93]
Change trajectory hierarchy to have a templated version, !1089 (@mhadji)
Add a specific function for Track class to add states already sorted, !1060 (@mhadji)
Extend TrackFunctors to also accept references to objects, !1047 (@graven)
Enable vectorization of updateTransport by horizontal vectorization of MagneticFieldGrid methods, !1007 (@dcampora)
Changes required for kalman_no_ref_nodes, !998 (@dcampora)
- Added operator<< to Iterators.
- Added copy from std::array to TrackSymMatrix.
Avoid temporary copies in RecVertex, !1072 (@graven)
Pass span objects by value, !1064, !1078 (@sponce)
Various cherry-picks from the TDR branch, !1056 (@sponce)
Bug fixes
OdinTypesFilter - Fix GCC7 Uninitialised variable warning, !1128 (@jonrob)
BankKiller - Add default initializer for local variable to suppress warnings, !1125 (@jonrob)
Fix usage of ThreadPoolSize parameter in Hive mode, !1070 (@sponce)
Fix missing return in decodeL0DU, !1044 (@rmatev)
Fix segfaults in case of out-of-order references, !957 (@raaij)
Fix an untested StatusCode, !1001 (@cattanem)
Code modernisations and cleanups
Modernize ConfigCBDAccessSvc, !1165 (@graven)
- use dedicated type for read-only/read-write property
- use string_views::to_string instead of equivalent free standing implementation
- use boost::optional as return value instead of passing an uninitialized T by reference as INOUT argument, and returning a bool
- call
file()
less often / less implicitly, and instead assign the return value to a variable, keeping it alive in the local scope
Modernize LHCbKernel, !982 (@graven)
- do not provide default arguments in derived functions, as the caller only (has) to see the base class definition,
- prefer decltype(auto) over std::result_of<...>::type
- make binary operators friend functions to make them left-right symmetric wrt. implicit conversions
- prefer cmath over math.h
- qualify single-argument c'tor as explicit
- fully qualify enum values
Fixed usage of createODIN in read-split.py, !1003 (@sponce)
Modernize Tr/LHCbTrackInterfaces, !983 (@graven)
- prefer struct for interfaces
- remove CVS/SVN identifiers
- cleanup whitespace
Use std::unique_ptr in Track, !1152 (@graven)
(cherry pick from TDR to master)
Generalize Track{,FitResult} member function signatures, !1147 (@graven)
- Use
span<T>
instead of explicitly specifying container types in:
Track::addToStates,
Track::addToLhcbIDs,
Track::addSortedToLHCbIDs,
Track::addToMeasurements,
TrackFitResult::addToMeasurements
- Put some asserts in the right place
Modernize TrackEvent, !951 (@graven)
- add
final
qualifiers to Chisquare and Track
- remove CVS identifiers
- prefer
using
over typedef
- rename
middle
to the more appropriate pivot
- instead of replicating the
std::set_intersection
code to count overlaps, use std::set_intersection
and customize it by using a counting_inserter
which only counts, and does not insert...
Removed Tr::TrackVectorFit::FitTrack, !939 (@dcampora)
As part of ths, refactored the Vector SOA containers into three files:
- VectorSOAStore: Stores the data in an aligned and contiguous manner. New store "backends" can be created if the initial storage is exhausted.
- VectorSOAMatrixView: Some generic Matrix views, to be used over the storage.
- VectorSOAIterator: Store backend-aware iterators.
Modernize TrackFunctor (replace functor structs with lambdas), !1052 (@graven)
Replace stepTowardPoca member function with standalone function in anonymous namespace, !1041 (@graven)
Finish AlignTraj migration, !1116 (@graven)
Avoid explicit temporary which was needed for ROOT <= 5.18
RichDet MaPMT class clean up, !1123 (@jonrob)
- Remove redundant code implementing features once considered for the upgrade but now no longer required.
- Small improvement to SIMD
DeRichPMT::detectionPoint
method, adding a native SIMD version
Remove RICH interface for MCTruth tool removed in lhcb/Rec!818, !1027 (@jonrob)
Modernize VisPrimVertTool, !1082, !1083 (@graven)
prefer STL algorithms over explicit loops
Modernize BcmDet, !1074 (@graven)
Modernize CaloDAQ, !1058 (@graven)
- factor out common code
- prefer enum over std::string when there is a finite, a-priori known set of allowed values
- use switch on enum value instead of if-then-else- chain of std::string
- prefer Gaudi::Property
Adapted L0DU configuration to L0DUDecoder, !1000 (@sponce)
Modernize L0Event, !984 (@graven)
- prefer constexpr over static const
- prefer '\n' over std::endl
- remove non-ascii characters
- prefer re-using GaudiUtils::ostream_joiner
- fix permission bits on source files
Modernize DigiEvent, !985 (@graven)
- fix file permissions
- remove redundant destructors
Modernize Particle2MCLinker, !1131 (@graven)
- use boost::variant to store the parent
- use boost::apply_visitor to dispatch to the various parent methods
Modernize MCTrackInfo, MCProperty, !1077 (@graven)
- make it possible to construct MCTrackInfo without it using the event service implicitly
- deprecate old MCTrackInfo destructor which takes event service and message service as arguments
- add const, final
Use DataObject{Read,Write}Handle also for AnyData, !1076 (@graven)
Dropped unused wrapper on ICounterSvc in Loki, !1179 (@sponce)
Avoid dynamic_cast in LoKi::HDRFilter, !1051 (@graven)
Fixed hack in LokiFunctors allowing to disregard UT, !999 (@sponce)
avoid spurious copy of functor, !1071 (@graven)
LoKiCore/src/HybridBase.cpp: Remove unused writeLines function, !943 (@cattanem)
Use using gsl::span
and span
instead of repeating gsl::span
, !1167 (@graven)
Remove redundant includes, !1166 (@graven)
Use detected_or idiom to decide if class has a valid size() method, !1150 (@graven)
Speed up GOD processing, !1149 (@graven)
prefer auto in GOD generated code, !1055 (@graven)
prefer std::make_unique, !1073 (@graven)
Fully qualify enum values, !1062 (@graven)
Remove obsolete, unused StaticArray, !1048 (@graven)
Remove dependency on obsolete packages, !1037 (@clemenci)
- do not use ThreadGaudi.h
- do not declare dependency on GaudiMTTools
Removed use of deprecated factories, !992 (@clemenci)
- replaced
DECLARE_*_FACTORY
with DECLARE_COMPONENT
- made constructors public
- removed some unnecessary disabling of copy constructors
- removed some trivial destructors
See gaudi/Gaudi!420
Replace invoke
implementation with Gaudi::invoke, !925 (@graven)
Use Gaudi::tagged_bool instead of version in LHCbKernel, !1067, !1068 (@graven)
Adapted to change in logical comparison between StatusCodes, !1107 (@clemenci)
Forward compatibility for gaudi/Gaudi!524, !981 (@graven)
- replace forward declaration of IRegistry with #include "GaudiKernel/IRegistry.h"
- make DeRichSphMirror code oblivious to the actual type stored inside IRegistry
Forward compatibility for gaudi/Gaudi!514, !1090, !1114 (@clemenci)
Forward compatibility for gaudi/Gaudi!474, !935 (@graven)
Hide compose in local namespace to rule out a clash with GaudiKernel/compose.h, !965 (@graven)
Fix class/struct mismatch introduced by gaudi/Gaudi!474, !961 (@cattanem)
Prevent gcc 7.2 warning about macro "major" legacy definition in sys/types.h, !1004 (@clemenci)
Changes to tests
Updated read-split-raw test to follow changes from future-master merge, !1038 (@cattanem)
Fix the HltDAQ.sel_reports_stripper test by obtaining the correct locations from the DecoderClass
instances, !1002 (@sponce)
Dropped HltVertexReports check in tests for raw bank format, !1005 (@sponce)
Improvements to test regex replacements, !952 (@clemenci)
- hide path to DBASE/PARAM
- minor clean up
2018-03-06 LHCb v44r0
This version uses Gaudi v29r3 and LCG_93 with ROOT 6.12.06.
<
p>
This version is released on 2018-patches
branch.
Built relative to LHCb v43r1, with the following changes:
Updates for CondDB
Ignore CALIBOFF if we use Git CondDB, !1095 (@clemenci) [LHCBCNDB-667]
Propagate LHCbApp.CondDBtag based on .Simulation, !1094 (@rmatev)
This avoids always adding two entries in CondDB.Tags, one for LHCBCOND and one for SIMCOND.
Add 2018 DataType, !1086 (@rmatev) [LHCBCNDB-667]
Fix the default CondDB tag for 2017, !1085 (@rmatev)
The latest tag for 2017 data type is cond-20170724, which we were using at the end of the year.
Set default initial time for 2017 at end of fill 6417, !1022 (@cattanem)
Update to latest LHCbCond global tag for 2015: cond-20171211, !1017 (@cattanem)
Update default DDDB tags to pick up LHCBCNDB-659, !915 (@cattanem)
Name Datatype
dddb-20171030 2010
dddb-20171030-1 2011
dddb-20171030-2 2012,2013
dddb-20171030-3 2015,2016,2017
Fixes to handling of Turbo data
Correct wrong comparison in TurboConf, !1154 (@apearce)
We were applying configuration to 2015, 2016, and 2017 data, but only should have been applying it to 2015 and 2016, else Tesla will fail running over 2017 data.
Do not try to unpack Turbo for non-Turbo jobs, !1136 (@apearce)
Support processing of 2016 Turbo MC, !1135 (@apearce)
See discussion in LHCb!1132 for motivation.
Link DAQ/RawEvent to Trigger/RawEvent for 2015 and 2016 Turbo data, !954 (@apearce)
New features
- GaudiConf: add "light" version of dst-dump script from Bender, !1133 (@ibelyaev)
- some functionality can't be ported in an easy way, in particular, access to grid files, LFN -> PFN conversion, automatic setting of DDDB/CondDB-tags, etc...
Enhancements
Improve FileStagerSvc and add a test, !1160 (@raaij)
- Add ssh capability to FileStagerSvc (expert use)
- Remove capability to copy LFNs directory using lcg-cp and add fix a property.
Extend standalone TCK utility, !1031 (@rmatev)
This will streamline the workflow with the new TCK/HltTCK package in git.
- Create CDB from file records
- Add option to avoid reformatting when converting to CDB
LHCbMath: fix&improve several 2D-models, !1065 (@ibelyaev)
LHCbMath: refactor the code for 2D-splines, !1093 (@ibelyaev)
LHCbMath:, !1008 (@ibelyaev)
- rewrite 2D/3D-interpolation functions for histograms
- replace "parabolic" with "2-parabolic" interpolation for n_bins>=4
LHCbMath: Improve parabolic interpolation for 1D-histograms, !990 (@ibelyaev)
LHCbMath, !953, !967, !971, !977, !979, !1115 (@ibelyaev)
- add generic 3D-polynomial Bernstein3D
- add positive 3D-polynomial Positive3D
Update TaggerType Enum !944 (@kheinick)
Add the RICH and Muon digit summaries (equivalent of the linkers) to the LDST output format, !1088 (@jonrob)
Added new platforms to the list of known ones in PlatformInfo, !929, !968 (@clemenci)
- x86_64-centos7-clang50-opt
- x86_64-centos7-clang50-dbg
- x86_64+avx2+fma-centos7-gcc7-opt
- x86_64-centos7-gcc7-dbg to PlatformInfo
Bug fixes
Fix DecisionBankKiller.AlwaysKeepBanks property, !1155 (@rmatev)
The property AlwaysKeepBanks
uses an update handler, which was not
"used" in the constructor.
UnpackParticlesAndVertices: add protection against segmentation fault, !1132 (@ibelyaev) [LHCBPS-1770]
Correctly use RootInTES in Particle2MCLinker, !1092 (@kgizdov)
Particle2MCLinker
was not respecting RootInTES
and failed on MDST MC. This patch makes sure DataOnDemand
type tools (like MCTupleToolReconstructed
) are configured correctly.
Fix opening a new cdb with ConfigCDBAccessSvc, !1105 (@rmatev)
This only affects the case where ConfigCDBAccessSvc(File='x.cdb', Mode='ReadWrite')
is used and x.cdb
does not exist.
Added protection in FTRawBankDecoder
against module numbers that are out of bounds, !1023 (@jvantilb).
Fix cache building of the LoKi::TES::Get functor, !948 (@rmatev)
Fixed messaging to deal with changes in gaudi/Gaudi!428, !917, !919 (@cattanem)
Code modernisations and cleanups
Mask gcc 7.3 compilation warnings from Python, exposed with LCG_93, !1158 (@cattanem)
Make forward compatible with gaudi/Gaudi!477, !941 (@graven)
Fix compile warnings in DAQ/MDF, !997 (@frankm)
Changes to tests
testvdtmath: Ignore tiny difference in vdt::fast_cossin when FMA enabled, !976 (@cattanem)
Improvements to test regex replacements, !1042 (@cattanem)
Do not rely on counter order when comparing counters, !1033 (@sponce)
Modified LHCbTest to be more resilient for changes in counters order, !1030 (@sponce)
2017-10-25 LHCbSys v43r1
This version uses Gaudi v29r0 and LCG_91 with ROOT 6.10.06.
This version is released on master
branch. The previous release on master
branch was LHCb v43r0
. This release contains all the changes that were made in LHCb v42r6
LHCb v42r6p1
and LHCb v42r6p2
(released on 2017-patches
branch, see corresponding release notes), as well as the additional changes described in this file.
Change to compiler support
As from this release, support for gcc7 is added
Note that C++17 is not yet fully supported, waiting for support from ROOT
[MR !836] Suppress legitimate -Wimplicit-fallthrough warnings from gcc7
[MR !830] Fix to allow compilation with gcc 7.1
[MR !804] Remove use of register keyword as storage classifier
New or changed functionality
[MR !861] LHCbMath: backport some developments (and fixes) from ostap-standalone
1. Fix for Lomont' next_float/next_double method. Other functors from this file were also rewritten properly.
2. Bernstein polynomials:
* improve numerical stability of polinomial division
* remove gcd (better to keep it in python using proper efficient divmod from C++)
* add functions ( splits, control polygon, convex hulls, crossing points...) that allow easy and efficient implementation of root-finding in python
3. B-spline
* improve numerical stability
* add knot insertion using Boehm's algorithm
* add functions (split, knot inserions, contorl polygons, convex hulls, crossing points) that allow easy and efficient implementation of root-finding in python
* add spline VDM approximatinon
* add spline interpolation
* add Berstein -> BSpline conversion
* make some internal algorithm "visible" and usable outside b-spline ( de Boor, Boehm, ...)
4. Add few useful functions&objects into LHCb::Math namespace
[MR !848] LHCbMath - Add AVX Guard class
Simple AVX 'guard' class that calls _mm256_zeroupper()
when it goes out of scope
[MR !793] Update default DDDB tags according to LHCBCNDB-646
Introduces new ParticleTable.txt
in DDDB with following global tags:
Name Based on Datatype
dddb-20170721 dddb-20160318 2010
dddb-20170721-1 dddb-20160318-1 2011
dddb-20170721-2 dddb-20150928 2012,2013
dddb-20170721-3 dddb-20150724 2015,2016,2017
[MR !777] New linker base class in Associators/AssociatorsBase
See LHCBPS-1742
[MR !905] Restore the default behaviour of AlgContextSvc
The behaviour was changed in Gaudi v29r0, see gaudi/Gaudi!409. This change is needed in order to be able to determine the parent of public tools during intitialize (mostly for LoKi functors).
Code optimisations
[MR !856] Update VectorClass
1. Update VectorClass
to latest version.
2. Add the missing instrset_detect.cpp
file to the library.
3. Explicitly link LHCbMath
against VectorClassLib
to pick up instrset_detect()
from there.
4. Update CPUDispatch.h
with AVX512
enums.
[MR !713] Disable Boost pool allocators
[MR !806, !823] Improve error detection & handling in TCK I/O
[MR !926] Optimize Solid{Cons,Polycone,SolidTubs}
- avoid repeated sin/cos calls
- hint the compiler to use sincos by computing sin and cos right next to each other
Bug fixes, protections and cleanups
[MR !863] LoKiMC&LoKiGen: remove (hide) possibility to access Child selector by simple indices
See LHCBPS-1745
[MR !831] Fix Coverity warning: remove unnecessary include
[MR !842] Properly initialize MuonODEData in c'tor
[MR !825] L0DUReportMonitor: Fix repetitive label reset in monitoring
Fix a missing reset that cause the histo label to be reset each event (for online monitoring purpose only)
[MR !824] Fix git create database
[MR !822] Fix test_conddbui.py
[MR !815] Avoid bad query to PropertyConfigSvc
[MR !796] Restore short-circuiting for And and Or in LoKi/Primitives.h
Fix for LHCBPS-1743
[MR !789] Augment dictionary to fix stripping cache generation
[MR !206] Check whether args were passed to AuxFunBase prior to using them in toCpp
[MR !884] Use everywhere (consistently) LHCbMath/Lomont.h
Removed from Gaudi with gaudi/Gaudi!398
[MR !888] Make sure libgit2 can be found even if LCG does not provide openssl
[MR !899] Remove Kernel/TemplatedGenVector
Now available from ROOT 6.10.x
[MR !909] Fix untested StatusCodes uncovered by gaudi/Gaudi!386
[MR !911] Truncate existing raw files when writing
Currently, if a raw file exists, it is not truncated when opened for writing. If the existing file has a larger size, the leftover bytes at the end will be left there and further reading will lead to segvs due to the corrupted file.
This MR simply adds the O_TRUNC flag to the open call and a test that verifies the correct behaviour.
[MR !916] LoKiCore fix for regression discussed in Phys!206
Monitoring changes
[MR !778] Update L0DU Bank monitor in case of Condition number exceeds 32
Update L0DURawBankMonitor to handle not-reported conditions (when number of L0 conditions exceeds 32). Only affects the online monitoring in Orwell.
Code modernisation
[MR !866] Modernize lomont
- Make constructors constexpr (again)
- Do not explicitly inhibit default constructor
[MR !858] Modernize TrackEvent
- remove virtual
specification from LHCb::Track member functions
- remove use of deprecated (and removed in C++17) std::{unary,binary}_function
- remove unneccessary include of stdio.h and functional
- change functors to be non-template classes (structs) with a templated operator() -- this avoids having to specify a type when instantiating an instance of a functor
- remove commented out old code
- avoid unneccessary statics
- simplify Track::addToStates implementation -- no need to reserve first, do not modify the argument
- optimize Track::copy -- skip resetting data to zero when it will subsequently be overwritten
[MR !851] Use gsl::span instead of bare pointers to non-owned arrays in Similarity
[MR !826] Modernize hltservices
- replace CloseListener with a generic listener implementation
- make operator bool explicit
- rename flush in close
- do not use using namespace std::
- prefer pass-by-value followed by move
[MR !847] Modernize MuonDAQ
- remove private
methods from IMuonRawBuffer interface
- add some const
in IMuonRawBuffer interface
- prefer std::array over C-style arrays
- prefer zero initialization of array over .fill(0)
- make operator<< friend, in class scope, instead of in global scope
- make static constants constexpr
- prefer inherited constructors
- prefer switch/case over if-then
- prefer range-based loops
- prefer Gaudi::Property with direct member initialization over declareProperty
- reduce scope of variables as much as possible: only declare variables at the point they can be assigned a value
- use lambda to consolidate repeated code
- simplify a few arithmetic expressions
- prefer STL algorithms over raw loops
- use a scoped guard over explicitly grouped 'set/reset' calls
- prefer std::bitset over arrays of bool
[MR !852] Clarify ownership transfer in CaloHypo::setPosition
[MR !821] Modernize LoKi Primitives
Eliminate the need for Primitives.h to include itself after some pre-processor manipulations. This is done by avoiding the dedicated specialization for the 'void' functors (i.e. the case where there is no argument). Instead, use variadic number of arguments, and make both the case with and without argument a specialization.
In addition, implement Min
and Max
in terms of the generic BinaryOp
-- which implies moving the handling of 3 or more functions into the min
and max
helpers in Math.h -- and Round
in terms of the generic UnaryOp
[MR !816] Modernize TrackParameters, TrackUse
- use constexpr if possible
- remove deprecated std::unary_function
- prefer direct member initialization
- prefer STL algortihms over raw loops
[MR !794] Modernize HltInterfaces
- avoid mutable 'digest' data members
- prefer enum class for kinds (IAlgorithm,IService,IAlgTool) instead of strings
- make binary operators friend functions
- prefer STL algorithms over raw loops
- prefer boost::string_ref over const std::string& to avoid string copies
[MR !798, !784] Modernize LoKiCore
- introduce LOKI_REQUIRES macro to simplify SFINAE constraints
- prefer typename in template declarations
- introduce generic BindBinary functor, and use it to implement
- EqualToValue
- NotEqualToValue
- LessThanValue
- LessOrEqualValue
- GreaterThanValue
- GreaterOrEqualValue
- MultiplyByValue
- SumByValue
- Minus1
- Minus2
- Divide1
- Divide2
- remove fake argument in Round::Round
- add final to help the compiler de-virtualize
- remove SVN/CVS identifiers
- simplify LoKi::AddRef
- simplify LoKi::Const
- consolidate AlgFunctors: use baseclass + template implementation with a small struct to specialize
- add variadic min, max functors
- constrain FunctorArray constructor so it does not classify as copy c'tor
- generalize BinaryOp, and use it instead of Combination
- remove deprecated LoKi::select
- use Synced to guarantee that non-const static data is never accessed without lock
[MR !795, !792] Simplify DAQKernel
- prefer inherited constructors
- put all related explicit template instantiations in a single file
- eliminate the need for getIfExistRaw
- remove obsolete SVN/CVS identifiers
- prefer =default over explicit implementations
[MR !785] Add tagged_bool and use it to make ITrajPoca::minimize more explicit
[MR !782] Modernize bankKiller, OdinTypesFilter, OdinBCIDFilter
Use Gaudi::Property, and use the opportunity to replace string options by dedicated types
[MR !787] Modernize LHCbKernel
- prefer std::array over boost::array
- prefer auto
- prefer std::greater<> over std::greater
[MR !672] Modernize L0DUBase: replace C-style arrays by std::array
[MR !912] Improve type punning
- Introduce pun_to for type punning
- pun_to avoid the need to rely on C99 compatibility (accessing the 'non-active' member of a union is undefined behaviour in C++ -- but g++ behaves according to C99 in this respect)
- also, remove unneeded #include
- also, fully qualify enum values
Changes to tests
[MR !797] Add test for JIRA-LHCBPS-1743
[MR !908] testvdtmath_AVX2FMA.qmt: Ignore tiny difference in vdt::fast_cossin when FMA enabled
2017-07-11 LHCbSys v43r0
This version uses Gaudi v28r2 and LCG_82 with ROOT 6.08.06.
This version is released on master
branch. The previous release on master
branch was LHCb v42r3
. This release contains all the changes that were made in LHCb v42r4
and LHCb v42r5
(released on 2017-patches
branch, see corresponding release notes), as well as the additional changes described in this file.
Change to compiler support
As from this release, support for gcc49 is dropped
This means that C++14 is now fully supported
New or changed functionality
[MR !622] Scifi: New event model
The changes in the event model correspond to JIRA tasks: LHCBSCIFI-79, LHCBSCIFI-80
The default simulation is switched to the detailed digitisation. This is about 2 times faster that the current improved digitisation.
[MR !766] Added missing implementation of function DeFTLayer::quarters()
[MR !638] DetDescChecks: Added material budget scan script
The script matbud.py
generates maps in (x, y) by integration of one over radiation length and one over interaction length for a given interval in the z dimension
[MR !698] CondDBBrowser updates
- Use Qt5 by default
- Small fixes to absorb differences between PyQt4 and PyQt5
- Add support for Git CondDB (read-only), see LHCBPS-1713
- Closes LHCBPS-1502
[MR !761] Modifications to RunChangeHandler to force the name change of conditions
- New option to force updating the conditions during the alignment iterations. Since the alignment xmls don’t change name during the job iteration, the default behaviour of RunChangeHandler would not allow to load the updated conditions from previous iteration.
- A test for this new ForceUpdate
option was added
[MR !620] Relations: remove TO pointer value sorting from WEntry operator<
Addresses the issue with the Relations sorting that results in potentially unstable behaviour, by removing the sorting of the TO relations ranges based on TO pointer value.
Code optimisations
[MR !618] RICH MaPMT Support Improvements
[MR !695] Allow to compile VectorClass on avx512
[MR !623] Update VectorClass to 1.28
Monitoring changes
[MR !756] Add crate/slot id in L0cte
verbose printout
[MR !656] DataCopy.cpp
: in case of failure make the error message more informative
Code modernisation
[MR !710] RICH - Prefer pragma once to ifdefs
[MR !691] RichUtils - Streamline TrackSegment
[MR !668] Rich remove pointless moves
[MR !631] Access the Rich PD panel as a const pointer
[MR !676] FTDAQ: Merged functional changes from future into master
See LHCBSCIFI-83
[MR !673] Modernize STDAQ / STTELL1BoardErrorBank / STDAQDefinitions
[MR !750] Modernize Calo
[MR !699] Modernize DetDesc
[MR !773, !764, !758, !743, !726] Modernize LoKiCore
[MR !740, !729, !646] Modernize LHCbMath
[MR !655] Modernize PartProp
[MR !651] Modernize LoKiMC
[MR !650] Modernize LoKiGen
[MR !649] Modernize LoKiHlt
[MR !644] Modernize HltServices
[MR !657] Modernize SimComponents
[MR !658] Modernize FSRAlgs
[MR !663] Modernize OTDAQ
[MR !659] Modernize MCCaloDataFunctor
[MR !654] Modernize LHCbKernel
[MR !653] Modernize DetDescCnv
[MR !648] Modernize LHCbAlgs
[MR !662] Modernize DetCond
[MR !652] Modernize MuonDet
[MR !647, !712] Modernize FileStager
[MR !661] GaudiObjDesc: replace BOOST_FOREACH with range-based for loop
[MR !665] Make the code forwards & backwards compatible with gaudi/Gaudi!290
Bug fixes and cleanups
[MR !737] Remove unused public headers
[MR !734] Fix compiler errors in uncompiled header files
[MR !733] Fix compiler warnings in uncompiled header files
[MR !721] Avoid calling gaudi_install_headers
twice
[MR !755] L0DURawBankMonitor
was resetting the labels for some histo at each event. Protection added
Changes to tests
[MR !763] Implemented complete checking of counters in logs
Up to recently, counters were simply ignored in the log of the tests (except their header and thus the number of them). This commit puts in place systematic checking of all counters, with a default sensibility of 10-4. So differences are allowed as long as they are small enough compared to the value.
[MR !771] Increase VMEM test failure threshold to 1.4GB, to avoid false alarms
2018-03-05 LHCb v42r7
This version uses Gaudi v28r2 and LCG_88 with ROOT 6.08.06.
<
p>
This version is released on 2017-patches
branch.
Updates for CondDB
Ignore CALIBOFF if we use Git CondDB, !1095
Propagate LHCbApp.CondDBtag based on .Simulation, !1094
Fix the default CondDB tag for 2017, !1085 (@rmatev)
The latest tag for 2017 data type is cond-20170724, which we were using at the end of the year.
Set default initial time for 2017 at end of fill 6417, !1022
Update to latest LHCbCond global tag for 2015: cond-20171211, !1017
Fixes to handling of Turbo data
Correct wrong comparison in TurboConf, !1154 (@apearce)
We were applying configuration to 2015, 2016, and 2017 data, but only should have been applying it to 2015 and 2016, else Tesla will fail running over 2017 data.
Do not try to unpack Turbo for non-Turbo jobs, !1136
- Add configurable list of streams that should not be handled by the unpacking mapper.
- Do not try to unpack Turbo stream data in non-Turbo jobs.
- Append in case the value has been set already.
Support processing of 2016 Turbo MC, !1140
Link DAQ/RawEvent to Trigger/RawEvent for 2015 and 2016 Turbo data, !954 (@apearce)
Fixes LHCBPS-1721.
Enhancements
Improve FileStagerSvc and add a test, !1161 (@raaij)
- Add ssh capability to FileStagerSvc (expert use)
- Remove capability to copy LFNs directory using lcg-cp and add fix a property.
- Grab more modernizations and adapt for gcc 4.9.
LHCbMath, !990 (@ibelyaev)
- improve parabolic interpolation for 1D-histograms
LHCbMath: add Bernstein3D and Positive3D, !953 (@ibelyaev)
Added new platforms to the list of known ones, !929
- x86_64-centos7-clang50-opt
- x86_64-centos7-clang50-dbg
- x86_64+avx2+fma-centos7-gcc7-opt
Bug fixes
UnpackParticlesAndVertices: add protection against segmentation fault, !1132
Fix cache building of the GET functor, !948 (@rmatev)
- Fix base class constructor call in LoKi::TES::Get
The wrong base class constructor call prevented correct cpp code generation.
- Add include in LoKiHlt.h needed for cache generation
Truncate existing raw files when writing, !911 (@rmatev)
Currently, if a raw file exists, it is not truncated when opened for
writing. If the existing file has a larger size, the leftover bytes
at the end will be left there and further reading will lead to segvs
due to the corrupted file. This MR simply adds the O_TRUNC
flag to the open
call and a
test that verifies the correct behaviour.
Code modernisations and cleanups
- Update TaggerType Enum, !944 (@kheinick)
Changes to tests
Improvements to test regex replacements, !952
- Improvements to test regex replacements
- Hide also ParamFiles version
- Hide any data package version
Ignore tiny difference in vdt::fast_cossin when FMA enabled, !908, !966 (@cattanem)
2017-09-27 LHCbSys v42r6p2
This version uses Gaudi v28r2 and LCG_88 with ROOT 6.08.06.
<
p>
This version is released on 2017-patches
branch.
New functionality
[MR !895] Add back RichDet Interpolator nDataPoints() method
Optimisations
[MR !886] Improve Git CondDB IOVs partitioning
2017-09-11 LHCbSys v42r6p1
This version uses Gaudi v28r2 and LCG_88 with ROOT 6.08.06.
<
p>
This version is released on 2017-patches
branch.
Changes to configuration
[MR !867] Separate CaloAdcs and CaloDigits production on demand
Sets up separate decoders in DecoderDB for CaloDigits and CaloAdcs
New functionality
[MR !877] Add new feature to L0CaloAlg to be able to change by options the tool used to create L0ADC from RAW
Bug fixes
[MR !873] Fix an out-of-bounds read on a vector in DeRichHPDPanel
[MR !878] Initialize HltSelRepRawBank header
Avoids writing random data to the raw bank when the HltSelRepRawBank is not very big. This is harmless but would improve raw data checkusm consistency.
Changes to tests
[MR !865] Add support for Tesla tests running under 2012 data type
Some Tesla tests, in DaVinci, run using 2012 data and so set the DataType to '2012'. This MR allows Tesla to run with a 2012 data type, with the caveat that this is intended just for the pre-existing tests.
2017-08-28 LHCbSys v42r6
This version uses Gaudi v28r2 and LCG_88 with ROOT 6.08.06.
<
p>
This version is released on 2017-patches
branch.
Updates for Git CondDB support
[MR !811] Removed date from comments in conditions XML files
See LHCBPS-1744
[MR !800] Git CondDB updates and fixes
- Support Git CondDB layout as input to copy_files_to_db.py
- Use metadata in tag messages to find latest datatype tags
- Add commit id to tag reported in event headers
[MR !698] CondDBBrowser updates
- Use Qt5 by default
- Small fixes to absorb differences between PyQt4 and PyQt5
- Add support for Git CondDB (read-only), see LHCBPS-1713
- Closes LHCBPS-1502
[MR !765] Modifications to RunChangeHandler to force the name change of conditions
Changes to persistency to fully support TurboSP
[MR !819] Add (un)packing for {Velo,ST}Cluster containers
[MR !818] Add persistence of PackedClusters for PackedDataWriter
Also, add packing support for PackedCaloAdcs for PackedDataWriter(Decoder) for TurboSP.
[MR !808] Add support for (un)packing CaloDigit containers
[MR !807] Add PackedCaloDigits to HltPackedDataWriter(Decoder)
Allows persistence of PackedCaloDigits for TurboSP
[MR !767] Allow offline use of HltSelReportsWriter
Bug fixes
[MR !854, !850] Stop Turbo-only Calo objects being used in TISTOS decisions
See LHCBPS-1746 for background.
[MR !841] Fix error status OR in Calo decoders
[MR !835] Fix misuse of a function as variable
[MR !827] Fix boolean return in DeCalorimeter functions
Changes to tests
[MR !838, !775] Increase VMEM mergesmallfiles test failure threshold to 1.5GB, to avoid false alarms
2017-07-04 LHCbSys v42r5
This version uses Gaudi v28r2 and LCG_88 with ROOT 6.08.06.
<
p>
This version is released on 2017-patches
branch.
Change to release notes format
As from this release, the file LHCbSys/doc/release.notes
is frozen
Instead, there will be a file per release in the new ReleaseNotes
directory. e.g. this file is called ReleaseNotes/v42r5.md
New or changed functionality
[MR !757] Support automatic Turbo unpacking in streamed data
meaning data with a RootInTES
like /Event/<stream>/Turbo
, which is what the data now looks like in 2017.
[MR !728] Add packers for CaloAdc
and CaloDigit
objects
[MR !747] Add KillSourceIDMask
to bankKiller
Until now we could only filter on an exact sourceID
. This is not sufficient to kill all HltSelReports
banks in case there are multiple banks. Now there is an AND mask, and a bank is killed when KillSourceID != 0 && (KillSourceIDMask & sourceID == KillSourceID)
. The default behaviour is unchanged.
[MR !748] Bank killer based on line requests and decisions
- Add a trivial tool HDRFilterTool
that implements the functionality of HDRFilter
in a tool.
- Add a new algorithm DecisionBankKiller
that given a set of lines (via the tool above) and a service that keeps track of line requests, leaves only the union of banks requested by fired lines.
- This MR implements the functionality needed for the selective raw bank persistence in TURBO, see LBHLT-164.
[MR !741] Add support for overlays on Git CondDB
Bug fixes
[MR !753] Fix memory leak in CaloHypo
Fixes the memory growth observed in the Tesla validation production: https://lblogbook.cern.ch/Operations/27129
[MR !752] Bug fixes for ReportConvertTool
, potentially solving Stripping/Tesla segfaults
Fixes the decoding of ProtoParticle
and MuonPID
HltObjectSummaries
Fixes also some unprotected debug()
and untested StatusCode
[MR !742] Fix Upgrade tag names handling in CondDB configurable
Do not prepend upgrade/
to tags if not needed
[MR !736] Correctly protect debug messages in GitEntityResolver
[MR !730] Fixes for Git CondDB
- Make the code forwards & backwards compatible with gaudi/Gaudi!290 (same as MR !665)
- Fixed configuration backward compatibility with COOL
- Protected debug()
messages
[MR !723] Fix calculation of number of banks in HltPackedDataWriter
[MR !719] Fix Velo decoder crash on missing bank
Occurs when trying to decode TAE data when there is none
Monitoring changes
[MR !731] Print out used CondDB tags even if global output level is not INFO
Changes to tests
[MR !732] Increase slightly memory threshold of fsralgs.mergesmallfiles
test failure
- Move to Git CondDB had pushed the test over threshold
- Also, suppress compilation warnings from Boost headers
[MR !711] Improve forwards and backwards compatibility of TurboConf
Overhaul TurboConf
so that is will be easier to maintain in 2017 and 2018, whilst preserving backwards compatibility with 2015 and 2016.