HltEfficiencyChecker does not work for Thor-based trigger line ?
When trying to test BandQ trigger performance after using Thor functions (Moore MR924)[Moore!924 (merged)], end up with
FunctionalChargedProtoParticleMa... INFO CUT: ' ( ( (TrTYPE==3) | (TrTYPE==5) ) | (TrTYPE==4) ) '
FunctionalParticleMaker.LoKi::Hy... INFO CUT: ' ( (TrTYPE==3) &TrALL) '
FunctorFactory INFO Cache miss for functor: ::Functors::Filter( /* Predicate to filter the container with. */ operator&( operator&( operator&( operator&( operator&( operator&( operator&( operator>( ::Functors::Track::TransverseMomentum{}, 0.0f ), ::Functors::Track::IsMuon{} ), operator>( ::Functors::Track::Momentum{}, 0.0f ) ), operator>( ::Functors::Track::MinimumImpactParameterChi2<>( /* TES location of input [primary] vertices */ std::string{"/Event/LHCb__Converters__RecVertices__LHCbRecVerticesToVectorV2RecVertex/OutputVertices"} ), std::integral_constant<int, 9>{} ) ), operator>( ::Functors::Track::MinimumImpactParameter<>( /* TES location of input [primary] vertices */ std::string{"/Event/LHCb__Converters__RecVertices__LHCbRecVerticesToVectorV2RecVertex/OutputVertices"} ), 0.3f ) ), operator>( ::Functors::Track::PIDmu{}, -5.0f ) ), operator<( ::Functors::Track::GhostProbability{}, 0.4f ) ), operator<( ::Functors::Track::MinimumImpactParameterChi2<>( /* TES location of input [primary] vertices */ std::string{"/Event/LHCb__Converters__RecVertices__LHCbRecVerticesToVectorV2RecVertex/OutputVertices"} ), std::integral_constant<int, 10000000000000>{} ) ) ), now trying cling with headers [<string>, Event/Particle.h, Functors/Filter.h, Functors/TrackLike.h, GaudiKernel/NamedRange.h]
input_line_47:11:1505: error: non-type template argument evaluates to 10000000000000, which cannot be narrowed to type 'int' [-Wc++11-narrowing]
std::unique_ptr<Functors::AnyFunctor> functor_0xa945477f65a98317_cling() { return std::make_unique<Functors::Functor<SharedObjectsContainer<LHCb::Particle> (Gaudi::NamedRange_<std::vector<LHCb::Particle const*,std::allocator<LHCb::Particle const*> >,__gnu_cxx::__normal_iterator<LHCb::Particle const* const*,std::vector<LHCb::Particle const*,std::allocator<LHCb::Particle const*> > > > const&)>>( ::Functors::Filter( /* Predicate to filter the container with. */ operator&( operator&( operator&( operator&( operator&( operator&( operator&( operator>( ::Functors::Track::TransverseMomentum{}, 0.0f ), ::Functors::Track::IsMuon{} ), operator>( ::Functors::Track::Momentum{}, 0.0f ) ), operator>( ::Functors::Track::MinimumImpactParameterChi2<>( /* TES location of input [primary] vertices */ std::string{"/Event/LHCb__Converters__RecVertices__LHCbRecVerticesToVectorV2RecVertex/OutputVertices"} ), std::integral_constant<int, 9>{} ) ), operator>( ::Functors::Track::MinimumImpactParameter<>( /* TES location of input [primary] vertices */ std::string{"/Event/LHCb__Converters__RecVertices__LHCbRecVerticesToVectorV2RecVertex/OutputVertices"} ), 0.3f ) ), operator>( ::Functors::Track::PIDmu{}, -5.0f ) ), operator<( ::Functors::Track::GhostProbability{}, 0.4f ) ), operator<( ::Functors::Track::MinimumImpactParameterChi2<>( /* TES location of input [primary] vertices */ std::string{"/Event/LHCb__Converters__RecVertices__LHCbRecVerticesToVectorV2RecVertex/OutputVertices"} ), std::integral_constant<int, 10000000000000>{} ) ) ) ); }
But EfficiencyChecker
works fine when testing Hlt2Conf.lines.Bs2JpsiPhi
(default one in MooreAnalysis/HltEfficiencyChecker/options/hlt2_rate_example.yaml
), where Thor function not used yet.