Eval Corrections
Thu Jan 8 2014
============
Rotation:
1. Track coming thru cylinder, in DEV Sti
a) 1st time
When it happens first time, detector rotated and Phi angle of new node is chosen , to keep Ylocal = 0 and Xloc = radius of cylinder.
It is good if opening angle of cylinder == 360 degrees. but if it is a sector, it is wrong, because we can not change
local coordinate system of sector. It is defined +- openingAngle/2
For old geometry it was OK, all the cylinder were full. In new geometry it leads to arbitrary and wron rotation
of sector shape. In result energy loss is wrong.
b) Second time, Refit()
Track parameters changed and Ylocal is non zero. But Xloc kept the same. As a result crossing point of track
and detector not in a wall of cylinder but on the plane Xloc = const. So this point is outside of detector even
for full cylinder. If this point is not too far it is OK. So it is unpredictable.
If track is not crossing plane Xloc = const, then x = xloc and Yloc is the y of pont on track where sin(Phi)=1 and cos(Phi)=0
So point is again not in a wall of cylinder but even not on the track, which is not good at all.
For good track with a lot of hits this effect is negligible. For Bad tracks effect could be big, but this track anyway is bad.
2. Track coming thru cylinder, in EVAL Sti
a) 1st time
If detector if full cylinder, action is the same as in DEV. If it is sector, no rotation is happened.
If it is sector, then Xloc is an x of crossing point and according Yloc. So it is similar to planar shape.
b) Second time, Refit()
Track parameters changed and Ylocal is non zero.
For full cylinder we rotated it again,rotated all error matrix etc.. So Yloc again is zero.
For sector we do not rotate it and calculate correct Xloc and Yloc. In this point error matrix is calculated.
If track missed volume, than we calulated the "nearest" point on track to the detector. Xloc,Yloc and errors
calculated for this point. In contrary with DEV this point is on track. For good track no big difference but
for bad ones, action is more correct.
3. Error matrix
Error matrix on cylinder in both cases is projected not on the cylinder wall but on plane X = xLoc.
If this cylinder is sensetive with the hits, it is wrong. But for dead material it does not matter.
We do not have sensetive cylinders.
4. Energy loss.
a) In DEV
if track is missing detector (after refit) energy loss calculated in the same way as it crossed it.
For TPC it is not important, material the same. For non gas detectors it is wrong
b) In EVAL,
if track is missed detector, energy loss accounted only for the gas.
=============================================================================================================
5. inside & nudge
At the end of event,, when all tracks are created, added loop over all nodes and all points on node
moved along the track to be inside of according detector. It is made only for D.Smirnov application.
Physics is not affected. Those nodes which are outside of detector could be tested by new inside() method
6. In StiHit
small bug fixed (Hao found). Results were not affected
7. In StiKalmanTrackFinder
getNormalRefAngle() ==> getLayerAngle()
getNormalRadius() ==> getLayerRadius()
because sorting was made by Layer radius and angle.
8. Double search loop
Double search loop is implemented. In first loop only active detectors was searche in second others, if
it was no success in the first one
9. Arcsin for small sin was calculated via few Tailor expantion members. But it was not accounted that this
is correct only when cos >0. For cos <0 it is wrong. Fixed in EVAL
10. In DEV only TPC hits was used to create seed. In EVAL this limitation removed
- perev's blog
- Login or register to post comments