Skip to content

Bug fixes for lines using vertex cuts on ParticleAdder combiners

I discovered two combiner functions that apply CHI2DOF(and more) cuts on a ParticleAdder combiner.

CHI2DOF = setComposedFunctor(
    VALUE_OR(NaN) @ _CHI2DOF,
    "CHI2DOF",
    """Vertex or track chi^2 per degrees of freedom.""",
)

The_CHI2DOF will return an optional that in the ParticleAdder case is empty because there's no vertex created and so CHI2DOF will then always return a NaN from the VALUE_ORcutting away all events.

The two combiners are Xi0ToL0Pi0Combiner and B2OCD02KSPi0Combiner. Both are solved by only applying cuts like CHI2DOF or PVcuts: OWNPVIPCHI2,OWNPVLTIME if the combiner type is ParticleVertexFitter(the general case). Like this:

if combiner == "ParticleVertexFitter":
    vertex_code &= F.require_all(
        F.CHI2DOF < vchi2pdof_max,
        F.OWNPVLTIME > bpvltime_min,
    )

affected b2oc lines (each of them with MVACut=0.7):

  • BuToD0Pi_D0ToKsLLPi0Resolved, hlt2, 0.542 % retention (was 0)
  • BuToD0Pi_D0ToKsDDPi0Resolved, hlt2, 2.06 % retention (was 0)
  • BuToD0K_D0ToKsLLPi0Resolved, hlt2, 0.474 % retention (was 0)
  • BuToD0K_D0ToKsDDPi0Resolved, hlt2, 1.91 % retention (was 0)
  • target retention before we can merge them: 0.03 % (as for BdToDmPi_DmToPimPimKp)

lines affected but not enabled (we are not aiming to enable them):

  • BuToD0Pi_D0ToKsLLPi0Merged
  • BuToD0Pi_D0ToKsDDPi0Merged
  • BuToD0K_D0ToKsLLPi0Merged
  • BuToD0K_D0ToKsDDPi0Merged

FYI: @abertoli @msaur

Edited by Alessandro Bertolin

Merge request reports

Loading