Skip to content

Track pairing for secondary vertex reconstruction based on particle energy #63

@dudarboh

Description

@dudarboh

Dear experts,

I have tried to check performance of the vertex reconstruction, assuming perfect pi/K/p ID for my PFO objects, updating their mass and energy parameters accordingly.

Looking at the vertices with low momentum protons, I have noticed, that after updating mass and the energy of the PFOs, number of reconstructed vertices has reduced significantly! (see number of entries in red vs black histograms)

Debugging this issue, I found out that the algorithm which is responsible for creating secondary vertices uses a cut based on the PFO energy to accept/reject pairs of tracks to form a vertex:

double mass = (v1+v2).M();
// 110216 do not accept tracks with opposite direction
// if(v1.Vect().Dot(v2.Vect()) < 0.)continue;
if (!cfg.avf && mass > min(v1.E(), v2.E()))continue;
if(cfg.avf && 0.6*mass > min(v1.E(), v2.E())) continue; //0.7
//if(cfg.avf && mass > max(v1.E(), v2.E())) continue;

which is with default steering parameters is: (v1+v2).M() > min(v1.E(), v2.E())

Could somebody explain the motivation of this cut?
What is its impact of this cut on vertex reconstruction?
Is it necessary?
Does it properly works with any mass parameters in mind?

I would naively expect that vertexing algorithm should work only with the track information (e.g. d0, z0, momentum, etc.). So I am puzzled to see energy cut here. It means that two different particles (types) with identical tracks (and momentum) might get a very different cut to reject a vertex.

And as my study shows, providing PFOs with kaon or proton mass rejects too many "good" vertices.

And here is one particular example, where vertex reconstruction goes wrong because of this cut:

image

image
image

@suehara

cheers,
Bohdan

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions