|
|
Go to the documentation of this file.
23 phiErrorScale{theConfig.getParameter<
double>(
"phiErrorScale")},
25 tipErrorScale{theConfig.getParameter<
double>(
"tipErrorScale")},
26 zipErrorScale{theConfig.getParameter<
double>(
"zipErrorScale")} {}
40 const std::vector<const TrackingRecHit*>&
hits,
50 int charge = (invPt > 0.) ? 1 : -1;
63 double valPt = (fabs(invPt) > 1.e-4) ? 1. / fabs(invPt) : 1.e4;
216 return p0 +
p1 * fabs(invPt);
334 return p0 +
p1 * fabs(invPt);
457 return p0 +
p1 * fabs(invPt);
464 double rho3 = curv * curv * curv;
465 double r1 = pinner.
perp();
466 double phi1 =
r1 * curv / 2 + pinner.
perp2() *
r1 * rho3 / 48.;
467 double r2 = pouter.
perp();
468 double phi2 =
r2 * curv / 2 + pouter.
perp2() *
r2 * rho3 / 48.;
469 double z1 = pinner.
z();
470 double z2 = pouter.
z();
472 return z1 - phi1 / (phi1 - phi2) * (z1 -
z2);
588 return p0 +
p1 * fabs(invPt);
602 double dphi =
deltaPhi(phiL1, phi0);
603 if (fabs(dphi) < 0.01) {
606 double q = dphi / 2. /
p3;
607 double p =
p1 / 3. /
p3;
608 double D =
q *
q +
p *
p *
p;
729 return p1 + p0 * fabs(invPt);
733 double dphi_min = fabs(
deltaPhi(phi0, phiL1));
736 while (pt_cur < 10000.) {
738 double dphi = fabs(
deltaPhi(phi_exp, phiL1));
739 if (dphi < dphi_min) {
745 else if (pt_cur < 20.)
747 else if (pt_cur < 100.)
871 return p0 +
p1 *
sqr(invPt);
1007 while (phi1 >= 2 *
M_PI)
1009 while (phi2 >= 2 *
M_PI)
1015 double dPhi = phi2 - phi1;
T const * product() const
const double tipErrorScale
const double invPtErrorScale
void setPxConstraint(const SeedingHitSet &hits)
const double phiErrorScale
double errTip(double invPt, double eta) const
double errInversePt(double invPt, double eta) const
double valCotTheta(const PixelRecoLineRZ &line) const
T curvature(T InversePt, const edm::EventSetup &iSetup)
virtual reco::Track * run(const edm::EventSetup &es, const std::vector< const TrackingRecHit * > &hits, const TrackingRegion ®ion) const
double errPhi(double invPt, double eta) const
static double getBending(double invPt, double eta, int charge)
static double getBendingError(double invPt, double eta)
double valTip(const Circle &c, double curvature) const
static void param(double eta, double &p1, double &p2, double &p3)
edm::ParameterSet theConfig
double errZip(double invPt, double eta) const
const double zipErrorScale
double errCotTheta(double invPt, double eta) const
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
void setL1Constraint(const L1MuGMTCand &muon)
OutputIterator zip(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)
double valPhi(const Circle &c, int charge) const
reco::Track * build(const Measurement1D &pt, const Measurement1D &phi, const Measurement1D &cotTheta, const Measurement1D &tip, const Measurement1D &zip, float chi2, int charge, const std::vector< const TrackingRecHit * > &hits, const MagneticField *mf, const GlobalPoint &reference=GlobalPoint(0, 0, 0)) const
T getParameter(std::string const &) const
double deltaPhi(double phi1, double phi2) const
DecomposeProduct< arg, typename Div::arg > D
const double cotThetaErrorScale
const Point & center() const
Power< A, B >::type pow(const A &a, const B &b)
double findPt(double phi0, double phiL1, double eta, int charge) const
L1MuonPixelTrackFitter(const edm::ParameterSet &cfg)
double valInversePt(double phi0, double phiL1, double eta) const
double valZip(double curvature, const GlobalPoint &p0, const GlobalPoint &p1) const