64 std::vector<std::pair< std::pair<DetId, LocalPoint> ,
float> > hitangleassociation;
65 return hitangleassociation;
70 std::vector<std::pair< std::pair<DetId, LocalPoint> ,
float> >hitangleassociation;
71 std::vector<TrajectoryMeasurement> TMeas=traj.
measurements();
72 std::vector<TrajectoryMeasurement>::iterator itm;
73 for (itm=TMeas.begin();itm!=TMeas.end();itm++){
90 float thickness = ((((((monohit->
geographicalId())>>25)&0x7f)==0xd)||
100 if(stereotkdir.
z()!=0){
103 float thickness = ((((((stereohit->
geographicalId())>>25)&0x7f)==0xd)||
114 if(trackdirection.
z()!=0){
125 return hitangleassociation;
130 double v_xy =
sqrt(v.
x()*v.
x()+v.
y()*v.
y());
131 double L = fabs(thickness*v_xy/v.
z());
132 double Lmax = fabs(pitch/v.
x()*v_xy);
134 LogDebug(
"SiStripFineDelayTLA ") << L <<
" vs " << Lmax
135 <<
" Signal contained in strip. Correction is " << v.
z()/v.
mag();
136 return v.
z()/v.
mag();
138 LogDebug(
"SiStripFineDelayTLA ") << L <<
" vs " << Lmax
139 <<
" Signal not contained in strip. Correction is " << thickness/pitch*v.
x()/v_xy*v.
z()/v.
mag()
140 <<
" instead of " << v.
z()/v.
mag();
141 return thickness/pitch*v.
x()/v_xy*v.
z()/v.
mag();
SiStripFineDelayTLA(const edm::ParameterSet &conf)
const GeomDetUnit * monoDet() const
SimpleTrackRefitter * refitter_
std::vector< Trajectory > refitTrack(const reco::Track &newTrack, const uint32_t ExcludedDetId=0)
The main methods.
const SiStripRecHit2D * stereoHit() 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.
virtual LocalPoint localPosition() const
DataContainer const & measurements() const
virtual const Topology & topology() const =0
void setServices(const edm::EventSetup &es)
virtual const GeomDet * idToDet(DetId) const
virtual ~SiStripFineDelayTLA()
std::vector< std::pair< std::pair< DetId, LocalPoint >,float > > findtrackangle(const TrajectorySeed &seed, const reco::Track &theT)
DetId geographicalId() const
const SiStripRecHit2D * monoHit() const
const TrackerGeometry * tracker
const GeomDetUnit * stereoDet() const
T angle(T x1, T y1, T z1, T x2, T y2, T z2)