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) {
81 if (stereotkdir.
z() != 0) {
84 float thickness = ((((((stereohit.
geographicalId()) >> 25) & 0x7f) == 0xd) ||
90 hitangleassociation.push_back(
97 if (trackdirection.
z() != 0) {
110 return hitangleassociation;
114 double v_xy =
sqrt(v.
x() * v.
x() + v.
y() * v.
y());
115 double L = fabs(thickness * v_xy / v.
z());
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();
SiStripFineDelayTLA(const edm::ParameterSet &conf)
const GeomDetUnit * monoDet() const
virtual const Topology & topology() const
LocalVector localDirection() const
LocalPoint localPosition() const
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
void init(const edm::Event &e, const edm::EventSetup &c)
double computeAngleCorr(const LocalVector &v, double pitch, double thickness)
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
std::vector< std::pair< std::pair< DetId, LocalPoint >, float > > findtrackangle(const std::vector< Trajectory > &traj)
DataContainer const & measurements() const
SiStripRecHit2D stereoHit() const
virtual ~SiStripFineDelayTLA()
SiStripRecHit2D monoHit() const
const TrackerGeomDet * idToDet(DetId) const override
LocalPoint localPosition() const final
DetId geographicalId() const
const TrackerGeometry * tracker
const GeomDetUnit * stereoDet() const
T angle(T x1, T y1, T z1, T x2, T y2, T z2)