na64sw

Tutorial

  • Tutorial

Reference

  • Standard Handlers Library
    • MSADC hit-related standard handlers
    • APV hit-related standard handlers
    • F1 hit-related standard handlers
    • Calorimeter hit-related standard handlers
    • APV cluster-related standard handlers
    • Track Score standard handlers
    • Handlers related to tracking
      • Subject: a track object
      • Handlers list
    • Generic Handlers
  • Troubleshooting
  • Known Issues
  • Utilities Library

Other

  • Advanced Topics
  • Extending hit info with MC data (STRAWs)
na64sw
  • »
  • Standard Handlers Library »
  • Handlers related to tracking
  • View page source

Handlers related to tracking¶

This page lists handlers operating with track reconstructed from series of track points.

Warning

Most of the handlers seem to lack appropriate documentation here. This part of the standard library is under heavy development and many things are not yet well settled in terms of C/C++ API, key conceptions, etc.

Subject: a track object¶

A Track subclasses a collection of TrackPoint objects appending it with some track-related information.

struct Track¶

Particle track representation

GETTER:

  • getter for field Track::scores disabled

  • momentum – Initial momentum of the track

  • pdg – Particle type PDG code

  • fitInfo.chi2 – chi-squared value of track fit (propagated from fitInfo:TrackFitInfo, returns chi2)

  • fitInfo.ndf – Number of degrees of freedom of track fit (propagated from fitInfo:TrackFitInfo, returns ndf)

  • fitInfo.pval – p-value of track fitting (propagated from fitInfo:TrackFitInfo, returns pval)

  • fitInfo.chi2ndf – chi^2/NDF value (propagated from custom getter fitInfo:TrackFitInfo, returns chi2ndf)

  • zonePattern – Bitmask of zones for the track

  • nscores – Number of scores in a track.

Handlers list¶

group tracking-handlers
class BreakTrackScores : public na64dp::AbstractHitHandler<event::TrackScore>, public na64dp::calib::SetupGeometryCache¶

A Monte-Carlo helper handler breaking up 3D hit scores.

Usage:

- _type: BreakTrackScores
  # optional, hit selection expression
  applyTo: ...
  # Do ignore scores with no `mcTruth` attribute (non
  # Monte-Carlo scores); str, opt
  omitNonMC: true
  # Defines priority of scores position source and tolerance
  priority: [["own", false], ["mc-truth", true]]
  # What to do with the original score: compose, keep, remove; str, opt
  mode: 

Priority list defines source priorities to obtain global spatial point: can contain “own” and/or “mc-truth” strings and is required flags. Examples:

  • [["own", true]] will use only gR field and will throw exception if score does not provide gR

  • [["own", false], ["mc-truth", true]] will use gR if given. Otherwise will try to use mcTruth.globalPosition and will emit an error if latter is not provided in score

  • [["mc-truth", false]] will try to use mcTruth.globalPosition if score has it, otherwise will pass by the score intact.

mode parameter can have following values:

  • compose created sub-scores will be included into original (source) score

  • keep sub-scores will be created as standalone ones, original is kept intact

  • remove sub-scores will be created as standalone ones, original is removed

Breaks track scores with defined global position onto smaller scores corresponding to various detector projection.

Todo:

Handler does not work &#8212; not fully implemented

class DecomposeScoresInTrack : public na64dp::AbstractHitHandler<event::Track>, public na64dp::calib::Handle<nameutils::DetectorNaming>¶

Decomposes composite scores into simpler ones.

Track score can be a union of another, simpler scores &#8212; for instance two planes of a single station that measure X and Y can be combined (“conjugated”) to provide 2D score (e.g., see ConjugateAPVHits, ConjugateStrawHits etc handlers).

Having conjugated scores is useful for certain tasks, like track finding where it is convenient to operate with spatial points, clusters of hits, etc.

This handler performs a reverse procedure by splitting composite scores into simpler ones. It may be not quite useful per se, but within a track it can help to provide more information for subsequent track fitting procedure: for instance, elaborated track fitting procedure can prefer 1D track scores over combined 2D hits if one of the projection planes is not properly aligned. To run this handler within a track consider subordinating it within TrackScoreIteratingHandler’s pipeline.

Note

Does not split spatial scores onto local ones; for that purpose see BreakTrackScores.

class GenFit2_FitTrack : public na64dp::AbstractHitHandler<event::Track>, public na64dp::handlers::aux::GenfitGeometryCache¶
#include <fitTrack.hh>

An interface to GenFit2 track fitting procedure.

This class implements some common functionality for track reconstruction routines:

  • conversion of NA64SW tracks into GenFit2’s tracks;

  • track fitting using genfit::AbsFitter interface

  • conversion of GenFit2’s fitted tracks into NA64SW tracks;

  • maintains geometrical description up to date

Note

_collectRT does not turns on R(T) collection unless drift features are already allocated by score creation routine. If you wish to collect R(T) in hodoscopic mode (without any R(T) being used), consider plotting lR[0] vs time by Histogram2D.

Next Previous

© Copyright 2022, NA64 Collaboration (CERN).

Built with Sphinx using a theme provided by Read the Docs.