athena merge requestshttps://gitlab.cern.ch/atlas/athena/-/merge_requests2019-03-29T03:02:33+01:00https://gitlab.cern.ch/atlas/athena/-/merge_requests/22024ComponentAccumulator: Introduce "primary component"2019-03-29T03:02:33+01:00Walter LamplComponentAccumulator: Introduce "primary component"This is the squashed version of the lenghty WIP-MR !21809
Instead of returning a tuple (ComponentAccumulator,PrimaryComponent) from configuration methods, designate a primary component inside the ComponentAccumulator.
This MR makes th...This is the squashed version of the lenghty WIP-MR !21809
Instead of returning a tuple (ComponentAccumulator,PrimaryComponent) from configuration methods, designate a primary component inside the ComponentAccumulator.
This MR makes the necessary changes to ComponentAccumulator.py and adjust some but not all of the existing new-style configuration code.https://gitlab.cern.ch/atlas/athena/-/merge_requests/22028Remove ComponentAccumulator.mergeAll2019-03-30T03:02:26+01:00Walter LamplRemove ComponentAccumulator.mergeAllRemove the mergeAll method of the ComponentAccumulator since recent updates make it obsolete.
Remove all uses of mergeAll in new-style configuration fragments.
(includes the changes from !22024)Remove the mergeAll method of the ComponentAccumulator since recent updates make it obsolete.
Remove all uses of mergeAll in new-style configuration fragments.
(includes the changes from !22024)https://gitlab.cern.ch/atlas/athena/-/merge_requests/22273MagFieldServices: Increase test timeout.2019-04-02T03:02:29+02:00Scott SnyderMagFieldServices: Increase test timeout.Test has been timing out nightly builds.Test has been timing out nightly builds.https://gitlab.cern.ch/atlas/athena/-/merge_requests/22732MagFieldServices: Rewrite BFieldCond in terms of Eigen3 vectors2019-04-18T03:02:41+02:00Stephen Nicholas SwatmanMagFieldServices: Rewrite BFieldCond in terms of Eigen3 vectorsThe previous code was entirely scalar and quite messy. By rewriting the
code in terms of Eigen3 vectors it becomes more expressive and clear. It
also becomes a bit faster as we can now leverage SIMD implicitly through
Eigen's internal op...The previous code was entirely scalar and quite messy. By rewriting the
code in terms of Eigen3 vectors it becomes more expressive and clear. It
also becomes a bit faster as we can now leverage SIMD implicitly through
Eigen's internal optimisation engine.
We measure a speedup of 14.3% in the `getField` method. Not huge, but
this should drip down into many parts of Athena as a subtle but
worthwhile performance increase.
Note: This commit may introduce very slightly different numerical
results. This is not a bug, rather it is a consequence of Eigen's
internal optimisation heuristics and the way IEEE 754 floating-point
mathematics works.https://gitlab.cern.ch/atlas/athena/-/merge_requests/24685MagFieldServices: Add kwargs arg to MagneticFieldSvcCfg.2019-07-07T03:02:28+02:00Scott SnyderMagFieldServices: Add kwargs arg to MagneticFieldSvcCfg.Allow passing arguments to MagneticFieldSvcCfg.Allow passing arguments to MagneticFieldSvcCfg.https://gitlab.cern.ch/atlas/athena/-/merge_requests/26228Stop writing /GLOBAL/BField/Maps into in-file metadata2019-09-05T03:02:19+02:00Vakhtang TsulaiaStop writing /GLOBAL/BField/Maps into in-file metadataIt has been agreed several times in the past that we should not write
COOL folders into in-file metadata. This commit cleans up all python
fragments that write `/GLOBAL/BField/Maps`, and also cleans up the obsolete
`toMetaData()` method ...It has been agreed several times in the past that we should not write
COOL folders into in-file metadata. This commit cleans up all python
fragments that write `/GLOBAL/BField/Maps`, and also cleans up the obsolete
`toMetaData()` method of the `CondDB` python classhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/28092Fix for writing pickle files in python32019-11-21T03:02:05+01:00John Derek ChapmanFix for writing pickle files in python3Updated `ComponentAccumulator` configuration tests which dump the configuration
to a pickle file. In python3 the output file needs to be explicitly opened in binary mode.
I.e.
```f = open('configdump.pkl','wb')```
rather than
```...Updated `ComponentAccumulator` configuration tests which dump the configuration
to a pickle file. In python3 the output file needs to be explicitly opened in binary mode.
I.e.
```f = open('configdump.pkl','wb')```
rather than
```f = open('configdump.pkl','w')```https://gitlab.cern.ch/atlas/athena/-/merge_requests/28944NewConfig: Move to ComponentFactory2020-03-13T11:34:39+01:00Walter LamplNewConfig: Move to ComponentFactoryAs discussed in last week's [SC/Core meeting](https://indico.cern.ch/event/868959/contributions/3666191/attachments/1961485/3260145/MovingToConfigDB2.pdf), here the first attempt to bulk-migrate all the statements like `from Package.Pack...As discussed in last week's [SC/Core meeting](https://indico.cern.ch/event/868959/contributions/3666191/attachments/1961485/3260145/MovingToConfigDB2.pdf), here the first attempt to bulk-migrate all the statements like `from Package.PackageConf import Component` to the ComponentFactory. Reminder: This is in preparation to migrate to the new configurable implementation (aka GaudiConfig2).
This was largly done by a script (based on sed) + manual fixing the places where the script failed.https://gitlab.cern.ch/atlas/athena/-/merge_requests/30181split old- and new-style configuration of MagFieldService into two seprate files2020-04-10T18:40:50+02:00Walter Lamplsplit old- and new-style configuration of MagFieldService into two seprate filesThe file `MagFieldServicesConfig.py` contained both, old- and new style configuration of the AtlasFieldSvc. It imported elements of both configuration systems at module level with is very fragile. Not sure how we ended up in this situati...The file `MagFieldServicesConfig.py` contained both, old- and new style configuration of the AtlasFieldSvc. It imported elements of both configuration systems at module level with is very fragile. Not sure how we ended up in this situation, I suspect my semi-automated migration to CompFactory in !28944 contributed to the mess.
This MR disentangles old and new configuration by splitting it into two files.https://gitlab.cern.ch/atlas/athena/-/merge_requests/30429Remove NaN check from MagFieldService: this should be/is done centrally2020-02-20T03:02:52+01:00Stewart Martin-HaughRemove NaN check from MagFieldService: this should be/is done centrallygetField() needs to run very fast - adding a hand-rolled NaN check is a bad idea, especially since we have FPE auditor.
I actually already did this for https://gitlab.cern.ch/atlas/athenaprivate1/merge_requests/3869 but it didn't get sw...getField() needs to run very fast - adding a hand-rolled NaN check is a bad idea, especially since we have FPE auditor.
I actually already did this for https://gitlab.cern.ch/atlas/athenaprivate1/merge_requests/3869 but it didn't get swept to master.https://gitlab.cern.ch/atlas/athena/-/merge_requests/27829ATLASRECTS-4687 : Magnetic Field multithreading2020-04-10T03:02:02+02:00R D SchafferATLASRECTS-4687 : Magnetic Field multithreadingFirst implementation of multithreading safe magnetic field access.
- Introduce a conditions object for the magnetic field map ``AtlasFieldMapCondObj``
- Introduce a conditions object for constructing a magentic fiedl cache ``AtlasF...First implementation of multithreading safe magnetic field access.
- Introduce a conditions object for the magnetic field map ``AtlasFieldMapCondObj``
- Introduce a conditions object for constructing a magentic fiedl cache ``AtlasFieldCacheCondObj`` taking into account the map and relevant scaling e.g due to IOV-varying magnet currents.
- The IPropagator/IPatternParametersPropagator interfaces have been changed to pass in EventContext to allow to avoid the thread lookup in the propagator clients when accessing the read handle for the CondObj.
- The Step propagator now uses the new cache for the field access by default, and a switch allows the old way (via the AtlasFieldSvc) to be used.
- Both Step and RungaKutta propagators use the new interface with ``EventContext``.
- In general a few clients interacting with the MagneticField need to pass the ``EventContext``
- The old service is still retained and there is a fallback mechanism
- This prb will go after we are sure all clients are migrated.
@christos @amoussahttps://gitlab.cern.ch/atlas/athena/-/merge_requests/31923split again old- and new-style configuration of MagFieldService2020-04-12T03:02:35+02:00Walter Lamplsplit again old- and new-style configuration of MagFieldServicesplit again old- and new-style configuration of MagFieldService into two seprate files after it was messed up in MR 27829
Basically re-doing what was done in !30181.split again old- and new-style configuration of MagFieldService into two seprate files after it was messed up in MR 27829
Basically re-doing what was done in !30181.https://gitlab.cern.ch/atlas/athena/-/merge_requests/31884ComponentAccumulator migration to GaudiConfig22020-04-24T19:02:43+02:00Walter LamplComponentAccumulator migration to GaudiConfig2This MR is a rearranged version of hugh MR !30675. Same code changes but in a tidy commit history. It included (and superseeds) @rlangenb MR !31795.
The code-changes here contain substantial contributions from @tbold, @aporeba, @fwinkl...This MR is a rearranged version of hugh MR !30675. Same code changes but in a tidy commit history. It included (and superseeds) @rlangenb MR !31795.
The code-changes here contain substantial contributions from @tbold, @aporeba, @fwinkl and @khoo. These colleagues also checked the code changes, so this MR can be considered 'expert-reviewed' (at least in parts).
All CI tests are supposed to work but I am aware that some ART-test using new config still fail.https://gitlab.cern.ch/atlas/athena/-/merge_requests/32217migrated MdtCalibrationTool to use mag field from cache : ATLASRECTS-54522020-04-23T15:21:07+02:00R D Schaffermigrated MdtCalibrationTool to use mag field from cache : ATLASRECTS-5452migrated MdtCalibrationTool to use mag field from cache, and added support to checkMetaSG to dump out field info in pool file
Part of magField client migration https://its.cern.ch/jira/browse/ATLASRECTS-5439
Adding in @christosmigrated MdtCalibrationTool to use mag field from cache, and added support to checkMetaSG to dump out field info in pool file
Part of magField client migration https://its.cern.ch/jira/browse/ATLASRECTS-5439
Adding in @christosR D SchafferR D Schafferhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/32285ATLASRECTS-4687 : Added solenoidOn/toroidOn to AtlasFieldCache for clients, a...2020-04-24T03:02:07+02:00R D SchafferATLASRECTS-4687 : Added solenoidOn/toroidOn to AtlasFieldCache for clients, and removed excess...added solenoidOn/toroidOn to AtlasFieldCache for clients, and removed excess execute_r from previous MR
This is needed as part of the magnetic field migration https://its.cern.ch/jira/browse/ATLASRECTS-4687
Adding @christosadded solenoidOn/toroidOn to AtlasFieldCache for clients, and removed excess execute_r from previous MR
This is needed as part of the magnetic field migration https://its.cern.ch/jira/browse/ATLASRECTS-4687
Adding @christosR D SchafferR D Schafferhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/32312remove newly added printout for nightly test log comparisons https://its.cern...2020-04-24T03:02:05+02:00R D Schafferremove newly added printout for nightly test log comparisons https://its.cern.ch/jira/browse/ATLASRECTS-5452Removed two extra INFO printouts which causes nightly test log comparisons to fail.
@fwinkl @christosRemoved two extra INFO printouts which causes nightly test log comparisons to fail.
@fwinkl @christosR D SchafferR D Schafferhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/32329MagFieldElements : move large inline function to .icc, format, tidy2020-04-25T03:02:12+02:00Christos Anastopouloschristos.anastopoulos@cern.chMagFieldElements : move large inline function to .icc, format, tidyNow that we have the 1st version of the condition data in:
took the opportunity
1. Follow this from the ATLAS style
>it is usually better to split them out into a separate file, with extension ``.icc'', that is included at the end ...Now that we have the 1st version of the condition data in:
took the opportunity
1. Follow this from the ATLAS style
>it is usually better to split them out into a separate file, with extension ``.icc'', that is included at the end of the header.
2. Also do a a bit of code formatting
3. Run a few clang-tidy checks on the code.
Mentioning @schaffer https://gitlab.cern.ch/atlas/athena/-/merge_requests/32404ATLASRECTS-4687: Adding in LockMapCurrents for online, not copied over from f...2020-04-29T03:02:48+02:00R D SchafferATLASRECTS-4687: Adding in LockMapCurrents for online, not copied over from field svcadding in possibility to lock in the current values coming in with the map, i.e. force the scaling to just be 1.
Requested in https://its.cern.ch/jira/browse/ATLASRECTS-4687
by @fwinkladding in possibility to lock in the current values coming in with the map, i.e. force the scaling to just be 1.
Requested in https://its.cern.ch/jira/browse/ATLASRECTS-4687
by @fwinklR D SchafferR D Schafferhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/32583Mag field cache fixes unit test and mu sim no toroid2020-05-13T21:00:57+02:00R D SchafferMag field cache fixes unit test and mu sim no toroidThere is a fix and feature addition in the MR:
The fixes is for the unit test in InDetVKalVxInJetTool that had to be commented out in MR
https://gitlab.cern.ch/atlas/athena/-/merge_requests/32405
due to migrating the magField to the new...There is a fix and feature addition in the MR:
The fixes is for the unit test in InDetVKalVxInJetTool that had to be commented out in MR
https://gitlab.cern.ch/atlas/athena/-/merge_requests/32405
due to migrating the magField to the new conditions algs/obj/cache. This is fixed by adding to unit test the creation of the AtlasFieldCacheCondObj to get the AtlasFieldCache, and the AtlasFieldCache now will return a constant b-field for tests if no map is found. This is useful for unit tests.
The feature addition is to allow the setting of the toroid current off in a sim job, and have the downstream jobs maintain the knowledge of the changed current to use the correct field maps. This refers to the Jira: https://its.cern.ch/jira/browse/ATLASRECTS-2127. This is done via the use of TagInfo in AtlasFieldMapCondAlg as suggested by @tsulaia.
Finally, there is a bit of cleanup of the UseNewBfieldCache which has been removed in most places, except for AtlasFieldCache which still has a few clients which use it - but will be changed. This may affect FastShowerCellBuilderTool_test in Simulation/FastShower/FastCaloSim and may need it's ref file updated. @jchapman.
adding in @christos, @nkoehler, @kostyukR D SchafferR D Schafferhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/32821MagFieldElements : Including EventPrimitives helps clients to avoid Eigen_pl...2020-05-14T03:02:18+02:00Christos Anastopouloschristos.anastopoulos@cern.chMagFieldElements : Including EventPrimitives helps clients to avoid Eigen_plugin issuessee discussion on https://gitlab.cern.ch/atlas/athena/-/merge_requests/32807see discussion on https://gitlab.cern.ch/atlas/athena/-/merge_requests/32807