Title: Online Spacepoints in EC fixed
1Online Spacepoints in EC fixed
- After the fixes were applied, the IDScan
inefficiency (with respect to EF) has decreased
by 90, ie. out of an example set of 30
previously failing electron tracks, 27 are now
reconstructed.
- The fixes went into release 13. Additionally, for
those who would like to use it in 12.0.6, they
have been backported. Please check out
TrigOnlineSpacePointTool-00-00-23-bf01. - The fix will effect all slices at varying
degrees and should help both IDScan and SiTrack.
2Fixing the Spacepoints Some Details
- E. Özcan
- University College London
3Symptoms
- Efficiency of IDScan with respect to EF is found
to be less in EC than in barrel. - Problem tracked to spacepoints.
- Comparison with offline SPs yielded two issues
- Smaller problem Online SCT clusters a slightly
off compared to offline SCT clusters. - Dominant problem Even if offline clusters are
used, online SP formation creates different SPs
than offline algorithm does. - r and f coordinates are quite off.
- Occasionally no online SP corresponding to
offline.
4Before the Fix
Crosses Offline SPs Colored points SPs created
by the online algorithm from offline clusters To
see the effect of the fixes easily, follow, for
example the pink points.
5Step 1 Fix f
- Lines along the strips do not intersect on the
z-axis. (Strips are not really radial.) - 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 rspcos(phisp), ysp
rspsin(phisp)
xsp - posPhi.x() ysp - posPhi.y() - double tlsp atan2(ysp,xsp)
- double rlsp sqrt(xspxspyspysp)
- xsp rlspcos(tlsprotAng)
- ysp rlspsin(tlsprotAng)
- xsp posPhi.x() ysp posPhi.y()
- sp-gtphi(atan2(ysp,xsp))
posPhi Position vector of the center of the f
module. rotAng Angle between posPhi and
longitudinal local axis on the f module.
6After the f Fix
Crosses Offline SPs Colored points SPs created
by the online algorithm from offline
clusters Note the orange points at the top,
which were off the figure before. All SPs have
roughly aligned at the correct f.
7Step 2 Fix r
- r coordinate of SP calculated with
- Here a is the stereo angle, obtained from
- sina uv_element-gtsinStereo()
- alphaasin(sina)
- Unfortunately, when there is misalignment, this
is incorrect! Fix by finding the angle between
the transverse axes of phi and uv elements. - const Hep3Vector dirT phi_element-gtphiAxis()
- const Hep3Vector dirT2 uv_element-gtphiAxis()
- double rotAng -asin((dirT.getX()posPhi.x()
- dirT.getY()posPhi.y())/posPhi.perp())
- alpha asin(dirT.getY()dirT2.getX()- dirT.ge
tX()dirT2.getY())
10-20 effect in a causes r to be miscalculated
by centimeters!
8After the f and r Fixes
Online SPs (colored points) in very good
agreement with offline SPs (crosses). Gray
crosses right in the middle (indicated in red
circle) gt One online SP is missing. Track (red
V) has changed. Previously no L2 track, now there
is one.
9Step 3 Find missing SPs
- Disc 8 Inner ring is missing and middle ring
is populated with short-middle modules. - SiDetectorElementcenter() returns center of
active area (red cross), not the point around
which the stereo rotation is done (black/white
circle, Crot). - Major effect gt Essentially no SPs from disc 8
middle ring. - Fix Reduce rF (r of MC)
Crot
MCF
MCS
?correction?
rspRphiB if (maxLocLlt35 Rphigt400) //
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
10After Algorithm Fixes
Online SPs (colored points, created from offline
clusters) in very good agreement with offline SPs
(crosses). Gray crosses right in the middle gt
Now accompanied with cyan points!
11Back to Clusters
- Problem in clustersgtSPs solved.
- So go back to investigate differences in
clusters. - Online and offline clusters have different
coordinates even when they are made of exactly
the same strips. This difference is usually on
the order of 0.02-0.05 mm (less than 1
pitch-length, surprising, but not significant). - For strips on disk 8, difference much more
significant Can be as high as 2.2mm or more!!! - Source of problem Disk 8 middle ring is short
module centers at higher radius compared to
other rings. gt Different pitch length needed
(instead of default one used for all middle-ring
modules). - Fix 2D array of pitch lengths filled at
initialization
for (int disk0 disklts_ndisk disk) for (int
ieta0 ietalts_neta ieta) InDetDDSiDetecto
rElement element man-gtgetDetectorElement(2,
disk,0, ieta, 0) if (0element) continue
m_forward_pitchdiskietaelement-gtphiPitch()
12Fixing the clusters
Left Disk-8 SPs created from online clusters
(squares) are significantly off from offline SPs
(crosses), before the cluster fix. Right All
online SPs, created from online clusters, are in
perfect agreement with offline SPs, after the
cluster fix.
13Conclusion
- Tested on 30 events from Monika, where IDScan
failed, but EF found a track. - After fixes, 27 have tracks reconstructed.
- Likewise, studies by Mike Flowerdew with Z-gtee
events immediately shows the improvement. - The fix is in release 13, there also exists a
backport that can be used with release 12. - IDScan to be tuned to make best use of the fix.
Preliminary studies show a 50 decrease in fake
rates for the same efficiency.