Skip to content

Printing a functor property is broken

To reproduce, run with

options.python_logging_level = logging.DEBUG

to get a stack trace such as

  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/settings/hlt2_pp_commissioning.py", line 584, in make_streams
    return real_make_streams()
  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/settings/hlt2_pp_commissioning.py", line 499, in _make_streams
    full_lines = _make_lines(
  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/settings/hlt2_pp_commissioning.py", line 494, in _make_lines
    all_lines += [builder() for builder in trunc_lines.values()]
  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/settings/hlt2_pp_commissioning.py", line 494, in <listcomp>
    all_lines += [builder() for builder in trunc_lines.values()]
  File "/home/rmatev/stack/LHCb/InstallArea/x86_64_v2-el9-gcc12-opt/python/PyConf/tonic.py", line 644, in configurable(twobody_line)
    return wrapped(**kwargs)
  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/lines/topological_b/__init__.py", line 402, in twobody_line
    candidates = make_filtered_topo_twobody(MVACut=0.99)
  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/lines/topological_b/__init__.py", line 325, in make_filtered_topo_twobody
    two_bodys = make_unfiltered_topo_twobody()
  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/lines/topological_b/__init__.py", line 309, in make_unfiltered_topo_twobody
    pions = make_particles()
  File "/home/rmatev/stack/LHCb/InstallArea/x86_64_v2-el9-gcc12-opt/python/PyConf/tonic.py", line 644, in configurable(make_input_particles)
    return wrapped(**kwargs)
  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/lines/topological_b/__init__.py", line 67, in make_input_particles
    return ParticleFilter(make_particles(), F.FILTER(code), name=name)
  File "/home/rmatev/stack/LHCb/InstallArea/x86_64_v2-el9-gcc12-opt/python/PyConf/tonic.py", line 644, in configurable(make_has_rich_long_pions)
    return wrapped(**kwargs)
  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/standard_particles.py", line 399, in make_has_rich_long_pions
    return make_long_pions()
  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/standard_particles.py", line 234, in make_long_pions
    return _make_particles(
  File "/home/rmatev/stack/LHCb/InstallArea/x86_64_v2-el9-gcc12-opt/python/PyConf/tonic.py", line 644, in configurable(_make_particles)
    return wrapped(**kwargs)
  File "/home/rmatev/stack/Moore/InstallArea/x86_64_v2-el9-gcc12-opt/python/Hlt2Conf/standard_particles.py", line 127, in _make_particles
    pp = make_protoparticle_filter()
  File "/home/rmatev/stack/LHCb/InstallArea/x86_64_v2-el9-gcc12-opt/python/PyConf/tonic.py", line 618, in configurable(standard_protoparticle_filter)
    if pname in bound_args and kwargs[pname] == bound_args[
  File "/home/rmatev/stack/Rec/InstallArea/x86_64_v2-el9-gcc12-opt/python/Functors/grammar.py", line 295, in __bool__
    raise Exception(
Exception: FunctorBase.__bool__ should not be called! This likely means that you used `and`, `or` or `not` when you should have used `&`, `|` or `~`.