2017-03-29 RecSys v21r2
This version uses Gaudi v28r2, LHCb v42r2 and Lbcom v20r2 (and LCG_88 with ROOT 6.08.06)This version is released on master branch.
New or changed functionalities
- [MR !535] Add defaults for 2017 and 2018 DataType, remove MC09 and DC06
- in ChargedProtoANNPID and LumiAlgs configuration
- [MR !532, !534] Consistent fit for VeloTT tracks
- Introduces a final fit in PatVeloTTHybridTool, that should make it reproducible in the TrackStateInitTool.
- See LHCBPS-1711
- [MR !505] Update of PatLongLivedTracking
- Contains the updates presented in the T&A 7.2.2017, plus some sanity cuts
- [MR !445] Remove PatDownstream
- ```PatDownstream``` algorithm is obsolete. Remove it from (Run1) reconstruction sequences and replace it with ```PatLongLivedTracking``` as in Run2
- [MR !489] Added ignore-flag checks in PatAddTTCoord and PatVeloTTHybridTool to work with FlagHitsForPatternReco
- [MR !497, !526, !528] Addition of TrackVectorFitter (package Tr/TrackVectorFit)
- TrackFitter that processes several tracks utilizing vector units
- Options of TrackVectorFitter are for the most part the same as for TrackMasterFitter.
- Requires LHCb!551
- Options of TrackVectorFitter are for the most part the same as for TrackMasterFitter.
- [MR !497] TrackVectorFitter deployment: changes that affect TrackMasterFitter
- TrackBestTrackCreator processes tracks in stages now.
- ```operator()(LHCb::Track&)``` and ```operator()(std::vector>&)``` have been added to TrackFitter.
- Fixed a small bug in TrackMasterFitter by which the filter status of the first node was never reset upon updating transports.
- ```operator()(LHCb::Track&)``` and ```operator()(std::vector>&)``` have been added to TrackFitter.
- [MR !517] Update RecConf configurables to default to RICHFUTURE.
- [MR !500] Update RICH decoding settings to use DB for RICHFUTURE but not the old sequence
- [MR !417] New code for FT geometry v6.1
- [MR !525] PrMatchNN updated Neural Net
- [MR !500] Update RICH decoding settings to use DB for RICHFUTURE but not the old sequence
- Magnet parameters were set incorrectly before, fixed now.
- Removed inefficient NN variables.
- Cuts are optimized to reduce ghost rate and timing.
- Slight reduction in efficiencies is expected.
- Removed inefficient NN variables.
- [MR !522] Modified PrFitParameters.cpp and PrFitTool.cpp following the Tr/PatFitParams example
- [MR !523] Added PrFitMatchParams to PrFitParams
- Algorithm to get the parameters for the upgrade matching algorithm
Performance optimisations
- [MR !527] RichFuture - Test for AVX2 support + minor quartic cleanup
- [MR !515] RichFuture ray tracing and Quartic solving improvements
- Relies on LHCb!565 and Lbcom!123
- Uses the new vectorised ray tracing to trace the Cherenkov cones.
- Uses a faster Quartic solver
- Together these save about 40% of the RICH reconstruction time. PID performance is statistically the same but not bit-wise identical.
- Uses the new vectorised ray tracing to trace the Cherenkov cones.
- [MR !490] Adapt to Rich future event data streamline changes in LHCb!546
- [MR !485] Avoid (slow) calls to the transport service in `RichTrackFunctionalCherenkovResolutions`
- Done by caching the radiation length / unit path length during initialise.
- Results in the algorithm being much faster, and means the RICH no longer cares what detector geometry is used (other than for this initial caching).
Bug fixes
- [MR !519] Fix sign error in PatLongLivedTracking (changes efficiencies at per mille level)
- [MR !516] Protect uninit momentum in CaloPIDsChecker fix
- Avoid string comparison in track type selection in CaloPIDsChecker.cpp in order to avoid a problem with gcc6.2 optimization, see details in !419#note_181451
- [MR !496] Fix a small bug in the RichFuture configuration
- A custom particles list passed to the reco sequence configuration was overridden by the monitoring configuration.
- [MR !502] Fixed small bug in MuonTTTrack
- [MR !494] Fix CommonMuonStation assert in debug build running with upgrade geometry
- An assert was failing in the debug builds when running with the upgrade geometry because the wrong boundaries being used when sorting hits. In the upgrade M1 is removed and M2 is now the station with index 0. The M1 boundaries were being used.
- This MR fixes this by ensuring the right set of boundaries is used. The boundaries themselves were hard-coded and are now a property.
- [MR !521, !488] PrLongLivedTracking bug fixes
- Add a missing std::abs, to correctly calculate the deviation of the hits.
- Initialize m_mvaVal member variable, to avoid comparison with an uninitialized value,
- Correctly update the X-projection before calculating the MVA value for a Track
- Initialize m_mvaVal member variable, to avoid comparison with an uninitialized value,
- [MR !503] Fix floating point exceptions in PrVeloUTTool, PrCounter2 and PrTTCounter.
- Also modernize PrLHCbID2MCParticle a bit
Monitoring changes
- [MR !538] Changes for Rich alignment
- RichRecQC: Added new set of tkCuts to Configuration.py called "TightMirror" and corresponding new Monitor called PhotonMonitoringAlignOnline
- RichAlignment: decreased Max GhostProb cut to 0.5
- See RICH-7
- RichAlignment: decreased Max GhostProb cut to 0.5
- [MR !518] Old RICH Monitoring - Downgrade exception to warning when sequencer not set.
- [MR !468] Fix Residual and Occupancy plots in FT ClustersResidual tool to account for all MCHits in the Linker
- Fix ranges of plotting and also looking to all elements in the Linker, not only the most contributing one.
- [MR !485] Extend the RichFuture monitoring python utilities to allow for different histogram sets
- similar to how the old monitoring worked.
Changes to tests
- [MR !536] Do not use git conddb in lumi0conddbchecker test
- Forces the use of COOL also when Git CondDBs are available, as this test uses a custom COOL CondDB layer (not supported by Git CondDB) to test lumi algorithms.
- [MR !515] Move various RichFuture test applications to a new package called Rich/RichRecTests.
Code modernisations and cleanups
- [MR !512] Remove PrDownstream and PrMatch
- [MR !511] Remove PatVeloTTHybridTrack
- [MR !492] Added backward compatibility hack for gaudi/Gaudi!273
- [MR !486] Remove from RichFuture quartic reconstruction algorithm option to ignore secondary mirrors.
- [MR !511] Remove PatVeloTTHybridTrack