39 const std::vector<Trajectory>& trajVec) {
40 if (!trajVec.empty()) {
43 std::vector<std::pair<std::pair<DetId, LocalPoint>,
float> > hitangleassociation;
44 return hitangleassociation;
49 std::vector<std::pair<std::pair<DetId, LocalPoint>,
float> > hitangleassociation;
50 std::vector<TrajectoryMeasurement> TMeas = traj.
measurements();
51 std::vector<TrajectoryMeasurement>::iterator itm;
52 for (itm = TMeas.begin(); itm != TMeas.end(); itm++) {
54 auto thit = itm->recHit();
66 if (monotkdir.
z() != 0) {
68 float localpitch = static_cast<const StripTopology&>(monodet->
topology()).localPitch(tsos.
localPosition());
81 if (stereotkdir.
z() != 0) {
83 float localpitch = static_cast<const StripTopology&>(stereodet->
topology()).localPitch(tsos.
localPosition());
90 hitangleassociation.push_back(
97 if (trackdirection.z() != 0) {
99 float localpitch = static_cast<const StripTopology&>(det->
topology()).localPitch(tsos.
localPosition());
101 ((((((
hit->geographicalId()) >> 25) & 0x7f) == 0xd) || ((((
hit->geographicalId()) >> 25) & 0x7f) == 0xe)) &&
102 ((((
hit->geographicalId()) >> 5) & 0x7) > 4))
106 hitangleassociation.push_back(make_pair(make_pair(
hit->geographicalId(),
hit->localPosition()),
angle));
110 return hitangleassociation;
114 double v_xy =
sqrt(
v.x() *
v.x() +
v.y() *
v.y());
116 double Lmax = fabs(pitch /
v.x() * v_xy);
118 LogDebug(
"SiStripFineDelayTLA ") <<
L <<
" vs " << Lmax <<
" Signal contained in strip. Correction is "
120 return v.z() /
v.mag();
122 LogDebug(
"SiStripFineDelayTLA ") <<
L <<
" vs " << Lmax <<
" Signal not contained in strip. Correction is "
123 <<
thickness / pitch *
v.x() / v_xy *
v.z() /
v.mag() <<
" instead of "
125 return thickness / pitch *
v.x() / v_xy *
v.z() /
v.mag();