473 std::vector<TransientVertex>
pvs;
474 std::vector<TransientVertex>
seed(1);
477 if (cluster.originalTracks().size() > 1) {
478 std::vector<reco::TransientTrack> tracklist = cluster.originalTracks();
480 std::vector<std::pair<GlobalPoint, GlobalPoint>> points;
482 for (
const auto& itrack : tracklist) {
483 GlobalPoint p = itrack.stateAtBeamLine().trackStateAtPCA().position();
484 GlobalPoint err(itrack.stateAtBeamLine().transverseImpactParameter().error(),
485 itrack.stateAtBeamLine().transverseImpactParameter().error(),
486 itrack.track().dzError());
487 std::pair<GlobalPoint, GlobalPoint>
p2(
p,
err);
488 points.push_back(
p2);
492 if (!
v.hasTrackWeight()) {
495 for (
const auto& trk :
v.originalTracks()) {
496 trkWeightMap[trk] = 1.;
498 v.weightMap(trkWeightMap);
503 for (
const auto& itrack : tracklist) {
504 GlobalPoint p = itrack.impactPointState().globalPosition();
505 GlobalPoint err(itrack.track().dxyError(), itrack.track().dxyError(), itrack.track().dzError());
506 std::pair<GlobalPoint, GlobalPoint>
p2(
p,
err);
507 points.push_back(
p2);
511 if (!
v.hasTrackWeight()) {
514 for (
const auto& trk :
v.originalTracks()) {
515 trkWeightMap[trk] = 1.;
517 v.weightMap(trkWeightMap);
std::map< reco::TransientTrack, float > TransientTrackToFloatMap
TransientVertex weightedMeanOutlierRejectionBeamSpot(const std::vector< std::pair< GlobalPoint, GlobalPoint >> &points, std::vector< reco::TransientTrack > iclus, const reco::BeamSpot &beamSpot)
TransientVertex weightedMeanOutlierRejection(const std::vector< std::pair< GlobalPoint, GlobalPoint >> &points, std::vector< reco::TransientTrack > iclus)
constexpr float startError