Vertex and PV Refitting in Stripping

Vertex Fitter

Since S21 the default vertex fitter is LoKi::VertexFitter. OfflineVertexFitter is deprecated and unmaintained therefore we strongly encourage all users still explicitly setting it to move to the LoKi one. Users which still specify the LoKi fitter through
SomeCombineParticles.ParticleCombiners.update( {"": "LoKi::VertexFitter:PUBLIC"} )
can and should remove the setting as it will be picked up by default.

User that want to use the LoKi fitter but with different settings with respect to the default ones should do something like

In any case, try avoid to use "PUBLIC" in your stripping line code.

from Configurables import LoKi__VertexFitter
myfitter = LoKi__VertexFitter("myfitter")
myfitter.SomeSetting = True
SomeCombineParticles.ParticleCombiners.update( {"": "LoKi::VertexFitter/myfitter"} )

PV ReFitting

There have been some changes in the PVRefit algorithm so that extra settings have to be specified with respect to the past. The guideline is that users wishing to use the PV refit to have these settings tuned to their needs. The typical code to put in the stripping line will look like
from Configurables import LoKi__PVReFitter, CombineParticles
SomeCombineParticles.ReFitPVs = True
SomeCombineParticles.IgnoreP2PVFromInputLocations = True # it ignores refitted PVs created in earlier steps in the decay chain

myPVRefitter = SomeCombineParticles.addTool(LoKi__PVReFitter, name = 'myPVRefitter')
myPVRefitter.CheckTracksByLHCbIDs = True
myPVRefitter.DeltaChi2 = <SomeFloat1>
myPVRefitter.DeltaDistance = <SomeFloat2> #units are millimeters

SomeCombineParticles.PVReFitters.update( {"": "LoKi::PVReFitter/myPVRefitter"} )

The two new settings, to be tuned by the users, are DeltaChi2 and DeltaDistance. These have been introduced to correct for some inefficiencies when cutting on the BestPV (BPV). The reason for this is that before and after refit the BPV may slightly change with respect to the original one if one of the tracks of your decay chain is removed. This means that the technically the refitted vertex is a different C++ object and may not be recognized as the BPV anymore. This was causing inefficiencies and lead to the introduction of the new settings which refer to the separation between the original and refitted vertex. They have to be interpreted as upper limits, i.e., the two vertices (before and after refit) are considered the same vertex if the Chi2 of their separation is less than OR Delta is less than (OR if the two vertex are the same C++ object, meaning that no tracks belonging to your decay had to be removed from the PV)

-- AndreaContu - 2015-06-18

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2018-05-16 - KonstantinGizdov
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback