Skip to content

Regression in particle flow based isolation between Phys/v26r4 and Phys/v26r3 (corresponding to DaVinci v45r3 and v45r4)

@sfarry @wbarter @lsestini @cvazquez @masmith @erodrigu @pkoppenb @mramospe

Between DaVinci v45r3 and v45r4 we see a regression in the following functor "SUMCONE(0.4**2 , PT , 'Phys/PFParticles')". (Verified invariance under v45r4 -> v45r{5,6}). The following plot compares the candidate-by-candidate values between v45r3 and v45r4.

image

Instructions to reproduce this study are copied below.

After some investigation we traced the issue to !630 (merged), specifically the change of two default values in https://gitlab.cern.ch/lhcb/Phys/-/blob/run2-patches/Phys/JetAccessories/python/JetAccessories/HltJetConf.py . The algorithm defaults are ETcut=some_negative_value and withET=False. With these two lines commented out the above plot becomes perfectly diagonal.


        hcalClus = CellularAutomatonAlg(
            'HcalClusterization')  # name is enough to setup I/O
        clusTool = hcalClus.addTool(CaloClusterizationTool)
        clusTool.ETcut = 2500
        clusTool.withET = True

Reproduce with

lb-run -c x86_64-centos7-gcc8-opt DaVinci/v45r3 gaudirun.py DV_test.py && mv DVntuple.root v45r3.root
lb-run -c x86_64-centos7-gcc9-opt DaVinci/v45r4 gaudirun.py DV_test.py && mv DVntuple.root v45r4.root
# then trivial plotting of one tree versus the other
#DV_test.py
from DecayTreeTuple.Configuration import *
from Configurables import DaVinci
DaVinci().TupleFile = 'DVntuple.root'
DaVinci().Simulation = False
DaVinci().DataType = '2016'
DaVinci().EvtMax    =  1000
DaVinci().PrintFreq =  100
from GaudiConf import IOHelper
IOHelper().inputFiles(['root://eoslhcb.cern.ch//eos/lhcb/grid/prod/lhcb/LHCb/Collision16/EW.DST/00103102/0003/00103102_00033752_1.ew.dst'])
dtt = DecayTreeTuple("reco")
dtt.ToolList = []
dtt.Inputs = ['/Event/EW/Phys/WMuLine/Particles']
dtt.Decay = 'mu+'
dtt.addBranches({"mu": "^mu+"})
atool = dtt.mu.addTupleTool("LoKi::Hybrid::TupleTool/LoKi_Reco")
atool.Variables = {"PF_ISOLATION" : "SUMCONE(0.4**2 , PT , 'Phys/PFParticles')"}
DaVinci().UserAlgorithms.append(dtt)
Edited by Mika Anton Vesterinen