23 if (
recHit->isValid())
break;
26 unsigned int closest=ih;
27 auto globalPosition =
recHit->surface()->toGlobal(trajParams[0].
position());
28 auto distance2 = (vtxPos - globalPosition).
mag2();
33 auto nextHit = *(
hb+
h);
34 if (!nextHit->isValid() )
continue;
35 globalPosition = nextHit->surface()->toGlobal(trajParams[
h].
position());
36 auto nextDistance2 = (vtxPos - globalPosition).
mag2();
37 if (nextDistance2 > distance2)
break;
39 distance2=nextDistance2;
47 auto momDir =
recHit->surface()->toGlobal(trajParams[closest].direction());
48 globalPosition =
recHit->surface()->toGlobal(trajParams[closest].
position());
49 float decayLengthHitToVtx = (vtxPos - globalPosition).
dot(momDir);
55 float vertexError2 = ROOT::Math::Similarity(j,vtx.
covariance());
56 auto decayLenError =
std::sqrt(vertexError2);
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
double y() const
y coordinate
virtual bool sharesInput(const TrackingRecHit *other, SharedInputType what) const
double covariance(int i, int j) const
(i, j)-th element of error matrix, i, j = 0, ... 2
std::pair< uint8_t, Measurement1DFloat > nHitsBeforeVtx(const reco::TrackExtra &track, const reco::Vertex &vtx, float sigmaTolerance=3.0) const
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
float significance() const
ROOT::Math::SVector< double, 3 > AlgebraicVector3
double z() const
z coordinate
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
uint8_t nSharedHits(const reco::Track &trk1, const reco::Track &trk2) const
double x() const
x coordinate
T dot(const Basic3DVector &v) const
Scalar product, or "dot" product, with a vector of same type.
static int position[264][3]
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.