Skip to content

Proposal for a Secondary Vertex Type #127

@ruse-traveler

Description

@ruse-traveler

As secondary vertexing work advances on both helix swimming techniques and the ACTS AMVF, it has become clear that additional types may be needed to encode information related to secondaries and resonance decays. This will be particularly critical for

  1. benchmarking secondary vertexing algorithms against each other, and
  2. facilitating comparisons between algorithms implemented in EICrecon vs. those ran in standalone analyses.

Describe the solution you'd like

A proposal was advanced by @starsdong in the 10.20.2025 Reco WG meeting:

edm4eic::SecondaryVertex:
  Description: "EIC secondary vertex"
  Author: "X. Dong"
  Members:
    - int32_t             type          // Type flag, to identify what type of vertex it is (e.g. primary, secondary, generated, etc.)
    - float               chi2          // Chi-squared of the vertex fit
    - int                 ndf           // NDF of the vertex fit
    - edm4hep::Vector4f   position      // position [mm] + time t0 [ns] of the vertex. Time is the 4th component in vector
    - edm4eic::Cov4f      positionError // Covariance matrix of the position+time. Time is the 4th component, similarly to 4vector
    - edm4hep::Vector3f   parentMomentum        // parent momentum
    - edm4hep::Vector3f   parentDecayLength     // parent decay length L
    - float               parentInvariantMass   // parent invariant mass
    - float               parentDecayLengthChi2 // parent L/dL
    - float               parentDca2PV          // parent dca to primary vertex
  VectorMembers:
    - edm4hep::Vector3f   daughterMomentum    // daughter track momentum
    - float               daughterMass        // daughter mass
    - float               daughterDca2PV      // daughter dca to primary vertex
    - float               daughterDca2PVChi2  // daughter dca/sigma to primary vertex
    - float               daughterPairIndices // pair track indices
    - float               daughterPairDca     // pair dca to primary vertex
    - float               daughterPairDcaChi2 // pair dca/sigma to primary vertex
  OneToOneRelations:
    - edm4eic::Vertex     primaryVertex // associated primary vertex
  OneToManyRelations:
    - edm4eic::ReconstructedParticle associatedParticles // particles associated to this vertex.

Describe alternatives you've considered

There are several paths to encoding this information, and are discussed further in the comments.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions