iLCSoft / MarlinTrkProcessors

Collection of Tracking Relelated Processors Based on MarlinTrk
GNU General Public License v3.0
1 stars 28 forks source link

Fix position of the digitized SET strip hits in the SET #55

Closed dudarboh closed 3 years ago

dudarboh commented 3 years ago

BEGINRELEASENOTES

ENDRELEASENOTES

Description

This is the fix for the #50 and small optimization mentioned here #54.

Everything is carefully wrapped into if (_subDetName == "SET") to not affect reconstruction of the VXD/SIT/FTD hits until further investigation if those are affected and any corrections are needed.

Note

Current change would be impossible for the FTD because FTD strips are perpendicular to the z which would give infinity in division by v[2]. So even if correction is needed there, then the math would be different. Not sure what happens inside VXD or SIT...

Control plots

TODO

dudarboh commented 3 years ago

The current pull request improves the efficiency, but does not seem to solve the issue completely...

I attach intermediate control plot and will do further investigation... c1_n2

dudarboh commented 3 years ago

The other missing space points seem to happen, because of the assumption of the straight track line from the IP, as @gaede has already suspected...

Here is the one example: If one calculates intersection point, with respect to the straight line coming from the IP, one gets space point which exceeds the boundary of the sensor and is being reasonably rejected, as firing strips are too far away for such hit to exist if the actual track was coming from the IP. (red square - rejected space point)

One can see that the track comes from very different angle from which it is possible to fire these strips simultaneously. (large blue squares - SET SimHits).

image

From discussions with @gaede, ideally one would need to take into account helix direction to produce proper space point, however, it is not trivial how to do so, as DDSpacePointBuilder is executed prior to the track fit processors..

Also there are hits, that could be fixed by slightly increasing the tolerance... But one need to take care not to include too many ghost hits, which may be not very properly defined inside DDSpacePointBuilder

dudarboh commented 3 years ago

Cross check plot before/after fixing digitized strip positions for SimHits with momentum > 5 GeV only : set_ineff_5gev

Still efficiency drop is present, but in the very close proximity to the border, which one probably would expect?... "Wide" efficiency drop vanishes, which I think supports reasoning in the comments above

tmadlener commented 3 years ago

I also checked and the NominalVertex steering parameters seem to be unused throughout iLCSoft repositories, so I suppose they can also be removed without breaking things.