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
disabledmomentum
– Initial momentum of the trackpdg
– Particle type PDG codefitInfo.chi2
– chi-squared value of track fit (propagated fromfitInfo:TrackFitInfo
, returnschi2
)fitInfo.ndf
– Number of degrees of freedom of track fit (propagated fromfitInfo:TrackFitInfo
, returnsndf
)fitInfo.pval
– p-value of track fitting (propagated fromfitInfo:TrackFitInfo
, returnspval
)fitInfo.chi2ndf
– chi^2/NDF value (propagated from custom getterfitInfo:TrackFitInfo
, returnschi2ndf
)zonePattern
– Bitmask of zones for the tracknscores
– 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 onlygR
field and will throw exception if score does not providegR
[["own", false], ["mc-truth", true]]
will usegR
if given. Otherwise will try to usemcTruth.globalPosition
and will emit an error if latter is not provided in score[["mc-truth", false]]
will try to usemcTruth.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) scorekeep
sub-scores will be created as standalone ones, original is kept intactremove
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 — 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 — 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
interfaceconversion 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 plottinglR[0]
vs time byHistogram2D
.
-
class BreakTrackScores : public na64dp::AbstractHitHandler<event::TrackScore>, public na64dp::calib::SetupGeometryCache¶