8#include <tracking/trackFindingCDC/findlets/minimal/TrackFlightTimeAdjuster.h>
10#include <tracking/trackFindingCDC/eventdata/tracks/CDCTrack.h>
12#include <tracking/trackFindingCDC/eventdata/utils/FlightTimeEstimator.h>
18using namespace TrackFindingCDC;
22 return "Adjusts the flight time of tracks relative to the flight time zero location";
31 const double alpha = pos2D.
angleWith(dir2D);
32 const double beta = 1;
33 const double flightTime2D =
35 const double flightTime3D = flightTime2D * hypot2(1, startTrajectory3D.
getTanLambda());
37 track.setStartTrajectory3D(startTrajectory3D);
Class representing a sequence of three dimensional reconstructed hits.
Particle full three dimensional trajectory.
Vector3D getFlightDirection3DAtSupport() const
Get the unit momentum at the start point of the trajectory.
double getTanLambda() const
Getter for the slope of z over the transverse travel distance s.
void setFlightTime(double flightTime)
Setter for the time when the particle reached the support point position.
Vector3D getSupport() const
Getter for the support point of the trajectory in global coordinates, where arcLength2D = 0.
static const FlightTimeEstimator & instance(std::unique_ptr< FlightTimeEstimator > replacement=nullptr)
Getter for the instance.
virtual double getFlightTime2D(const Vector2D &, double, double=1) const
Default estimator for the flight time.
void apply(std::vector< CDCTrack > &tracks) final
Adjust the flight time of the given tracks.
std::string getDescription() final
Short description of the findlet.
A two dimensional vector which is equipped with functions for correct handling of orientation relate...
double angleWith(const Vector2D &rhs) const
The angle between this and rhs.
const Vector2D & xy() const
Getter for the xy projected vector ( reference ! )
Abstract base class for different kinds of events.