50 likes | 157 Views
Fixing the Spacepoints. Step 1 – Fix f. Lines along the strips do not intersect on the z-axis. Result can be modeled by a small rotation around the center of the module (MC).
E N D
Step 1 – Fix f • Lines along the strips do not intersect on the z-axis. • Result can be modeled by a small rotation around the center of the module (MC). • Fix: Create SP as usual. Then find the 2D local vector connecting MC to SP. Rotate that vector by the rotation angle. Revert back to global coordinates. double xsp = rsp*cos(phisp), ysp = rsp*sin(phisp); xsp -= posPhi.x(); ysp -= posPhi.y(); double tlsp = atan2(ysp,xsp); double rlsp = sqrt(xsp*xsp+ysp*ysp); xsp = rlsp*cos(tlsp+rotAng); ysp = rlsp*sin(tlsp+rotAng); xsp += posPhi.x(); ysp += posPhi.y(); sp->phi(atan2(ysp,xsp)); MC
Step 2 – Fix r • r coordinate of SP calculated with : • Here a is the stereo angle, obtained from: sina = uv_element->sinStereo(); alpha=asin(sina); • Unfortunately, when there is misalignment, this is incorrect! Fix: const Hep3Vector& dirT = phi_element->phiAxis(); const Hep3Vector& dirT2 = uv_element->phiAxis(); double rotAng = -asin((dirT.getX()*posPhi.x()+ dirT.getY()*posPhi.y())/posPhi.perp()); double rotAng2 = -asin((dirT2.getX()*posPhi.x()+ dirT2.getY()*posPhi.y())/posPhi.perp()); alpha = rotAng-rotAng2; 10-20% effect in a causes r to be miscalculated by centimeters!
Step 3 – Find missing SPs • Disc 8 : Inner ring is missing and middle ring is populated with short-middle modules! • SiDetectorElement::center() returns center of active area, not the point around which the stereo rotation is done. • Fix (temporary): Reduce rF (r of MC) MCF MCS correction rsp=Rphi*B; if (maxLocL<35 && Rphi>400) { // short-mid strips double posDiff = sqrt(pow(posPhi.x()-posStereo.x(),2)+ pow(posPhi.y()-posStereo.y(),2)); rsp=(Rphi-posDiff/2./sin(fabs(alpha)/2.))*B; } Crot
Conclusion • Worked on five example events where IDScan failed. • After corrections, all tracks are successfully reconstructed. • Was using offline clusters => Now investigate cluster issue. • Will run on hundreds of events to make sure the fixes do not have unexpected side effects.