Fixes for Tesla productions under Stripping28
This MR fixes the issue found in LHCBGAUSS-1108, namely that Tesla was not producing ProtoParticle
MCParticle
relations tables in 'DST-style' productions, where the MC particles are not filtered.
The issue was a change in the behaviour of how the ChargedPP2MC
algorithm treats RootInTES
between Stripping26 (DaVinci v41r2p5) and Stripping28 (v41r4p2). The changes were for the better, and Tesla was exploiting the old behaviour in an odd way, but somehow I didn't spot this change when porting the S26 patches to S28.
I'm running a larger validation locally right now, but I'm pretty sure this is the source of the problem. This MR targets 2016-patches with the intention of becoming the v41r4p3 release.
Merge request reports
Activity
Thanks. The general idea is that now the relations tables are now always created under
/Event/Relations
, e.g./Event/Relations/Turbo/Proto /Event/Relations/Hlt2/Long/Protos /Event/Relations/Hlt2/Protos/Charged
The relations tables are then always copied from these locations to
/Event/Turbo/Relations/…
. IfTesla().FilterMC
is true, then the MC objects the relations tables point to are also copied.The old logic changed the output location of the relations table maker depending on the value of
FilterMC
, but this depended on the S26 implementation of the maker, which was a bit gross.assigned to @apearce
assigned to @erodrigu
mentioned in commit d4c428f0
@apearce, I'm seeing build errors since days, see https://lbnightlies.cern.ch/logs/build/nightly/lhcb-2016-patches/460/x86_64-slc6-gcc49-dbg/DaVinci/, but that's probably some artefact, no? I mean, the patched DaVinci just atop the last 2016-patches release should be ok, no? I'm tempted to go ahead and tag DV.
Unfortunately compilation fails so I need to do something about it - https://lbnightlies.cern.ch/release/lhcb-release/build/2351/. Investigating ...
Is it possible to exclude TurboCache from the release?
Edited by Alex PearceThe problem is here anyway; it should read
Tesla().Streams = turbo_streams['2016']
, or some other valid year, because nowTurboStreamProd.streams.turbo_streams
is aDataType
-indexed dictionary.The build is picking up the latest version of TurboStreamProd, where the change was introduced recently. So, another option is to pin the version of TurboStreamProd to, say, v4r1p5.
Fix is at !87 (merged), and it compiles for me locally