48 std::vector<std::pair< std::pair<DetId, LocalPoint> ,
float> > hitangleassociation;
49 return hitangleassociation;
54 std::vector<std::pair< std::pair<DetId, LocalPoint> ,
float> >hitangleassociation;
55 std::vector<TrajectoryMeasurement> TMeas=traj.
measurements();
56 std::vector<TrajectoryMeasurement>::iterator itm;
57 for (itm=TMeas.begin();itm!=TMeas.end();itm++){
59 auto thit=itm->recHit();
74 float thickness = ((((((monohit.
geographicalId())>>25)&0x7f)==0xd)||
84 if(stereotkdir.
z()!=0){
87 float thickness = ((((((stereohit.
geographicalId())>>25)&0x7f)==0xd)||
98 if(trackdirection.
z()!=0){
109 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
119 <<
" Signal contained in strip. Correction is " << v.
z()/v.
mag();
120 return v.
z()/v.
mag();
122 LogDebug(
"SiStripFineDelayTLA ") << L <<
" vs " << Lmax
123 <<
" Signal not contained in strip. Correction is " << thickness/pitch*v.
x()/v_xy*v.
z()/v.
mag()
124 <<
" instead of " << v.
z()/v.
mag();
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.
DataContainer const & measurements() const
std::vector< std::pair< std::pair< DetId, LocalPoint >,float > > findtrackangle(const std::vector< Trajectory > &traj)
SiStripRecHit2D stereoHit() const
virtual ~SiStripFineDelayTLA()
SiStripRecHit2D monoHit() const
DetId geographicalId() const
const TrackerGeometry * tracker
virtual LocalPoint localPosition() const
const GeomDetUnit * stereoDet() const
virtual const TrackerGeomDet * idToDet(DetId) const
T angle(T x1, T y1, T z1, T x2, T y2, T z2)