MarlinTPC
1.2.0
|
A processor which instantiates a TrackFitterSimpleChiSquare and fits the tracks with it. More...
#include <TrackFitterSimpleChiSquareProcessor.h>
Public Member Functions | |
TrackFitterSimpleChiSquareProcessor () | |
Default constructor. | |
~TrackFitterSimpleChiSquareProcessor () | |
Destructor. | |
Processor * | newProcessor () |
Return a new instance of this processor. | |
void | init () |
In this processor the init function set the collection parameters for the track collection and instantiates the TrackFitterFactory. | |
void | processRunHeader (lcio::LCRunHeader *run) |
Called once per run to process the event's header. | |
virtual void | processEvent (lcio::LCEvent *evt) |
Process event requests a track fitter from the TrackFitterFactory for each event (to update possible conditions data). More... | |
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. | |
Protected Attributes | |
std::string | _input_seed_tracks_collection_name |
The name of the input collection of seed tracks. | |
std::string | _output_tracks_collection_name |
The name of the output collection with the fitted tracks. | |
int | _outputIsTransient |
Give the status which is set to the transient flag of the output collection. More... | |
EVENT::LCParameters * | _trackCollectionParameters |
float | _transDefocussing |
float | _longDefocussing |
float | _transDiffusionCoef |
float | _longDiffusionCoef |
float | _d0Start |
the optional start parameters | |
float | _phiStart |
float | _omegaStart |
float | _tanLambdaStart |
float | _z0Start |
bool | _fixD0 |
the flags which fit parameters to fix | |
bool | _fixPhi |
bool | _fixOmega |
bool | _fixTanLambda |
bool | _fixZ0 |
bool | _noZFit |
flag whether to fit in z or only xy | |
int | _nGoodFits |
int | _nBadFits |
A processor which instantiates a TrackFitterSimpleChiSquare and fits the tracks with it.
InputTrackCandidates | The the name of the input collection of track candidates (default: TPCTrackCandidates) |
OutputTracks | The name of the collection the straight tracks be stored under (default: TPCTracks) |
SetOutputTransient | If not 0 the output collection is set transient (default: 0) |
TransDefocussing | The transverse defocussing in the readout structure ![]() |
LongDefocussing | The longitudinal defocussing in the readout structure ![]() |
TransDiffusionCoef | The transverse diffusion coefficient (in mm/ ![]() |
TransDefocussing | The longitudinal diffusion coefficient (in mm/ ![]() |
The parameters for the starting values of the fit are optional parameter. If the parameter is given, it is use. If the parameter is not given the value from the seed track is used.
D0Start | optional Use this start value for D0 instead of the value from the seed track |
TanLambdaStart | optional Use this start value for TanLambda instead of the value from the seed track |
Z0Start | optional Use this start value for Z0 instead of the value from the seed track |
OmegaStart | optional Use this start value for Omega instead of the value from the seed track |
PhiStart | optional Use this start value for Phi instead of the value from the seed track |
The following parameters allow to fix a track parameter during the fit. To fit a straight line for instance set OmegaStart
to 0. and FixOmega to true
.
FixD0 | Do not vary d0 when fitting (default: false) |
FixPhi | Do not vary phi when fitting (default: false) |
FixOmega | Do not vary omega when fitting (default: false) |
FixTanLambda | Do not vary tanLambda when fitting (default: false) |
FixZ0 | Do not vary z0 when fitting (default: false) |
If you just want to fit in the transverse direction set NoZFit to true. The residuals function will not include the residuals in z.
NoZFit | Do not fit in z direction, only use residuals in x-y / r-phi (default: false) |
|
virtual |
Process event requests a track fitter from the TrackFitterFactory for each event (to update possible conditions data).
Afterwards it loops all tracks and fits them.
References _d0Start, _fixD0, _input_seed_tracks_collection_name, _noZFit, _output_tracks_collection_name, marlintpc::TrackFitterBase::FITFAILEDBIT, marlintpc::TrackFitterBase::fitTrack(), marlintpc::TrackFitterBase::fixD0(), marlintpc::TrackFitterBase::fixOmega(), marlintpc::TrackFitterBase::fixPhi(), marlintpc::TrackFitterBase::fixTanLambda(), marlintpc::TrackFitterBase::fixZ0(), marlintpc::TrackFitterBase::getFitterType(), marlintpc::TrackFitterFactory::getTrackFitter(), marlintpc::TrackFitterBase::setD0Start(), marlintpc::TrackFitterBase::setNoZFitFlag(), marlintpc::TrackFitterBase::setOmegaStart(), marlintpc::TrackFitterBase::setPhiStart(), marlintpc::TrackFitterBase::setTanLambdaStart(), marlintpc::TrackFitterBase::setZ0Start(), and marlintpc::TrackFitterBase::FitterTypes::SIMPLECHISQUARE.
|
protected |
Give the status which is set to the transient flag of the output collection.
It is an int instead of a boolean, because the processor parameter cannot be a boolean. Hits and tracks can be set separately.
Referenced by TrackFitterSimpleChiSquareProcessor().