BPVLTIME functor fails when acting on DecayTreeFitted candidate with PV constraint
The functor BPVLTIME
fails when acting refitted candidate with PV constraint (output attached).
#lifetime of B [output.log](/uploads/152a1f93cc093079d7c1579df5685a14/output.log)
lft = F.BPVLTIME(pvs_v2)
#lifetime of refitted B (fails with following error message)
DTFpv = DTFAlg( InputPVs=pvs, Input=input_data)
lft_pv = F.MAP_INPUT(fun1, DTFpv.OutputRelations)
The main error message seems to be with failing to find endVertexPos
function via ADL:
/disk/users/amathad/stack/Rec/Phys/FunctorCore/include/Functors/Core.h:386:19: required from here
/disk/users/amathad/stack/Rec/Phys/SelTools/include/SelTools/DistanceCalculator.h:541:42: error: no matching function for call to 'endVertexPos(LHCb::Particle* const&)'
541 | const auto decay_pos = endVertexPos( particle );
| ~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /disk/users/amathad/stack/Rec/Phys/SelKernel/include/SelKernel/Utilities.h:12,
from /disk/users/amathad/stack/Rec/Phys/FunctorCore/include/Functors/Core.h:17,
from /disk/users/amathad/stack/Rec/Phys/FunctorCore/include/Functors/Function.h:12,
from /disk/users/amathad/stack/Rec/Phys/FunctorCore/include/Functors/Adapters.h:12,
from /disk/users/amathad/stack/Rec/Phys/FunctorCore/include/Functors/JIT_includes.h:24,
from <command-line>:
/disk/users/amathad/stack/LHCb/InstallArea/x86_64_v2-centos7-gcc11-opt/include/Event/FunctorDefaults.h:95:8: note: candidate: 'template<class T, long unsigned int N> auto LHCb::Event::endVertexPos(const std::array<const T*, N>&)'
95 | auto endVertexPos( std::array<T const*, N> const& items ) {
| ^~~~~~~~~~~~
/disk/users/amathad/stack/LHCb/InstallArea/x86_64_v2-centos7-gcc11-opt/include/Event/FunctorDefaults.h:95:8: note: template argument deduction/substitution failed:
In file included from /disk/users/amathad/stack/Rec/Phys/FunctorCore/include/Functors/Utilities.h:14,
from /disk/users/amathad/stack/Rec/Phys/FunctorCore/include/Functors/Adapters.h:13,
from /disk/users/amathad/stack/Rec/Phys/FunctorCore/include/Functors/JIT_includes.h:24,
from <command-line>:
/disk/users/amathad/stack/Rec/Phys/SelTools/include/SelTools/DistanceCalculator.h:541:42: note: mismatched types 'const std::array<const T*, N>' and 'LHCb::Particle* const'
541 | const auto decay_pos = endVertexPos( particle );
The error message can be reproduced by running tutorial6_DecayTreeFit
from this MR (DaVinci!682 (merged)).
FYI: @pkoppenb