Skip to content

MuonTrackingGeometry - Do not rely on the DetectorManager from the Conditions store for the passive material

Johannes Junggeburth requested to merge (removed):ATLASRECTS-6446-VolII into master

Hi everybody,

I noticed that the MuonDetectorManager from the ConditionsStore does not build the passive material, which is only built once by the MuonDetectorManager stored in the detStore(). If the TrackingGeometry algorithm is switched on, the MuonInertMaterialBuilderCond retrieves the manager from the conditions store and does not find anything useful. Leading to an empty set of volumes:

13:46:16 AtlasTrackingGeometryCond...MuonStationBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonStationBuilderCondreturns 2814 stations
13:46:16 AtlasTrackingGeomet...MuonInertMaterialBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonInertMaterialBuilderCond building muon object types
13:46:16 AtlasTrackingGeomet...MuonInertMaterialBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonInertMaterialBuilderCond returns 0 prototypes, to be cloned into 0 objects
13:46:16 AtlasTrackingGeomet...MuonInertMaterialBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonInertMaterialBuilderCond obtained 0 prototypes
13:46:16 AtlasTrackingGeomet...MuonInertMaterialBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonInertMaterialBuilderCond returns  0 objects (detached volumes)
13:46:16 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCondbuilding barrel+innerEndcap+outerEndcap

while using the TrackingGeometryService, the analogous Tool generates a whole bunch of objects:

12:23:15 AtlasTrackingGeometrySv...MuonInertMaterialBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonInertMaterialBuilder building muon object types
12:23:15 AtlasTrackingGeometrySv...MuonInertMaterialBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonInertMaterialBuilder returns 479 prototypes, to be cloned into 8879 objects
12:23:15 AtlasTrackingGeometrySv...MuonInertMaterialBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonInertMaterialBuilder obtained 479 prototypes
12:23:15 AtlasTrackingGeometrySv...MuonInertMaterialBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonInertMaterialBuilder returns  8879 objects (detached volumes)

The MuonInertMaterialBuilder now relies on the conditions store to determine the IOV range, but builds the geometry from the manager provided by the detector store, which at least creates something:

12:35:20 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond building tracking geometry
12:35:20 AtlasTrackingGeometryCond...MuonStationBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonStationBuilderCond building station types
12:35:20 AtlasTrackingGeometryCond...MuonStationBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonStationBuilderCond260 station prototypes built
12:35:20 AtlasTrackingGeometryCond...MuonStationBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonStationBuilderCondreturns 2814 stations
12:35:20 AtlasTrackingGeomet...MuonInertMaterialBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonInertMaterialBuilderCond building muon object types
12:35:20 AtlasTrackingGeomet...MuonInertMaterialBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonInertMaterialBuilderCond returns 479 prototypes, to be cloned into 8879 objects
12:35:20 AtlasTrackingGeomet...MuonInertMaterialBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonInertMaterialBuilderCond obtained 479 prototypes
12:35:21 AtlasTrackingGeomet...MuonInertMaterialBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond.MuonInertMaterialBuilderCond returns  8879 objects (detached volumes)
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCondbuilding barrel+innerEndcap+outerEndcap
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond dimensions of enclosed detectors (halfZ,outerR):6783,4255
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCondglue barrel R  + barrel Z buffer
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCondglue enclosed  + disk shields
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond volumes defined
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCondglue barrel+enclosed volumes
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCondglue shield+outerEndcap
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCondglue shield+innerEndcap
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCondglue inner+outerEndcap
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCondglue beamPipe+endcaps
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCondglue barrel+endcaps
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond returning tracking geometry
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond with 10174 subvolumes at navigation level
12:35:21 AtlasTrackingGeo...MuonTrackingGeometryBuilderCond     0     0    INFO AtlasTrackingGeometryCondAlg.AtlasGeometryBuilderCond.MuonTrackingGeometryBuilderCond( mean number of enclosed detached volumes:8.40446)

Further, I removed the MuonDetectorManager from the MuonStationTypeBuilder which is used by the MuonStationBuilder and its CondAlgequivalent as Trk::Volume are retrieved from the ReadOutElement when the TrackingGeometry for the NSW is built. Instead, the calling tool has to explicitly pipe the manager.

However, this does not solve the problem of the degradation in muon resolution as the tracking geometry constructed from the service still differs in the mean number of detached volumes

12:23:14 AtlasTrackingGeometrySv...MuonInertMaterialBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonInertMaterialBuilder initialize() successful
12:23:14 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO Retrieved tool TrackingVolumeArrayCreator = PrivateToolHandle('Trk::TrackingVolumeArrayCreator/TrackingVolumeArrayCreator')
12:23:14 AtlasTrackingGeometrySvc.Atla...MuonStationBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonStationBuilder building station types
12:23:15 AtlasTrackingGeometrySvc.Atla...MuonStationBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonStationBuilder 260 station prototypes built
12:23:15 AtlasTrackingGeometrySvc.Atla...MuonStationBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonStationBuilderreturns 2814 stations
12:23:15 AtlasTrackingGeometrySv...MuonInertMaterialBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonInertMaterialBuilder building muon object types
12:23:15 AtlasTrackingGeometrySv...MuonInertMaterialBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonInertMaterialBuilder returns 479 prototypes, to be cloned into 8879 objects
12:23:15 AtlasTrackingGeometrySv...MuonInertMaterialBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonInertMaterialBuilder obtained 479 prototypes
12:23:15 AtlasTrackingGeometrySv...MuonInertMaterialBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder.MuonInertMaterialBuilder returns  8879 objects (detached volumes)
12:23:15 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder initialize() successful
12:23:15 AtlasTrackingGeometrySvc                               0     0    INFO trackingGeometryInit - initialize on TagInfoMgr callback
12:23:15 CaloMgrDetDescrCnv                                     0     0    INFO in createObj: creating a Calo Detector Manager object in the detector store
12:23:16 AtlasTrackingGeometr...CaloTrackingGeometryBuilder     0     0    INFO 16 volumes retrieved from LArVolumeBuilder
12:23:16 AtlasTrackingGeometr...CaloTrackingGeometryBuilder     0     0    INFO 2 volumes retrieved from TileVolumeBuilder
12:23:16 AtlasTrackingGeometr...CaloTrackingGeometryBuilder     0     0    INFO --------------- detailed output ----------------------------------------------------------
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder building tracking geometry
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilderbuilding barrel+innerEndcap+outerEndcap
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder dimensions of enclosed detectors (halfZ,outerR):6783,4255
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilderglue barrel R  + barrel Z buffer
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilderglue enclosed  + disk shields
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder volumes defined
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilderglue barrel+enclosed volumes
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilderglue shield+outerEndcap
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilderglue shield+innerEndcap
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilderglue inner+outerEndcap
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilderglue beamPipe+endcaps
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilderglue barrel+endcaps
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder returning tracking geometry
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder with 10174 subvolumes at navigation level
12:23:16 AtlasTrackingGeometr...MuonTrackingGeometryBuilder     0     0    INFO AtlasTrackingGeometrySvc.AtlasGeometryBuilder.MuonTrackingGeometryBuilder( mean number of enclosed detached volumes:8.32259)

The rest of the MR is either clang-format or minor tidy up of the classes. Hopefully closes ATLASRECTS-6446

Tests submitted to the grid: https://bigpanda.cern.ch/task/26233389/ To be validated against: https://bigpanda.cern.ch/task/?jeditaskid=26167667

C.c.: @goblirsc, @npetters, @sroe for today's episode of the philosopher of the day: image

Edited by Johannes Junggeburth

Merge request reports