2019-05-22 LHCb v45r0

This version uses Gaudi v32r0 and LCG_95 with ROOT 6.16.00.

This version is released on `run2-patches` branch and is intended for use with Run1 or Run2 data. For Run3, use a version released on `master` branch

Built relative to LHCb v44r2, with the following changes:

New features

Enhancements

  • Fix gcc8 false positive warning in tar read/write implementation, !1896 (@cattanem)

  • Add several new platforms to PlatformInfo.cpp, !1880, !1895 (@clemenci)

  • Update DDDB default tags for all years, !1737, !1784, !1435 (@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

    Includes:

  • Update default LHCbCond tag for 2018 to cond-20181204-1, !1657 (@cattanem)
    See lhcb-conddb/LHCBCOND!29 (Reduce lumi thresholds to minimum for 2018 heavy ions)

  • LoKiCore Kinematics.h/.cpp: fixes to deltaM2, !1627 (@ibelyaev)

    • minor fix in deltaM2 function (better treatment of low-momenta)
    • add the variant of deltaM2 function with the forced assignment of the same mass
  • LoKiCore: add LHCb.ParticleID.name/absname & LHCb.Particle.absname methods, !1606 (@ibelyaev)

  • Kernel/LHCbMath improve a bit issue with inheritance:, !1427 (@ibelyaev)

    1. it allows to reduce the code in AnalysisPython
    2. it fixes the issue with the type eliding in PDFs
  • Minor updates to Kernel/PartProp, !1400 (@ibelyaev)

    • increase a bit precision for mass/lifetime printouts
    • allow to specify negative values for lifetime (intepreted as width in GeV)
    • print all redefined properties
    • add new qmtest
    • regenerate reference file
  • LoKiCore.functions: add (move from LoKiArrayFunctors) function PDGM, !1397 (@ibelyaev)

  • Propagate XGBoost-based IsPhoton separation variable, !1389 (@deschamp)

  • LoKi::Dicts::CutValOps : add few more overloads for __switch__ method, !1386 (@ibelyaev)

  • LHCbMath:add summation operators for WStatEntity, !1385 (@ibelyaev)

  • LoKiGen: add more symbols : GMINTREE, GMAXTREE, GSUMTREE & GMULTTREE, !1375 (@ibelyaev)

  • New parameter isPhotonXGB in CaloDataType, !1357 (@vchekali)
    To be used by CaloHypoEstimator to store result of new photon/pi0 separation classifier.

  • Update L0 monitoring, !1342 (@deschamp)

    • reduce verbosity in L0DURawBank and L0DUReport monitoring
    • 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.
    • L0CaloCandidatesFromRaw : produce (empty) L0ProcessorData in case there is no corresponding L0 candidate + add the possibility to plug/unplug processor data 'fiber'
  • Prepare Tagger enum for latest Flavour Tagging Tunings, !1321 (@kheinick)
    Add separated B2OC/B2CC tunings for OS taggers

  • Use local instances of MagneticFieldGridReader in MagneticFieldSvc, !1319 (@jonrob)

  • Minor changes to RichTrackSegment::StateErrors constructors, !1318 (@jonrob)

Bug fixes

Code modernisations and cleanups

Changes to tests

  • Avoid gaudirun.py customMainLoop for EvtCounter test, !1936 (@clemenci)

  • Prevent concurrent execution of some tests, !1793 (@clemenci)

  • make sure we create newref file when there are only counters differences, !1722 (@sponce)

  • Add unit test for PiecewiseTrajectory, !1710 (@graven)

  • Add tests to check L0DU can be decoded in Run1 and Run2 data, !1486 (@cattanem)

    • Added tests for 2009, 2010, 2011, 2012, 2015, 2016
  • Fix tests using the SQLite DDDB, broken by !1435, !1437 (@cattanem)

  • Hide eoslhcb SE directories from test comparisons, !1354 (@cattanem)

  • Add example script and test to convert (x)Digi file into MDF, !1328 (@chasse)
    Same as merge request !1325 on master