1 #ifndef TRACKSEEDERPROCESSOR_H
2 #define TRACKSEEDERPROCESSOR_H 1
5 #include "marlin/Processor.h"
10 #include <EVENT/TrackerHit.h>
96 virtual void check(lcio::LCEvent *evt);
107 std::string _input_track_candidates_collection_name;
111 std::string _output_seed_tracks_collection_name;
117 int _outputIsTransient;
121 bool _produce_s_z_tuples;
125 double _radius_threshold;
129 std::string _tpc_conditions_collection_name;
134 std::vector<double> calculate_least_squares_line(std::vector< std::pair<double, double> > points);
139 std::vector<double> calculate_least_squares_circle(std::vector< std::pair<double, double> > points);
145 class sort_by_distance_from_point
149 sort_by_distance_from_point(
double x,
double y,
double z):
154 bool operator()(EVENT::TrackerHit* hit1, EVENT::TrackerHit* hit2)
156 double dx = _x - hit1->getPosition()[0];
157 double dy = _y - hit1->getPosition()[1];
158 double dz = _z - hit1->getPosition()[2];
160 const double d1 = sqrt(dx * dx + dy * dy + dz * dz);
162 dx = _x - hit2->getPosition()[0];
163 dy = _y - hit2->getPosition()[1];
164 dz = _z - hit2->getPosition()[2];
166 const double d2 = sqrt(dx * dx + dy * dy + dz * dz);
181 bool operator()(std::pair<double, double> sz1, std::pair<double, double> sz2)
183 return (sz1.second < sz2.second);
195 #endif // TRACKSEEDERPROCESSOR_H
virtual void end()
Called after data processing for clean up in the inverse order of the init() method so that resources...
Definition: TrackSeederProcessor.cc:534
void init()
Called at the begin of the job before anything is read.
Definition: TrackSeederProcessor.cc:88
TrackSeederProcessor takes the TrackerHits of each track and calculates initial track parameters to h...
Definition: TrackSeederProcessor.h:59
Processor * newProcessor()
Return a new instance of this processor.
Definition: TrackSeederProcessor.cc:520
~TrackSeederProcessor()
Destructor.
Definition: TrackSeederProcessor.cc:82
virtual void processEvent(lcio::LCEvent *evt)
Called for every event - the working horse.
Definition: TrackSeederProcessor.cc:136
TrackSeederProcessor()
Default constructor.
Definition: TrackSeederProcessor.cc:48
void processRunHeader(lcio::LCRunHeader *run)
Called once per run to process the event's header.
Definition: TrackSeederProcessor.cc:121
virtual void check(lcio::LCEvent *evt)
Called for every event - right after processEvent() has been called for all processors.
Definition: TrackSeederProcessor.cc:527