New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tk seeding #2884
Tk seeding #2884
Conversation
…ss is not my fault...
the standard DQM for 5.1 showed no regression what so ever. I run what I do with those? |
Thanks Vincenzo That's the workflow I would suggest you to run. In the meanwhile, Lukas |
+1 Vincenzo showed me validation in private. |
I compared the output of 5.1 w.r.t latest IB. |
+1 |
Migration of Seeders:
Currently Hits in the collections created by LocalReco are transformed in TTRH and stored in the SeedingLayerSetsHits.
SeedingHits are then created. Those who survives are refitted and stored in the TrajectorySeed (as normal TRH in a OwnVector).
Migration strategy consists in
This should reduce memory use and memory-churn.
In addition we use as base type "BasicTrackerRecHit" that has very little virtual methods:
all access to position etc will then be immediate and inlined.
caveat: in the process some new hits are created:
this option is off, and one can even wonder if shall be kept...
in addition there are a couple of (obsolete?) Seeders that have not been migrated yet to the SeedingLayerSetsHits interface.
for 2 and 3 a simple cache of unique_ptr suffices: the lifetime of region matches exactly the required one.
MultiHitGenerator already has a cache for the triplets and a clear method.
to manage the one in SeedingLayerSetsHits is a bit more complex, so I decided to introduce a light weight smart pointer that "may own"
an object.
This is also needed to support the old Layers set interface.
We may decide later to simplify this whole infrastructure in particular if "projected hit" in layers are not really needed (and so we can move to a less optimal double cache also in SeedingLayerSetsHits)
Famos:
Famos hits needed to be migrated as well to inherit from BasicTrackerRecHit.
Migration has been completed.
Tests show no regression.
Valgrind shows no memory-leak
runTheMatrix.py --useInput=all --list=limited:
7 7 6 6 4 tests passed, 0 0 0 0 0 failed
full matrix
242 226 192 128 16 tests passed, 0 5 0 0 0 failed
the 5 failures are not related to reco (EOS, parameter set)
At the moment there are several questions still open: so some short cuts have been taken to avoid migrations in other part of the code
that may not be needed at the end. In particular I avoided any backward incompatible change to configuration.
A cleanup is required before going in production.
Before a final cleanup and stabilization of code and calling sequences we need
next step shall be clean up code from the old on-demand mechanism (LazyGetter)
Once this is done the migration of MeasurementDets to return RecHit can start.
This will then led to the removal of TTRK also from Ctf.
we need also to look if we can reduce the size of Famos GSTkHits:
any by value storage will be dominated by the largest possible object: at the moment Famos hits dominate by large...