added logic to look into the current zone which has been used by the...
This should provide a small cpu improvement for tracking propagation when requesting getField, for 3d field not ZR. The AtlasFieldCache provides a field cache for one "cell" in z,r,phi space. When there is a request to the cache for a point outside the cell, a new cell is fetched from a 'zone/mesh' object which holds the field for many cells in a region of the detector. For example, the solenoid field is in one zone. Up to now, when a point is outside of a cell, the zone for the next cell was requested from the FieldMap, and then the cell for the cache is looked-up inside the zone. We just realized that one can hold onto the zone and first check the zone if the new point is inside the same zone (a simple z,r,phi test) before redoing the look-up for zone from the FieldMap, which often returns the same zone.
There is also some improvements to the documentation in the BFieldMesh class, which was started in !49346 (merged).
This will need a full rebuild to test since AtlasFieldCache.h, .icc have been changed.
Merge request reports
Activity
added Magnets full-build master labels
requested review from @christos
assigned to @schaffer
This merge request affects 1 package:
- MagneticField/MagFieldElements
This merge request affects 3 files:
- MagneticField/MagFieldElements/MagFieldElements/AtlasFieldCache.h
- MagneticField/MagFieldElements/MagFieldElements/AtlasFieldCache.icc
- MagneticField/MagFieldElements/MagFieldElements/BFieldMesh.h
added review-pending-level-1 label
Ooops, I see @christos made some changes to comments in !49352 (merged). I will try to incorporate them here...
added Run2-DataReco-output-changed Run2-FullSim-output-changed labels
CI Result FAILURE (hash 28c895c0)Athena AthSimulation AthGeneration AnalysisBase AthAnalysis DetCommon externals cmake make required tests optional tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
DetCommon: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 44580] CI Result FAILURE (hash a3e7e27e)Athena AthSimulation AthGeneration AnalysisBase AthAnalysis DetCommon externals cmake make required tests optional tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
DetCommon: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 44581]added 1 commit
- 42734e40 - see mismatch with zone lookup and zone->inside check for muons. Try only for...
removed full-build label
See extra muon in test. So there must be a mis-match between the zone lookup and testing if one is inside the 'current' zone. Will investigate this point. But in the meantime, we can test using the optimization for just the solenoid. Also removed 'full-build' as @christos explained to me that the changes in .h and .icc should trigger the necessary recompilation.
Edited by R D Schaffer CI Result SUCCESS (hash 42734e40)Athena AthSimulation AthGeneration AnalysisBase AthAnalysis DetCommon externals cmake make required tests optional tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
DetCommon: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 44593]Yes, this is fine to go in as is. We can then see how big the cpu improvement is. Much of tracking concerns just the solenoid...
I will work separately on the toroid part which must have some 'edge' effect when looking for a zone via a lookup table compared to just checking directly if one is still inside the current zone.
thanks, RD
Edited by R D Schafferadded review-approved label and removed review-pending-level-1 label
removed Run2-DataReco-output-changed label
removed Run2-FullSim-output-changed label
mentioned in commit 4037c435
added sweep:ignore label
mentioned in merge request !49391 (merged)