1 / 5

Fixing the Spacepoints

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).

faunus
Download Presentation

Fixing the Spacepoints

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fixing the Spacepoints

  2. 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

  3. 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!

  4. 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

  5. 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.

More Related