9def ITkMaterialMappingCfg(flags, name="ITkMaterialMapping", **kwargs):
10 """Return configured ComponentAccumulator and tool for MaterialMapping"""
11
12 result=ComponentAccumulator()
13 LayerMaterialName = 'LayerMaterialITK'
14 LayerMaterialDirectory = '/GLOBAL/TrackingGeo/'
15
16
17 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
18 result.merge( TrackingGeometryCondAlgCfg(flags) )
19 geom_cond_key = 'AtlasTrackingGeometry'
20 kwargs.setdefault("TrackingGeometryReadKey", geom_cond_key)
21
22 if 'MappingVolumeName' not in kwargs :
23 if flags.Detector.GeometryHGTD:
24 kwargs.setdefault("MappingVolumeName", 'HGTD::Detectors::HGTD')
25 else:
26 kwargs.setdefault("MappingVolumeName", 'InDet::Containers::InnerDetector')
27
28 if 'ExtrapolationEngine' not in kwargs :
29 from TrkConfig.AtlasExtrapolationEngineConfig import AtlasExtrapolationEngineCfg
30 kwargs.setdefault("ExtrapolationEngine", result.getPrimaryAndMerge(AtlasExtrapolationEngineCfg(flags)))
31
32 if 'MaterialMapper' not in kwargs :
33 MaterialMapper = CompFactory.Trk.MaterialMapper("MaterialMapper")
34 kwargs.setdefault("MaterialMapper", MaterialMapper)
35
36 if 'LayerMaterialRecordAnalyser' not in kwargs :
37 LayerMaterialAnalyser = CompFactory.Trk.LayerMaterialAnalyser(name="LayerMaterialRecordAnalyser")
38 kwargs.setdefault("LayerMaterialRecordAnalyser", LayerMaterialAnalyser)
39
40 if 'LayerMaterialCreators' not in kwargs :
41 BinnedLayerMaterialCreator = CompFactory.Trk.BinnedLayerMaterialCreator(name="BinnedLayerMaterialCreator")
42 BinnedLayerMaterialCreator.LayerMaterialName = LayerMaterialName
43 BinnedLayerMaterialCreator.LayerMaterialDirectory = LayerMaterialDirectory
44 LayerMaterialCreators = [BinnedLayerMaterialCreator]
45 kwargs.setdefault("LayerMaterialCreators", LayerMaterialCreators)
46
47 if 'LayerMaterialAnalysers' not in kwargs :
48 BinnedLayerMaterialAnalyser = CompFactory.Trk.LayerMaterialAnalyser(name="BinnedLayerMaterialAnalyser")
49 BinnedLayerMaterialAnalyser.ValidationTreeName = 'BinnedLayerMaterialAnalyser'
50 BinnedLayerMaterialAnalyser.ValidationTreeDescription = 'Output of the BinnedLayerMaterialAnalyser'
51 BinnedLayerMaterialAnalyser.ValidationTreeFolder = '/val/BinnedLayerMaterialAnalyser'
52 LayerMaterialAnalysers = [ BinnedLayerMaterialAnalyser ]
53 kwargs.setdefault("LayerMaterialAnalysers", LayerMaterialAnalysers)
54
55 histSvc = CompFactory.THistSvc(Output = ["val DATAFILE='AtlasGeant4Geometry.root' TYPE='ROOT' OPT='RECREATE'"])
56 result.addService( histSvc )
57
58 algo = CompFactory.Trk.MaterialMapping(name=name, **kwargs)
59 result.addEventAlgo(algo, primary = True)
60
61 from RegistrationServices.OutputConditionsAlgConfig import OutputConditionsAlgCfg
62 result.merge(OutputConditionsAlgCfg(flags, name = "CondAlg_Material",
63 outputFile="AtlasLayerMaterial.pool.root",
64 ObjectList=['Trk::LayerMaterialMap#'+LayerMaterialDirectory+LayerMaterialName],
65 WriteIOV=True,IOVTagList=[flags.ITk.trackingGeometry.materialTag+str(flags.ITk.trackingGeometry.version)] ))
66
67 result.addService(CompFactory.IOVRegistrationSvc(RecreateFolders = True))
68
69 return result
70
71