33 const std::vector<Trajectory>& trajVec) {
34 if (!trajVec.empty()) {
37 std::vector<std::pair<std::pair<DetId, LocalPoint>,
float> > hitangleassociation;
38 return hitangleassociation;
43 std::vector<std::pair<std::pair<DetId, LocalPoint>,
float> > hitangleassociation;
44 std::vector<TrajectoryMeasurement> TMeas = traj.
measurements();
45 std::vector<TrajectoryMeasurement>::iterator itm;
46 for (itm = TMeas.begin(); itm != TMeas.end(); itm++) {
48 auto thit = itm->recHit();
60 if (monotkdir.
z() != 0) {
62 float localpitch = static_cast<const StripTopology&>(monodet->
topology()).localPitch(tsos.
localPosition());
75 if (stereotkdir.
z() != 0) {
77 float localpitch = static_cast<const StripTopology&>(stereodet->
topology()).localPitch(tsos.
localPosition());
84 hitangleassociation.push_back(
91 if (trackdirection.z() != 0) {
93 float localpitch = static_cast<const StripTopology&>(det->
topology()).localPitch(tsos.
localPosition());
95 ((((((
hit->geographicalId()) >> 25) & 0x7f) == 0xd) || ((((
hit->geographicalId()) >> 25) & 0x7f) == 0xe)) &&
96 ((((
hit->geographicalId()) >> 5) & 0x7) > 4))
100 hitangleassociation.push_back(make_pair(make_pair(
hit->geographicalId(),
hit->localPosition()),
angle));
104 return hitangleassociation;
108 double v_xy =
sqrt(
v.x() *
v.x() +
v.y() *
v.y());
110 double Lmax = fabs(pitch /
v.x() * v_xy);
112 LogDebug(
"SiStripFineDelayTLA ") <<
L <<
" vs " << Lmax <<
" Signal contained in strip. Correction is "
114 return v.z() /
v.mag();
116 LogDebug(
"SiStripFineDelayTLA ") <<
L <<
" vs " << Lmax <<
" Signal not contained in strip. Correction is "
117 <<
thickness / pitch *
v.x() / v_xy *
v.z() /
v.mag() <<
" instead of "
119 return thickness / pitch *
v.x() / v_xy *
v.z() /
v.mag();