17 typedef reco::VertexCollection::const_iterator IV;
23 for (
auto const&
vtx : vertices) {
24 float w =
vtx.trackWeight(trackRef);
40 for (IV iv = vertices.begin(); iv != vertices.end(); ++iv) {
41 int ivtx = iv - vertices.begin();
48 bool useTimeVtx = useTime && iv->tError() > 0.;
63 int vtxIdMinSignif = -1;
64 for (IV iv = vertices.begin(); iv != vertices.end(); ++iv) {
68 double dzsig = dz / track->
dzError();
69 double dist = dzsig * dzsig;
71 bool useTimeVtx = useTime && iv->tError() > 0.;
72 if (useTime && !useTimeVtx) {
77 double dtsig = dt / timeReso;
79 dist += dtsig * dtsig;
85 vtxIdMinSignif = iv - vertices.begin();
90 const float add_cov = vtxIdMinSignif >= 0 ? vertices[vtxIdMinSignif].covariance(2, 2) : 0.f;
92 if (vtxIdMinSignif >= 0 and
96 iVertex = vtxIdMinSignif;
119 GlobalVector direction(jets.
at(jetIdx).px(), jets.
at(jetIdx).py(), jets.
at(jetIdx).pz());
123 for (IV iv = vertices.begin(); iv != vertices.end(); ++iv) {
130 if (distanceToJetAxis < minDistanceToJetAxis) {
131 minDistanceToJetAxis = distanceToJetAxis;
146 return std::pair<int, PrimaryVertexAssignment::Quality>(vtxIdMinSignif,
152 if (vtxIdMinSignif >= 0)
double maxDtSigForPrimaryAssignment_
double maxDzForPrimaryAssignment_
constexpr bool isNotFinite(T x)
double dxyError() const
error on dxy
reco::TransientTrack build(const reco::Track *p) const
double maxDzErrorForPrimaryAssignment_
std::vector< Vertex > VertexCollection
collection of Vertex objects
double maxDxySigForNotReconstructedPrimary_
double maxDistanceToJetAxis_
const_iterator begin() const
double maxDzSigForPrimaryAssignment_
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
double maxDzForJetAxisAssigment_
std::pair< int, PrimaryVertexAssignment::Quality > chargedHadronVertex(const reco::VertexCollection &vertices, const reco::TrackRef &trackRef, const reco::Track *track, float trackTime, float trackTimeResolution, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const
Abs< T >::type abs(const T &t)
double maxDxyForJetAxisAssigment_
std::vector< LinkConnSpec >::const_iterator IT
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
double dzError() const
error on dz
double maxDxyForNotReconstructedPrimary_
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
const_reference at(size_type pos) const
const_iterator end() const
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>