StiCA_modifs2
Now modifications Sti <==> StiCA based on https://github.com/star-bnl/star-sti/pulls
Changes to Sti code, irrelevant for CA:
1. checking the existance of FGMT. kind of ugly but why not
2. check for targetDet adde: it is debug only, irrelevant
3 Check positiveness of mHrr: This matrix must be positive. But if it is non positiv
it must be assert. Non positive hit error matrix is a disaster. Reconstyruction MUST be stooped
Even more, TPC hit error is diagonal matrix which is by definition is positive. Hit errors for other detectors
also diagonal. If in future will be some detector with more complex matrix, then it is better to check positiveness
during creation of matrix. Also Hit error matrix is 2*2 and posidivenes is mYY*mZZ-mYZ*mYZ>0
which is anyway much simpler than call inversion of matrix.
Not accepted
4. Replaced cernlib matrix routines from TCL with STAR wrapper: The class which is used to replace
calls to TCL:xxx is called inside the same routines. Code becames longer and evidently slower.
Not accepted
5. Replaced cernlib trsinv() with STAR wrapper TRSymMatri: the same as .4
6. Corected the sign of cosin:
-cosCA2 = ::sqrt((1.-sinCA2)*(1.+sinCA2));
+cosCA2 = ::sqrt((1.-sinCA2)*(1.+sinCA2))*TMath::Sign(1.,rotPars._cosCA);
cosCA could be negative onle when track is a looper and it is coming back towards the beam.
Sti by definetion can not handle such action. To account it is not enough to change this sign but
but a lot more changes. It is made in Stv, but still not to the end. In reality we always suppose
that track is moved outside of beam. In this case track loses energy. Fo loopers it is not the case.
Probably CA creates such track and it is not clear what to do in this case. ??????
Changes to Sti code, maybe needed for CA but highly unlikely:
1. assert removed to allow for multiple use of hit :
- assert(mTimesUsed<=mMaxTimes)
CA ignores busyness of hits by other tracks, but Sti not. In Sti, if everything is correct, this assert
never happens. So, removing it does not affect Sti. So, it is possible to remove it. But then code becames
fragile. Some , incorrect modifications, coud be not noticeced. ?????
2. assert replaced withn return. This assert removed fror StiLocalSeedFinder. This code is not used in CA.
Not accepted
- perev's blog
- Login or register to post comments