7 max3DIPSignificance(
params.getParameter<double>(
"seedMax3DIPSignificance")),
8 max3DIPValue(
params.getParameter<double>(
"seedMax3DIPValue")),
9 min3DIPSignificance(
params.getParameter<double>(
"seedMin3DIPSignificance")),
10 min3DIPValue(
params.getParameter<double>(
"seedMin3DIPValue")),
21 const std::vector<reco::TransientTrack> &
tracks,
25 std::vector<reco::TransientTrack>
result;
30 float pvDistance = ipSeed.second.value();
31 for (std::vector<reco::TransientTrack>::const_iterator
tt =
tracks.begin();
tt !=
tracks.end(); ++
tt) {
37 GlobalError ttPointErr =
tt->impactPointState().cartesianError().position();
39 GlobalError seedPositionErr =
seed.impactPointState().cartesianError().position();
51 float distanceFromPV = (dist.
points().second -
pv).
mag();
54 tt->impactPointState().globalDirection().x(),
tt->impactPointState().globalDirection().y(), 0.);
56 seed.impactPointState().globalDirection().x(),
seed.impactPointState().globalDirection().y(), 0.);
59 float dotprodTrack = (dist.
points().first -
pv).
unit().
dot(
tt->impactPointState().globalDirection().unit());
60 float dotprodSeed = (dist.
points().second -
pv).
unit().
dot(
seed.impactPointState().globalDirection().unit());
62 float w = distanceFromPV * distanceFromPV / (pvDistance *
distance);
78 std::cout <<
tt->trackBaseRef().key() <<
" : " << (selected ?
"+" :
" ") <<
" " <<
m.significance() <<
" < "
84 "timeSig: " << timeSig << std::endl;
96 GlobalPoint(seedingPoint.
x() / sumWeights, seedingPoint.
y() / sumWeights, seedingPoint.
z() / sumWeights);
97 return std::pair<std::vector<reco::TransientTrack>,
GlobalPoint>(
result, seedingPoint);
102 using namespace reco;
103 std::vector<TransientTrack>
seeds;
110 << ip.second.value() <<
" " << ip.second.significance() <<
" "
111 << it->track().hitPattern().trackerLayersWithMeasurement() <<
" " << it->track().pt() <<
" "
112 << it->track().eta() << std::endl;
114 seeds.push_back(*it);
120 for (std::vector<TransientTrack>::const_iterator
s =
seeds.begin();
s !=
seeds.end(); ++
s, ++
i) {