TrackSeederProcessor takes the TrackerHits of each track and calculates initial track parameters to have a seed for fitting algorithms.
More...
#include <TrackSeederProcessor.h>
|
| TrackSeederProcessor () |
| Default constructor.
|
|
| ~TrackSeederProcessor () |
| Destructor.
|
|
Processor * | newProcessor () |
| Return a new instance of this processor.
|
|
void | init () |
| Called at the begin of the job before anything is read.
|
|
void | processRunHeader (lcio::LCRunHeader *run) |
| Called once per run to process the event's header.
|
|
virtual void | processEvent (lcio::LCEvent *evt) |
| Called for every event - the working horse.
|
|
virtual void | check (lcio::LCEvent *evt) |
| Called for every event - right after processEvent() has been called for all processors.
|
|
virtual void | end () |
| Called after data processing for clean up in the inverse order of the init() method so that resources allocated in the first processor also will be available for all following processors.
|
|
TrackSeederProcessor takes the TrackerHits of each track and calculates initial track parameters to have a seed for fitting algorithms.
- Author
- M. Killenberg(University of Bonn)
Based on the disk layout algorithm by
- Author
- J. Abernathy (UVic)
Input - Prerequisites
- A collection of track candidates (lcio::Tracks) containing the TrackerHits from which the seed parameters are calculated.
Note: The LCIO::TRBIT_HITS flag has to be set when this collection is created so the hits are stored in the track.
Output
- Collection of seed tracks
- Parameters
-
InputTrackCandidates | The the name of the input collection of track candidates (default: TPCTrackCandidates) |
OutputSeedTracks | The name of the collection the seed tracks be stored under (default: TPCSeedTracks) |
SetOutputTransient | If not 0 the output collection is set transient (default: 0) |
How the algorithm works:
- xy-plane: The hits are sorted in y. The first, the last and the point in the middle of this list are taken to calculate the curvature Omega, d_0 and phi. The reference point is the origin.
- sz-plane: Now that the parameters in the xy plane are known on can calculate the arc length in the xy-plane (s) for each point. Afterwards the points are sorted in z. In principle it would be enough to calculate
, where
and
are the s and the z of the first and the second point, respectivley (or any other combination with
, preferably
being as large as possible to have a good lever arm).
Unfortunately this does not work, since s can only be determined modulo
in the interval
from the x and y coordinates. To solve this ambiguity one could map z in to the range
.
In the example the point at z=6.5 is wrapped from s/z = -3.24 to +3.04, so the first slope is not correct. This jump can occur at any position in the list, not only between the fist and the second point. It is assumed that two of the first three slopes m1, m2, m3 are correct, while one might be wrong due to such a jump. So if one of the ratios m1/m2, m1/m3 or m2/m3 is near 1 (FIXME 0.9..1.1?, or within the errors? which errors?) the mean of these two slopes is taken as estimate for
.
The documentation for this class was generated from the following files: