Go to the documentation of this file.
40 result[0] = localPosition().x();
71 std::unique_ptr<reco::Track>
ret;
96 float valPt = 1.f / invPt;
99 charge = (chargeTmp > 0) ? -1 : 1;
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())
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());
ret
prodAgent to be discontinued
const TrackerGeomDet * idToDet(DetId) const override
AlgebraicMatrix projectionMatrix() const override
Geom::Theta< T > theta() const
T inversePt(T curvature, const edm::EventSetup &iSetup)
const Propagator * theOPropagator
Point3DBase< Scalar, LocalTag > LocalPoint
std::shared_ptr< TrackingRecHit const > RecHitPointer
Global3DVector GlobalVector
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
AlgebraicSymMatrix parametersError() const override
Sin< T >::type sin(const T &t)
const Plane & surface() const
The nominal surface of the GeomDet.
const reco::BeamSpot * theBeamSpot
Cos< T >::type cos(const T &t)
T y() const
Cartesian y coordinate.
CLHEP::HepVector AlgebraicVector
LocalPoint localPosition_
T x() const
Cartesian x coordinate.
Geom::Theta< T > theta() const
static PlanePointer build(Args &&... args)
const TransientTrackingRecHitBuilder * theTTRHBuilder
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
XYZPointD XYZPoint
point in space with cartesian internal representation
const MagneticField * theField
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Tan< T >::type tan(const T &t)
std::unique_ptr< reco::Track > run(const std::vector< const TrackingRecHit * > &hits, const TrackingRegion ®ion, const edm::EventSetup &setup) const override
CLHEP::HepSymMatrix AlgebraicSymMatrix
MyBeamSpotHit(const reco::BeamSpot &beamSpot, const GeomDet *geom)
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
void rescaleError(double factor)
CLHEP::HepMatrix AlgebraicMatrix
KFBasedPixelFitter(const Propagator *propagator, const Propagator *opropagator, const TransientTrackingRecHitBuilder *ttrhBuilder, const TrackerGeometry *tracker, const MagneticField *field, const reco::BeamSpot *beamSpot)
const Propagator * thePropagator
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
AlgebraicVector parameters() const override
const TrackerGeometry * theTracker