Implements PixelFitterBase.
Definition at line 68 of file KFBasedPixelFitter.cc.
71 std::unique_ptr<reco::Track>
ret;
94 if (circle.curvature() > 1.e-4) {
96 float valPt = 1.f / invPt;
99 charge = (chargeTmp > 0) ? -1 : 1;
100 float valPhi = (
charge > 0) ? std::atan2(circle.center().x(), -circle.center().y())
101 : std::atan2(-circle.center().x(), circle.center().y());
106 initMom *= 10000. / initMom.
perp();
119 float zErr = vertexErr.czz();
120 float transverseErr = vertexErr.cxx();
121 C[3][3] = transverseErr;
122 C[4][4] = zErr * sin2th + transverseErr * (1 - sin2th);
132 DetId outerDetId = 0;
134 for (
unsigned int iHit = 0; iHit <
hits.size(); iHit++) {
138 outerDetId =
hit->geographicalId();
150 DetId innerDetId = 0;
152 for (
int iHit = 2; iHit >= 0; --iHit) {
154 innerDetId =
hit->geographicalId();
167 if (!impactPointState.isValid())
175 MyBeamSpotGeomDet bsgd(
Plane::build(impactPointState.surface().position(), impactPointState.surface().rotation()));
177 impactPointState =
updator.update(impactPointState, bsrh);
180 if (!impactPointState.isValid())
185 GlobalPoint vv = impactPointState.globalPosition();
191 ret = std::make_unique<reco::Track>(
192 chi2,
ndof,
pos, mom, impactPointState.charge(), impactPointState.curvilinearError());
References TransientTrackingRecHitBuilder::build(), Plane::build(), gen::C, CircleFromThreePoints::center(), ALCARECOTkAlJpsiMuMu_cff::charge, hltPixelTracks_cff::chi2, funct::cos(), CircleFromThreePoints::curvature(), GlobalErrorBase< T, ErrorWeightType >::cxx(), GlobalErrorBase< T, ErrorWeightType >::czz(), TransverseImpactPointExtrapolator::extrapolate(), hfClusterShapes_cfi::hits, TrackerGeometry::idToDet(), PixelRecoUtilities::inversePt(), TrajectoryStateOnSurface::isValid(), SiStripPI::max, ndof, nhits, PV3DBase< T, PVType, FrameType >::perp(), HLT_2018_cff::points, createTree::pp, Propagator::propagate(), ptMin, rpcPointValidation_cfi::recHit, HLT_2018_cff::region, TrajectoryStateOnSurface::rescaleError(), runTheMatrix::ret, singleTopDQM_cfi::setup, funct::sin(), sqr(), GeomDet::surface(), funct::tan(), theBeamSpot, theField, theOPropagator, thePropagator, PV3DBase< T, PVType, FrameType >::theta(), theta(), theTracker, theTTRHBuilder, GeomDet::toGlobal(), HLT_2018_cff::updator, x, PV3DBase< T, PVType, FrameType >::x(), Basic2DVector< T >::x(), y, PV3DBase< T, PVType, FrameType >::y(), Basic2DVector< T >::y(), and PV3DBase< T, PVType, FrameType >::z().