FIND_DECAY failure
while trying to apply a filter on output of HLT2 with ThOrParticleSelection (as advised by @Abhijit Mathad) I get an error, which I believe is associated with FIND_DECAY functor.
Please see the code example and log error message below.
Error is reproduced in both v63r11 and v63r14 of DaVinci (as I understand v35r20 REC) versions. Running as
[ipolyako@lxplus717 BforSpectroscopy]$ lb-run DaVinci/v63r14 lbexec B_general:Lb bandq_Collisions23.yaml
WARNING:lb-run:Decided best platform to use is x86_64_v3-centos7-gcc12-opt+g
WARNING:lb-run:Decided best container to use is None
code:
import Functors as F
from PyConf.Algorithms import ThOrParticleSelection
particles_ = get_particles( "/Event/HLT2/Hlt2BandQ_BuForSpectroscopy/Particles")
particles_Jpsi = ThOrParticleSelection(
InputParticles=particles_,
Functor=F.FIND_DECAY("[Lambda_b0 -> J/psi(1S) p+ K-]CC")
).OutputSelection
part of log:
...
ApplicationMgr INFO Application Manager Initialized successfully
FunctorFactory INFO New functor library will be created.
In file included from /workspace/build/REC/REC_v35r20/Phys/FunctorCore/include/Functors/Function.h:12,
from /workspace/build/REC/REC_v35r20/Phys/FunctorCore/include/Functors/Adapters.h:12,
from /workspace/build/REC/REC_v35r20/Phys/FunctorCore/include/Functors/JIT_includes.h:24,
from <command-line>:
/workspace/build/REC/REC_v35r20/Phys/FunctorCore/include/Functors/Core.h: In instantiation of 'Functors::Functor<OutputType(InputType ...)>::result_type Functors::Functor<OutputType(InputType ...)>::FunctorImpl<F>::operator()(const EventContext&, const Functors::TopLevelInfo&, InputType ...) const [with F = Functors::Decay::FindDecay; OutputType = const std::vector<const LHCb::Particle*>; InputType = {const LHCb::Particle&}; Functors::Functor<OutputType(InputType ...)>::result_type = const std::vector<const LHCb::Particle*>]':
/workspace/build/REC/REC_v35r20/Phys/FunctorCore/include/Functors/Core.h:387:19: required from here
/workspace/build/REC/REC_v35r20/Phys/FunctorCore/include/Functors/Core.h:393:16: error: no matching function for call to 'std::vector<const LHCb::Particle*>::vector(std::invoke_result_t<Functors::detail::prepared<Functors::Decay::FindDecay>, const LHCb::Particle&>)'
In file included from /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-57c96/x86_64-centos7/include/c++/12.1.0/vector:64,
from /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-57c96/x86_64-centos7/include/c++/12.1.0/functional:62,
from /cvmfs/lhcb.cern.ch/lib/lhcb/GAUDI/GAUDI_v36r16/InstallArea/x86_64_v3-centos7-gcc12-opt+g/include/Gaudi/MonitoringHub.h:16,
from /cvmfs/lhcb.cern.ch/lib/lhcb/GAUDI/GAUDI_v36r16/InstallArea/x86_64_v3-centos7-gcc12-opt+g/include/Gaudi/Accumulators.h:14,
from /workspace/build/REC/REC_v35r20/Phys/FunctorCore/include/Functors/Core.h:12:
...
Edited by Ivan Polyakov