MarlinTPC  1.2.0
TrackFitterSimpleChiSquareProcessor.h
1 #ifndef TRACK_FITTER_SIMPLE_CHI_SQUARE_PROCESSOR_H
2 #define TRACK_FITTER_SIMPLE_CHI_SQUARE_PROCESSOR 1
3 
4 #include "marlin/Processor.h"
5 //#include "lcio.h"
6 //#include <string>
7 #include <vector>
8 #include "TrackFitterFactory.h"
9 
10 //#include <EVENT/TrackerHit.h>
11 
12 //namespace AIDA {
13 //
14 // class IHistogram1D;
15 // class IHistogram2D;
16 //
17 //
18 //}
19 
20 
21 namespace marlintpc
22 {
23 
66 class TrackFitterSimpleChiSquareProcessor : public marlin::Processor
67 {
68 
69  public:
70 
74 
75 
79 
80 
83  Processor * newProcessor();
84 
85 
90  void init();
91 
92 
95  void processRunHeader(lcio::LCRunHeader *run);
96 
97 
103  virtual void processEvent(lcio::LCEvent *evt);
104 
105 
109  virtual void check(lcio::LCEvent *evt);
110 
111 
117  virtual void end();
118 
119 
120  protected:
121 
125 
129 
135  int _outputIsTransient; //< if not 0 the hits collection is set transient
136  //(default 0)
137 
138  EVENT::LCParameters * _trackCollectionParameters;
139 
140  float _transDefocussing, _longDefocussing, _transDiffusionCoef, _longDiffusionCoef;
141 
143  float _d0Start, _phiStart, _omegaStart, _tanLambdaStart, _z0Start;
144 
146  bool _fixD0, _fixPhi, _fixOmega, _fixTanLambda, _fixZ0;
147 
149  bool _noZFit;
150 
151  int _nGoodFits, _nBadFits;
152 };
153 
154 }// namespace marlintoc
155 
156 #endif // TRACKSEEDERPROCESSOR_H
157 
158 
159 
void processRunHeader(lcio::LCRunHeader *run)
Called once per run to process the event's header.
Definition: TrackFitterSimpleChiSquareProcessor.cc:184
void init()
In this processor the init function set the collection parameters for the track collection and instan...
Definition: TrackFitterSimpleChiSquareProcessor.cc:146
virtual void check(lcio::LCEvent *evt)
Called for every event - right after processEvent() has been called for all processors.
Definition: TrackFitterSimpleChiSquareProcessor.cc:365
bool _fixD0
the flags which fit parameters to fix
Definition: TrackFitterSimpleChiSquareProcessor.h:146
Processor * newProcessor()
Return a new instance of this processor.
Definition: TrackFitterSimpleChiSquareProcessor.cc:358
std::string _output_tracks_collection_name
The name of the output collection with the fitted tracks.
Definition: TrackFitterSimpleChiSquareProcessor.h:128
std::string _input_seed_tracks_collection_name
The name of the input collection of seed tracks.
Definition: TrackFitterSimpleChiSquareProcessor.h:124
A processor which instantiates a TrackFitterSimpleChiSquare and fits the tracks with it...
Definition: TrackFitterSimpleChiSquareProcessor.h:66
int _outputIsTransient
Give the status which is set to the transient flag of the output collection.
Definition: TrackFitterSimpleChiSquareProcessor.h:135
virtual void end()
Called after data processing for clean up in the inverse order of the init() method so that resources...
Definition: TrackFitterSimpleChiSquareProcessor.cc:370
~TrackFitterSimpleChiSquareProcessor()
Destructor.
Definition: TrackFitterSimpleChiSquareProcessor.cc:140
bool _noZFit
flag whether to fit in z or only xy
Definition: TrackFitterSimpleChiSquareProcessor.h:149
TrackFitterSimpleChiSquareProcessor()
Default constructor.
Definition: TrackFitterSimpleChiSquareProcessor.cc:39
float _d0Start
the optional start parameters
Definition: TrackFitterSimpleChiSquareProcessor.h:143
virtual void processEvent(lcio::LCEvent *evt)
Process event requests a track fitter from the TrackFitterFactory for each event (to update possible ...
Definition: TrackFitterSimpleChiSquareProcessor.cc:199