|
|
Go to the documentation of this file.
35 str <<
"\t pt: " <<
pt.value() <<
"+/-" <<
pt.error() <<
"\t phi: " <<
phi.value() <<
"+/-" <<
phi.error()
36 <<
"\t cot: " << cotTheta.
value() <<
"+/-" << cotTheta.
error() <<
"\t tip: " <<
tip.value() <<
"+/-"
37 <<
tip.error() <<
"\t zip: " <<
zip.value() <<
"+/-" <<
zip.error() <<
"\t chi2: " <<
chi2
38 <<
"\t charge: " <<
charge;
50 float errLambda2 =
sqr(
track.lambdaError());
53 float pt_v =
track.pt();
54 float errInvP2 =
sqr(
track.qoverpError());
55 float covIPtTheta =
track.covariance(TrackBase::i_qoverp, TrackBase::i_lambda);
57 (errInvP2 +
sqr(cosTheta / pt_v) * errLambda2 + 2 * (cosTheta / pt_v) * covIPtTheta) /
sqr(sinTheta);
74 float errPhi2 = curv.
matrix()(3, 3);
75 float errLambda2 = curv.
matrix()(2, 2);
76 float errInvP2 = curv.
matrix()(1, 1);
77 float covIPtTheta = curv.
matrix()(1, 2);
78 float cosTheta =
cos(theta_v);
79 float sinTheta =
sin(theta_v);
81 (errInvP2 +
sqr(cosTheta / pt_v) * errLambda2 + 2 * (cosTheta / pt_v) * covIPtTheta) /
sqr(sinTheta);
82 float errCotTheta =
sqrt(errLambda2) /
sqr(sinTheta);
105 LogTrace(
"") <<
" *** PixelTrackBuilder::checkState: ";
107 LogTrace(
"") <<
"INPUT, TSOS:" <<
'\n' << state;
111 LogTrace(
"") <<
"CHECK-1 ROTATION" <<
'\n' <<
test.surface().rotation();
117 LogTrace(
"") <<
"CHECK-2 FTS: " << fs;
130 const std::vector<const TrackingRecHit*>&
hits,
133 LogDebug(
"PixelTrackBuilder::build");
137 double cosTheta = cotTheta.
value() * sinTheta;
138 int tipSign =
tip.value() > 0 ? 1 : -1;
141 double invPtErr = 1. /
sqr(
pt.value()) *
pt.error();
142 m(0, 0) =
sqr(sinTheta) * (
sqr(invPtErr) +
sqr(cotTheta.
error() /
pt.value() * cosTheta * sinTheta));
143 m(0, 2) =
sqr(cotTheta.
error()) * cosTheta *
sqr(sinTheta) /
pt.value();
144 m(1, 1) =
sqr(phi.error());
168 checkState(impactPointState, mf);
170 LogTrace(
"") <<
"constructed TSOS:\n" <<
print(impactPointState);
pointer clone() const override
Geom::Theta< T > theta() const
TrackCharge charge() const
const AlgebraicSymMatrix55 & matrix() const
Point3DBase< Scalar, LocalTag > LocalPoint
Sin< T >::type sin(const T &t)
const LocalTrajectoryError & localError() const
Cos< T >::type cos(const T &t)
Geom::Theta< T > theta() const
const SurfaceType & surface() const
void addReference() const
LocalVector localMomentum() const
XYZPointD XYZPoint
point in space with cartesian internal representation
float __attribute__((vector_size(8))) cms_float32x2_t
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Local3DVector LocalVector
GlobalPoint globalPosition() const
S & print(S &os, JobReport::InputFile const &f)
OutputIterator zip(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)
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
LocalPoint localPosition() const
const CurvilinearTrajectoryError & curvilinearError() const
const RotationType & rotation() const
const FreeTrajectoryState & theState() const
def cp(fromDir, toDir, listOfFiles, overwrite=False, smallList=False)
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
Geom::Phi< T > phi() const
const AlgebraicSymMatrix55 & matrix() const
GlobalVector globalMomentum() const