11 #ifndef DataFormats_CTPPSReco_CTPPSPixelLocalTrack_H 12 #define DataFormats_CTPPSReco_CTPPSPixelLocalTrack_H 86 enum class TrackPar { x0 = 0, y0 = 1, tx = 2, ty = 3 };
100 numberOfPointsUsedForFit_(0),
104 const ParameterVector& track_params_vector,
105 const CovarianceMatrix& par_covariance_matrix,
112 track_hits_vector_.find_or_insert(detId).push_back(hit);
114 ++numberOfPointsUsedForFit_;
117 inline float x0()
const {
return track_params_vector_[(
unsigned int)TrackPar::x0]; }
119 return sqrt(par_covariance_matrix_[(
unsigned int)TrackPar::x0][(
unsigned int)TrackPar::x0]);
122 return par_covariance_matrix_[(
unsigned int)TrackPar::x0][(
unsigned int)TrackPar::x0];
125 inline float y0()
const {
return track_params_vector_[(
unsigned int)TrackPar::y0]; }
127 return sqrt(par_covariance_matrix_[(
unsigned int)TrackPar::y0][(
unsigned int)TrackPar::y0]);
130 return par_covariance_matrix_[(
unsigned int)TrackPar::y0][(
unsigned int)TrackPar::y0];
133 inline float z0()
const {
return z0_; }
136 inline float tx()
const {
return track_params_vector_[(
unsigned int)TrackPar::tx]; }
138 return sqrt(par_covariance_matrix_[(
unsigned int)TrackPar::tx][(
unsigned int)TrackPar::tx]);
141 inline float ty()
const {
return track_params_vector_[(
unsigned int)TrackPar::ty]; }
143 return sqrt(par_covariance_matrix_[(
unsigned int)TrackPar::ty][(
unsigned int)TrackPar::ty]);
151 inline const ParameterVector&
parameterVector()
const {
return track_params_vector_; }
158 if (numberOfPointsUsedForFit_ <= dimension / 2)
161 return chiSquared_ / (2 * numberOfPointsUsedForFit_ -
dimension);
164 inline int ndf()
const {
return (2 * numberOfPointsUsedForFit_ - dimension); }
168 float delta_z = z - z0_;
170 track_params_vector_[(
unsigned int)TrackPar::x0] + track_params_vector_[(
unsigned int)TrackPar::tx] * delta_z,
171 track_params_vector_[(
unsigned int)TrackPar::y0] + track_params_vector_[(
unsigned int)TrackPar::ty] * delta_z,
177 track_params_vector_[(
unsigned int)TrackPar::x0], track_params_vector_[(
unsigned int)TrackPar::y0], z0_);
CTPPSPixelFittedRecHit(const CTPPSPixelRecHit &hit, const GlobalPoint &space_point_on_det, const LocalPoint &residual, const LocalPoint &pull)
const GlobalPoint & globalCoordinates() const
const ParameterVector & parameterVector() const
GlobalPoint trackPoint(float z) const
returns the point from which the track is passing by at the selected z
float yPullNormalization() const
LocalPoint pull_
normalised residual
math::Error< dimension >::type CovarianceMatrix
Global3DPoint GlobalPoint
int numberOfPointsUsedForFit_
number of points used for the track fit
GlobalPoint trackCentrePoint()
ParameterVector track_params_vector_
track parameters: (x0, y0, tx, ty); x = x0 + tx*(z-z0) ...
CTPPSpixelLocalTrackReconstructionInfo
static const uint16_t valid_
unsigned short numberOfPointsUsedForFit() const
const CovarianceMatrix & covarianceMatrix() const
float chiSquared_
fit chi^2
const edm::DetSetVector< CTPPSPixelFittedRecHit > & hits() const
void setRecoInfo(CTPPSpixelLocalTrackReconstructionInfo recoInfo)
float chiSquaredOverNDF() const
void setIsUsedForFit(bool usedForFit)
void addHit(unsigned int detId, const CTPPSPixelFittedRecHit &hit)
Vector3DBase unit() const
void setIsRealHit(bool realHit)
edm::DetSetVector< CTPPSPixelFittedRecHit > track_hits_vector_
virtual ~CTPPSPixelFittedRecHit()
CTPPSpixelLocalTrackReconstructionInfo recoInfo_
CTPPSpixelLocalTrackReconstructionInfo recoInfo() const
float xPullNormalization() const
GlobalPoint space_point_on_det_
mm
math::Vector< dimension >::type ParameterVector
covariance matrix size
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > AlgebraicSymMatrix22
bool operator<(DTCELinkId const &lhs, DTCELinkId const &rhs)
bool isUsedForFit() const
CovarianceMatrix par_covariance_matrix_
GlobalVector directionVector() const
uint32_t dimension(pat::CandKinResolution::Parametrization parametrization)
Returns the number of free parameters in a parametrization (3 or 4)
void setValid(bool valid)