diff --git a/Database/AthenaPOOL/AthenaPoolUtilities/share/TPCnvTest.py b/Database/AthenaPOOL/AthenaPoolUtilities/share/TPCnvTest.py index acae9e8d1756a8103a0125473774491816f790cb..13ef5600186b88e4fafc80fe22e6841003c9f003 100644 --- a/Database/AthenaPOOL/AthenaPoolUtilities/share/TPCnvTest.py +++ b/Database/AthenaPOOL/AthenaPoolUtilities/share/TPCnvTest.py @@ -73,12 +73,11 @@ if have_atlas_geo: svcMgr.GeoModelSvc.IgnoreTagDifference = True if have_atlas_geo and moduleExists ('TrkEventCnvTools') and moduleExists ('MuonEventCnvTools'): - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags from TrkEventCnvTools import TrkEventCnvToolsConf EventCnvSuperTool = TrkEventCnvToolsConf.Trk__EventCnvSuperTool('EventCnvSuperTool') from MuonIdHelpers.MuonIdHelpersConf import Muon__MuonIdHelperSvc - svcMgr += Muon__MuonIdHelperSvc("MuonIdHelperSvc",HasCSC=MuonGeometryFlags.hasCSC(), HasSTgc=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"]), HasMM=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"])) + svcMgr += Muon__MuonIdHelperSvc("MuonIdHelperSvc",HasCSC=MuonGeometryFlags.hasCSC(), HasSTgc=MuonGeometryFlags.hasSTGC(), HasMM=MuonGeometryFlags.hasMM()) ToolSvc += EventCnvSuperTool # diff --git a/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py b/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py index 180fb79ed88f2bd2929a4a4db3b14832ac188cf8..48efbf03c7c747f24e2e1dee1537ef48bf17dad8 100644 --- a/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py +++ b/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py @@ -2,7 +2,6 @@ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags def DetDescrCnvSvcCfg(configFlags=None): @@ -13,8 +12,8 @@ def DetDescrCnvSvcCfg(configFlags=None): detDescrCnvSvc=DetDescrCnvSvc(IdDictName = "IdDictParser/ATLAS_IDS.xml", IdDictFromRDB = True, HasCSC=MuonGeometryFlags.hasCSC(), - HasSTgc=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"]), - HasMM=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"])) + HasSTgc=MuonGeometryFlags.hasSTGC(), + HasMM=MuonGeometryFlags.hasMM()) acc.addService(detDescrCnvSvc) acc.addService(EvtPersistencySvc("EventPersistencySvc",CnvServices=[detDescrCnvSvc.getName(),])) #No service handle yet??? return acc diff --git a/DetectorDescription/DetDescrCnvSvc/python/DetStoreConfig.py b/DetectorDescription/DetDescrCnvSvc/python/DetStoreConfig.py index 9125a9d7a203c322ad5645c63642cc7d67b49092..e14007180aacd961effc971c54c8d436ee3f9b46 100755 --- a/DetectorDescription/DetDescrCnvSvc/python/DetStoreConfig.py +++ b/DetectorDescription/DetDescrCnvSvc/python/DetStoreConfig.py @@ -15,15 +15,14 @@ def _setupDetStoreConfig(): # now configure the Detector Description converter service from DetDescrCnvSvc.DetDescrCnvSvcConf import DetDescrCnvSvc - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags # Create DetDescrCnvSvc and add to SvcMgr # Specify primary Identifier dictionary to be used # and whether CSC/sTgc/MM muon chambers are part of the detector svcMgr += DetDescrCnvSvc(IdDictName = "IdDictParser/ATLAS_IDS.xml", HasCSC=MuonGeometryFlags.hasCSC(), - HasSTgc=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"]), - HasMM=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"])) + HasSTgc=MuonGeometryFlags.hasSTGC(), + HasMM=MuonGeometryFlags.hasMM()) #theApp.CreateSvc += [ svcMgr.DetDescrCnvSvc.getFullName() ] svcMgr.EventPersistencySvc.CnvServices += [ "DetDescrCnvSvc" ] diff --git a/DetectorDescription/DetDescrCnvSvc/share/DetStore.py b/DetectorDescription/DetDescrCnvSvc/share/DetStore.py index ed0a1eea70a81a1e636e7f596e4b56117d96731a..2a82ceb54d7087f627ec131df3f73e07b2fc98f8 100755 --- a/DetectorDescription/DetDescrCnvSvc/share/DetStore.py +++ b/DetectorDescription/DetDescrCnvSvc/share/DetStore.py @@ -24,8 +24,7 @@ EventPersistencySvc.CnvServices = [ "DetDescrCnvSvc" ] DetDescrCnvSvc.IdDictName = "IdDictParser/ATLAS_IDS.xml"; # Specify whether CSC/sTgc/MM muon chambers are part of the detector -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags DetDescrCnvSvc.HasCSC = MuonGeometryFlags.hasCSC() -DetDescrCnvSvc.HasSTgc = (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) -DetDescrCnvSvc.HasMM = (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) +DetDescrCnvSvc.HasSTgc = MuonGeometryFlags.hasSTGC() +DetDescrCnvSvc.HasMM = MuonGeometryFlags.hasMM() diff --git a/DetectorDescription/DetDescrCnvSvc/share/DetStore_joboptions.py b/DetectorDescription/DetDescrCnvSvc/share/DetStore_joboptions.py index 271a604577583e6092e343ecb4521261a83b1f5a..3d22aa20162414c35e7dbac96cd382011863c6b5 100755 --- a/DetectorDescription/DetDescrCnvSvc/share/DetStore_joboptions.py +++ b/DetectorDescription/DetDescrCnvSvc/share/DetStore_joboptions.py @@ -18,11 +18,10 @@ DetDescrCnvSvc = Service( "DetDescrCnvSvc" ) DetDescrCnvSvc.IdDictName = "IdDictParser/ATLAS_IDS.xml" # Specify whether CSC/sTgc/MM muon chambers are part of the detector -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags DetDescrCnvSvc.HasCSC = MuonGeometryFlags.hasCSC() -DetDescrCnvSvc.HasSTgc = (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) -DetDescrCnvSvc.HasMM = (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) +DetDescrCnvSvc.HasSTgc = MuonGeometryFlags.hasSTGC() +DetDescrCnvSvc.HasMM = MuonGeometryFlags.hasMM() # Specify the tag to be used # DetDescrCnvSvc.IdDictGlobalTag = "initial_layout" diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/Agdd2Geo.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/Agdd2Geo.py index f4e10065737c89462df269b6269b68f930d8efa2..581c3601798025025ccc83fdfcc8c6022f7363d8 100644 --- a/DetectorDescription/GeoModel/AtlasGeoModel/python/Agdd2Geo.py +++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/Agdd2Geo.py @@ -1,7 +1,7 @@ # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration from AthenaCommon.DetFlags import DetFlags -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags +from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags if ( DetFlags.detdescr.Muon_on() ): from AthenaCommon import CfgGetter @@ -13,7 +13,7 @@ if ( DetFlags.detdescr.Muon_on() ): if not "MuonAGDDTool/MuonSpectrometer" in AGDD2Geo.Builders.__str__(): AGDD2Geo.Builders += [CfgGetter.getPrivateTool("MuonSpectrometer", checkType=True)] - if CommonGeometryFlags.Run() == "RUN3" : + if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): if not "NSWAGDDTool/NewSmallWheel" in AGDD2Geo.Builders.__str__(): AGDD2Geo.Builders += [CfgGetter.getPrivateTool("NewSmallWheel", checkType=True)] diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/MuonGM.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/MuonGM.py index 4304efec894611f8713b030223c12dd0ed220b32..8c0210f2825da95617ff47047061ecd2669c678d 100755 --- a/DetectorDescription/GeoModel/AtlasGeoModel/python/MuonGM.py +++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/MuonGM.py @@ -2,7 +2,6 @@ from AthenaCommon.JobProperties import jobproperties from AthenaCommon.DetFlags import DetFlags -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags from AthenaCommon import Logging @@ -15,8 +14,8 @@ elif ( DetFlags.detdescr.Muon_on() ): from MuonGeoModel.MuonGeoModelConf import MuonDetectorTool GeoModelSvc.DetectorTools += [ MuonDetectorTool(HasCSC=MuonGeometryFlags.hasCSC(), - HasSTgc=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"]), - HasMM=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"])) ] + HasSTgc=MuonGeometryFlags.hasSTGC(), + HasMM=MuonGeometryFlags.hasMM()) ] import os GeoModelSvc.DetectorTools[ "MuonDetectorTool" ].BuildFromNova = 0 if ( ( not DetFlags.simulate.any_on() or DetFlags.overlay.any_on() ) and "AthSimulation_DIR" not in os.environ ): diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/MuonGMJobProperties.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/MuonGMJobProperties.py index a8845a41d35f2f48699d236d0c5d087a72e7279d..27140344eb1d483bbc2309334d2231c5c79969e9 100755 --- a/DetectorDescription/GeoModel/AtlasGeoModel/python/MuonGMJobProperties.py +++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/MuonGMJobProperties.py @@ -2,7 +2,6 @@ from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer, jobproperties from AtlasGeoModel.CommonGMJobProperties import CommonGMFlags, CommonGeometryFlags -from AthenaCommon import Logging # ------------------------------------------------------------------------------------- # Muon geometry flags initialization @@ -16,19 +15,29 @@ class MuonGMFlags(CommonGMFlags, object): dbId,dbSwitches,dbParam = self.dbGeomCursor.GetCurrentLeafContent("MuonSwitches") _layoutName=None _hasCsc=True + _hasStgc=True + _hasMM=True if len(dbId)>0: key=dbId[0] if "LAYOUTNAME" in dbParam: _layoutName = dbSwitches[key][dbParam.index("LAYOUTNAME")] if "HASCSC" in dbParam: _hasCsc = dbSwitches[key][dbParam.index("HASCSC")] + if "HASSTGC" in dbParam: _hasStgc = dbSwitches[key][dbParam.index("HASSTGC")] + if "HASMM" in dbParam: _hasMM = dbSwitches[key][dbParam.index("HASMM")] self.__dict__["Layout"] = (_layoutName if _layoutName else "UNDEFINED") if _hasCsc == 0: self.__dict__["HasCSC"] = False else: self.__dict__["HasCSC"] = True + if _hasStgc == 0: self.__dict__["HasSTGC"] = False + else: self.__dict__["HasSTGC"] = True + if _hasMM == 0: self.__dict__["HasMM"] = False + else: self.__dict__["HasMM"] = True def dump(self): - Logging.log.info("MuonGMFlags:") - Logging.log.info("Layout = "+self.__dict__["Layout"]) - Logging.log.info("HasCSC = "+self.__dict__["HasCSC"]) + print "MuonGMFlags:" + print "Layout = ",self.__dict__["Layout"] + print "HasCSC = ",self.__dict__["HasCSC"] + print "HasSTGC = ",self.__dict__["HasSTGC"] + print "HasMM = ",self.__dict__["HasMM"] class GeoLayout(JobProperty): @@ -43,6 +52,17 @@ class hasCSC(JobProperty): allowedTypes = ['bool'] StoredValue = True +class hasSTGC(JobProperty): + """ does the layout contain STGC chambers? """ + statusOn = True + allowedTypes = ['bool'] + StoredValue = True + +class hasMM(JobProperty): + """ does the layout contain MicroMegas chambers? """ + statusOn = True + allowedTypes = ['bool'] + StoredValue = True class MuonGeometryFlags_JobProperties(JobPropertyContainer): """ The geometry flag/job property container """ @@ -54,19 +74,27 @@ class MuonGeometryFlags_JobProperties(JobPropertyContainer): MuonGeoFlags = MuonGMFlags(geoTagName) self.GeoLayout.set_Value_and_Lock(MuonGeoFlags.getValue("Layout")) self.hasCSC.set_Value_and_Lock(MuonGeoFlags.getValue("HasCSC")) + self.hasSTGC.set_Value_and_Lock(MuonGeoFlags.getValue("HasSTGC")) + self.hasMM.set_Value_and_Lock(MuonGeoFlags.getValue("HasMM")) def reset(self,geoTagName="none"): self.GeoLayout.unlock() self.hasCSC.unlock() + self.hasSTGC.unlock() + self.hasMM.unlock() def dump(self): - Logging.log.info("Layout = "+self.GeoLayout()) - Logging.log.info("HasCSC = "+self.hasCSC()) + print "Layout = ", self.GeoLayout() + print "HasCSC = ", self.hasCSC() + print "HasSTGC = ", self.hasSTGC() + print "HasMM = ", self.hasMM() jobproperties.add_Container(MuonGeometryFlags_JobProperties) jobproperties.MuonGeometryFlags_JobProperties.add_JobProperty(GeoLayout) jobproperties.MuonGeometryFlags_JobProperties.add_JobProperty(hasCSC) +jobproperties.MuonGeometryFlags_JobProperties.add_JobProperty(hasSTGC) +jobproperties.MuonGeometryFlags_JobProperties.add_JobProperty(hasMM) MuonGeometryFlags = jobproperties.MuonGeometryFlags_JobProperties MuonGeometryFlags.setupValuesFromDB() diff --git a/DetectorDescription/RegionSelector/python/RegSelConfig.py b/DetectorDescription/RegionSelector/python/RegSelConfig.py index 91c00c2ef984d0a8735547fe8cf3a1745244d942..c79420f0d8223d58ade4a0aa88aad2d04678677a 100644 --- a/DetectorDescription/RegionSelector/python/RegSelConfig.py +++ b/DetectorDescription/RegionSelector/python/RegSelConfig.py @@ -112,7 +112,6 @@ if __name__ == "__main__": from AthenaConfiguration.TestDefaults import defaultTestFiles from AthenaCommon.Constants import DEBUG - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags ConfigFlags.Detector.GeometryPixel = True @@ -126,10 +125,9 @@ if __name__ == "__main__": ConfigFlags.Detector.GeometryCSC = True if not MuonGeometryFlags.hasCSC(): ConfigFlags.Detector.GeometryCSC = False ConfigFlags.Detector.GeometryMM = True + if not MuonGeometryFlags.hasMM(): ConfigFlags.Detector.GeometryMM = False ConfigFlags.Detector.GeometrysTGC = True - if not (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - ConfigFlags.Detector.GeometryMM = False - ConfigFlags.Detector.GeometrysTGC = False + if not MuonGeometryFlags.hasSTGC(): ConfigFlags.Detector.GeometrysTGC = False ConfigFlags.Input.Files = defaultTestFiles.RAW ConfigFlags.Input.isMC = False diff --git a/DetectorDescription/RegionSelector/python/RegSelSvcDefault.py b/DetectorDescription/RegionSelector/python/RegSelSvcDefault.py index f8121be32d05071e62fac9a12fbc608d074e53ac..511a0408b215dec2547051b66b8dbc8ecf718910 100755 --- a/DetectorDescription/RegionSelector/python/RegSelSvcDefault.py +++ b/DetectorDescription/RegionSelector/python/RegSelSvcDefault.py @@ -8,7 +8,6 @@ from AthenaCommon.SystemOfUnits import * # loads MeV etc... # import the base class from RegionSelector.RegionSelectorConf import RegSelSvc -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags class RegSelSvcDefault ( RegSelSvc ) : @@ -109,17 +108,20 @@ class RegSelSvcDefault ( RegSelSvc ) : tgcTable = TGC_RegionSelectorTable(name = "TGC_RegionSelectorTable") mlog.debug(tgcTable) + # could avoid first check in case DetFlags.detdescr.CSC_on() would take into account MuonGeometryFlags already if MuonGeometryFlags.hasCSC() and DetFlags.detdescr.CSC_on(): from MuonRegionSelector.MuonRegionSelectorConf import CSC_RegionSelectorTable cscTable = CSC_RegionSelectorTable(name = "CSC_RegionSelectorTable") mlog.debug(cscTable) - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) and DetFlags.detdescr.Micromegas_on(): + # could avoid first check in case DetFlags.detdescr.Micromegas_on() would take into account MuonGeometryFlags already + if MuonGeometryFlags.hasMM() and DetFlags.detdescr.Micromegas_on(): from MuonRegionSelector.MuonRegionSelectorConf import MM_RegionSelectorTable mmTable = MM_RegionSelectorTable(name = "MM_RegionSelectorTable") mlog.debug(mmTable) - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) and DetFlags.detdescr.sTGC_on(): + # could avoid first check in case DetFlags.detdescr.sTGC_on() would take into account MuonGeometryFlags already + if MuonGeometryFlags.hasSTGC() and DetFlags.detdescr.sTGC_on(): from MuonRegionSelector.MuonRegionSelectorConf import sTGC_RegionSelectorTable stgcTable = sTGC_RegionSelectorTable(name = "sTGC_RegionSelectorTable") mlog.debug(stgcTable) @@ -197,15 +199,18 @@ class RegSelSvcDefault ( RegSelSvc ) : self.enableTGC = True else: self.enableTGC = False + # could avoid first check in case DetFlags.detdescr.CSC_on() would take into account MuonGeometryFlags already if MuonGeometryFlags.hasCSC() and DetFlags.detdescr.CSC_on(): self.enableCSC = True else: self.enableCSC = False - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) and DetFlags.detdescr.sTGC_on(): + # could avoid first check in case DetFlags.detdescr.sTGC_on() would take into account MuonGeometryFlags already + if MuonGeometryFlags.hasSTGC() and DetFlags.detdescr.sTGC_on(): self.enablesTGC = True else: self.enablesTGC = False - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) and DetFlags.detdescr.Micromegas_on(): + # could avoid first check in case DetFlags.detdescr.Micromegas_on() would take into account MuonGeometryFlags already + if MuonGeometryFlags.hasMM() and DetFlags.detdescr.Micromegas_on(): self.enableMM = True else: self.enableMM = False diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py index 404b2a007d898746abed2285448f1ae7ec26ee5c..404674656fdd82d4afff79bb0a2dd6a0cf010d66 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py @@ -21,7 +21,7 @@ from AthenaCommon.AthenaCommonFlags import athenaCommonFlags from OverlayCommonAlgs.OverlayFlags import overlayFlags from MuonRecExample.MuonRecFlags import muonRecFlags -muonRecFlags.doCSCs.set_Value_and_Lock(True) +if MuonGeometryFlags.hasCSC(): muonRecFlags.doCSCs.set_Value_and_Lock(True) from LArConditionsCommon.LArCondFlags import larCondFlags larCondFlags.LArCoolChannelSelection.set_Value_and_Lock("") @@ -144,17 +144,10 @@ else: #DetFlags.overlay.LAr_setOff() DetFlags.overlay.Truth_setOn() -## Tidy up NSW DetFlags: temporary measure -DetFlags.sTGC_setOff() -DetFlags.Micromegas_setOff() -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags -if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - DetFlags.sTGC_setOn() - DetFlags.Micromegas_setOn() - from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags -if not MuonGeometryFlags.hasCSC(): - DetFlags.CSC_setOff() +if not MuonGeometryFlags.hasCSC(): DetFlags.CSC_setOff() +if not MuonGeometryFlags.hasSTGC(): DetFlags.sTGC_setOff() +if not MuonGeometryFlags.hasMM(): DetFlags.Micromegas_setOff() DetFlags.Print() @@ -180,7 +173,7 @@ if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay. if DetFlags.overlay.LAr_on() or DetFlags.overlay.Tile_on(): include ( "EventOverlayJobTransforms/CaloOverlay_jobOptions.py" ) -if DetFlags.overlay.CSC_on() or DetFlags.overlay.MDT_on() or DetFlags.overlay.RPC_on() or DetFlags.overlay.TGC_on(): +if (MuonGeometryFlags.hasCSC() and DetFlags.overlay.CSC_on()) or DetFlags.overlay.MDT_on() or DetFlags.overlay.RPC_on() or DetFlags.overlay.TGC_on(): include ( "EventOverlayJobTransforms/MuonOverlay_jobOptions.py" ) if DetFlags.overlay.LVL1_on(): diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayPool_tf.py b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayPool_tf.py index 13c6f4f9533c1d0fce937bbc79d789ad3640aecd..e334aeea937d0bbbe78ed97970be9fd7b8a0c32e 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayPool_tf.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayPool_tf.py @@ -82,17 +82,10 @@ else: DetFlags.digitize.LVL1_setOff() -if hasattr(runArgs,"geometryVersion") or not globalflags.DetDescrVersion.isDefault(): - ## Tidy up NSW DetFlags - ## only do this if we can be sure globalflags.DetDescrVersion has been configured. - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags - if CommonGeometryFlags.Run() not in ["RUN3", "RUN4"]: - DetFlags.sTGC_setOff() - DetFlags.Micromegas_setOff() - - from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags - if not MuonGeometryFlags.hasCSC(): - DetFlags.CSC_setOff() +from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags +if not MuonGeometryFlags.hasCSC(): DetFlags.CSC_setOff() +if not MuonGeometryFlags.hasSTGC(): DetFlags.sTGC_setOff() +if not MuonGeometryFlags.hasMM(): DetFlags.Micromegas_setOff() DetFlags.Print() @@ -170,7 +163,7 @@ if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay. if DetFlags.overlay.LAr_on() or DetFlags.overlay.Tile_on(): include ( "EventOverlayJobTransforms/CaloOverlay_jobOptions.py" ) -if DetFlags.overlay.CSC_on() or DetFlags.overlay.MDT_on() or DetFlags.overlay.RPC_on() or DetFlags.overlay.TGC_on() or DetFlags.overlay.sTGC_on() or DetFlags.overlay.Micromegas_on(): +if (MuonGeometryFlags.hasCSC() and DetFlags.overlay.CSC_on()) or DetFlags.overlay.MDT_on() or DetFlags.overlay.RPC_on() or DetFlags.overlay.TGC_on() or (MuonGeometryFlags.hasSTGC() and DetFlags.overlay.sTGC_on()) or (MuonGeometryFlags.hasMM() and DetFlags.overlay.Micromegas_on()): include ( "EventOverlayJobTransforms/MuonOverlay_jobOptions.py" ) if DetFlags.overlay.LVL1_on(): diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.Overlay_tf.py b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.Overlay_tf.py index 51bfac1f37623a2912acd1eab3486c0252704b12..95a9e6d63ef54fbe90250fbc5540d5949b35ffa5 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.Overlay_tf.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.Overlay_tf.py @@ -109,19 +109,10 @@ else: DetFlags.digitize.LVL1_setOff() -if hasattr(runArgs,"geometryVersion") or not globalflags.DetDescrVersion.isDefault(): - ## Tidy up NSW DetFlags: temporary measure - ## only do this if we can be sure globalflags.DetDescrVersion has been configured. - DetFlags.sTGC_setOff() - DetFlags.Micromegas_setOff() - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - DetFlags.sTGC_setOn() - DetFlags.Micromegas_setOn() - - from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags - if not MuonGeometryFlags.hasCSC(): - DetFlags.CSC_setOff() +from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags +if not MuonGeometryFlags.hasCSC(): DetFlags.CSC_setOff() +if not MuonGeometryFlags.hasSTGC(): DetFlags.sTGC_setOff() +if not MuonGeometryFlags.hasMM(): DetFlags.Micromegas_setOff() # TODO: need to do it better #DetFlags.makeRIO.all_setOff() ## Currently has to be on otherwise InDetTRTStrawStatusSummarySvc is not created @@ -198,7 +189,7 @@ if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay. if DetFlags.overlay.LAr_on() or DetFlags.overlay.Tile_on(): include ( "EventOverlayJobTransforms/CaloOverlay_jobOptions.py" ) -if DetFlags.overlay.CSC_on() or DetFlags.overlay.MDT_on() or DetFlags.overlay.RPC_on() or DetFlags.overlay.TGC_on() or DetFlags.overlay.sTGC_on() or DetFlags.overlay.Micromegas_on(): +if (MuonGeometryFlags.hasCSC() and DetFlags.overlay.CSC_on()) or DetFlags.overlay.MDT_on() or DetFlags.overlay.RPC_on() or DetFlags.overlay.TGC_on() or (MuonGeometryFlags.hasSTGC() and DetFlags.overlay.sTGC_on()) or (MuonGeometryFlags.hasMM() and DetFlags.overlay.Micromegas_on()): include ( "EventOverlayJobTransforms/MuonOverlay_jobOptions.py" ) if DetFlags.overlay.LVL1_on(): diff --git a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/jobOptions_MuonRDOToDigit.py b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/jobOptions_MuonRDOToDigit.py index d41e97860fd3ff3af0cc961fd13017b84cb26577..a68c1f66a3e5c751497679f33988eea7c6ffea6b 100644 --- a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/jobOptions_MuonRDOToDigit.py +++ b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/jobOptions_MuonRDOToDigit.py @@ -2,7 +2,6 @@ include.block ("MuonByteStreamCnvTest/jobOptions_MuonRDOToDigit.py") from AthenaCommon.CfgGetter import getPublicTool -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags ## configure the tool @@ -13,11 +12,11 @@ MuonRdoToMuonDigitTool = MuonRdoToMuonDigitTool ( DecodeRpcRDO = True, DecodeTgcRDO = True, DecodeCscRDO = MuonGeometryFlags.hasCSC(), - DecodeSTGC_RDO = (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]), - DecodeMM_RDO = (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]), + DecodeSTGC_RDO = MuonGeometryFlags.hasSTGC(), + DecodeMM_RDO = MuonGeometryFlags.hasMM(), cscRdoDecoderTool=("Muon::CscRDO_Decoder" if MuonGeometryFlags.hasCSC() else ""), - stgcRdoDecoderTool=("Muon::STGC_RDO_Decoder" if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) else ""), - mmRdoDecoderTool=("Muon::MM_RDO_Decoder" if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) else "") + stgcRdoDecoderTool=("Muon::STGC_RDO_Decoder" if MuonGeometryFlags.hasSTGC() else ""), + mmRdoDecoderTool=("Muon::MM_RDO_Decoder" if MuonGeometryFlags.hasMM() else "") ) if MuonGeometryFlags.hasCSC(): MuonRdoToMuonDigitTool.cscCalibTool = getPublicTool("CscCalibTool") diff --git a/MuonSpectrometer/MuonConfig/python/MuonConfigFlags.py b/MuonSpectrometer/MuonConfig/python/MuonConfigFlags.py index 40e721c4f1b4a9b40808ec8b46535abef5e74721..a5876f048c341761ded19faaa6e1ebdd2c9b88e3 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonConfigFlags.py +++ b/MuonSpectrometer/MuonConfig/python/MuonConfigFlags.py @@ -1,6 +1,7 @@ # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.AthConfigFlags import AthConfigFlags +from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags import re # Some comments from Ed about existing flags @@ -36,10 +37,9 @@ def createMuonConfigFlags(): mcf.addFlag("Muon.doMDTs",True) mcf.addFlag("Muon.doTGCs",True) mcf.addFlag("Muon.doRPCs",True) - # TODO auto handle NSW here. - mcf.addFlag("Muon.doCSCs",True) - mcf.addFlag("Muon.doMicromegas",False) - mcf.addFlag("Muon.dosTGCs",False) + mcf.addFlag("Muon.doCSCs",MuonGeometryFlags.hasCSC()) + mcf.addFlag("Muon.doMicromegas",MuonGeometryFlags.hasMM()) + mcf.addFlag("Muon.dosTGCs",MuonGeometryFlags.hasSTGC()) # stages of processing # 1. Digitization diff --git a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py index 20db94f66106f35b752e517a6de1415333f1919e..7b70a785380eb70bb3a675f29352d4882fd97273 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py @@ -6,7 +6,6 @@ from MuonGeoModel.MuonGeoModelConf import MuonDetectorTool from MuonIdHelpers.MuonIdHelpersConf import Muon__MuonIdHelperSvc from AGDD2GeoSvc.AGDD2GeoSvcConf import AGDDtoGeoSvc from MuonAGDD.MuonAGDDConf import MuonAGDDTool, NSWAGDDTool -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags def MuonGeoModelCfg(flags): @@ -19,8 +18,8 @@ def MuonGeoModelCfg(flags): detTool = MuonDetectorTool( HasCSC=MuonGeometryFlags.hasCSC(), - HasSTgc=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"]), - HasMM=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) + HasSTgc=MuonGeometryFlags.hasSTGC(), + HasMM=MuonGeometryFlags.hasMM() ) detTool.UseConditionDb = 1 detTool.UseIlinesFromGM = 1 @@ -103,17 +102,12 @@ def MuonGeoModelCfg(flags): detTool.UseAsciiConditionData = 0 if flags.Detector.SimulateMuon: detTool.FillCacheInitTime = 0 - if flags.GeoModel.Run=="RUN3" or flags.GeoModel.Run=="RUN4": - detTool.StationSelection = 2 - detTool.SelectedStations = [ "EIL1", "EIL2", "EIL6", "EIL7", - "EIS*", "EIL10", "EIL11", "EIL12", - "EIL17", "CSS*", "CSL*", "T4E*", - "T4F*" ] + ## Additional material in the muon system AGDD2Geo = AGDDtoGeoSvc() muonAGDDTool = MuonAGDDTool("MuonSpectrometer", BuildNSW=False) AGDD2Geo.Builders += [ muonAGDDTool ] - if flags.GeoModel.Run=="RUN3" or flags.GeoModel.Run=="RUN4": + if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): nswAGDDTool = NSWAGDDTool("NewSmallWheel", Locked=False) nswAGDDTool.Volumes = ["NewSmallWheel"] nswAGDDTool.DefaultDetector = "Muon" @@ -124,8 +118,8 @@ def MuonGeoModelCfg(flags): acc.addService( Muon__MuonIdHelperSvc("MuonIdHelperSvc", HasCSC=MuonGeometryFlags.hasCSC(), - HasSTgc=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"]), - HasMM=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) + HasSTgc=MuonGeometryFlags.hasSTGC(), + HasMM=MuonGeometryFlags.hasMM() ) ) return acc diff --git a/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py index 00f1bc851f86105cf34b8e3f7819b728b14639e9..ba19fac9ae0feffddc557903521e9d6b13bd42a9 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py @@ -66,7 +66,6 @@ def MuonSeededSegmentFinderCfg(flags,name="MuonSeededSegmentFinder", **kwargs): def MuonSegmentMomentumFromFieldCfg(flags, name="MuonSegmentMomentumFromField", **kwargs): from MuonSegmentMomentum.MuonSegmentMomentumConf import MuonSegmentMomentumFromField from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags result = ComponentAccumulator() @@ -88,7 +87,7 @@ def MuonSegmentMomentumFromFieldCfg(flags, name="MuonSegmentMomentumFromField", kwargs.setdefault("PropagatorTool", muon_prop) kwargs.setdefault("HasCSC", MuonGeometryFlags.hasCSC()) - kwargs.setdefault("HasSTgc", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"])) + kwargs.setdefault("HasSTgc", MuonGeometryFlags.hasSTGC()) muon_seg_mom_from_field = MuonSegmentMomentumFromField(name=name, **kwargs) result.setPrivateTools(muon_seg_mom_from_field) diff --git a/MuonSpectrometer/MuonDetDescr/MuonAGDD/python/MuonAGDDConfig.py b/MuonSpectrometer/MuonDetDescr/MuonAGDD/python/MuonAGDDConfig.py index 68617e53bd0d927f70c136fe8466e86fdf283193..29465e7ddea93f7c40f345466e1ffb2cebd21a7d 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonAGDD/python/MuonAGDDConfig.py +++ b/MuonSpectrometer/MuonDetDescr/MuonAGDD/python/MuonAGDDConfig.py @@ -1,12 +1,6 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - -# As of the summer of 2018, there is no way to turn off the NSW for RUN3 configuration -# By default for RUN3, readAGDD is true so the NSW information is pulled directly from the database -# If the user sets readAGDD to false in the config files, an XML file must be defined also. -# Otherwise, with readAGDD overwritten to false, the job will crash +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration from AthenaCommon import CfgMgr -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags def MuonAGDDTool(name="MuonSpectrometer", **kwargs): kwargs.setdefault("BuildNSW", False) @@ -14,9 +8,6 @@ def MuonAGDDTool(name="MuonSpectrometer", **kwargs): def NSWAGDDTool(name="NewSmallWheel", **kwargs): kwargs.setdefault("Locked", False) - if not CommonGeometryFlags.Run() == "RUN3" : - kwargs.setdefault("XMLFiles", ["NSW_StationDescription.xml"]) kwargs.setdefault("Volumes", ["NewSmallWheel"]) kwargs.setdefault("DefaultDetector", "Muon") return CfgMgr.NSWAGDDTool(name, **kwargs) - diff --git a/MuonSpectrometer/MuonDetDescr/MuonRegionSelector/share/MuonRegionSelectorTable_jobOptions.py b/MuonSpectrometer/MuonDetDescr/MuonRegionSelector/share/MuonRegionSelectorTable_jobOptions.py index ecdf575e962a3a871b569e224d0e22e26d2cca1e..9999734ee3b97dff59abaf931ffe0a656dd8e34f 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonRegionSelector/share/MuonRegionSelectorTable_jobOptions.py +++ b/MuonSpectrometer/MuonDetDescr/MuonRegionSelector/share/MuonRegionSelectorTable_jobOptions.py @@ -6,6 +6,7 @@ include.block("MuonRegionSelector/MuonRegionSelectorTable_jobOptions.py") +from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags # get DetFlags from AthenaCommon.DetFlags import DetFlags @@ -14,9 +15,6 @@ topSequence = AlgSequence() # get ToolSvc ToolSvc = Service( "ToolSvc" ) -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags -from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags - #### RPC #### if DetFlags.detdescr.RPC_on(): @@ -43,6 +41,7 @@ else : #### CSC #### +# could avoid first check in case DetFlags.detdescr.CSC_on() would take into account MuonGeometryFlags already if MuonGeometryFlags.hasCSC() and DetFlags.detdescr.CSC_on(): from MuonRegionSelector.MuonRegionSelectorConf import CSC_RegionSelectorTable CSC_RegionSelectorTable = CSC_RegionSelectorTable(name = "CSC_RegionSelectorTable") @@ -66,7 +65,8 @@ else : #### New small wheel #### -if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) and DetFlags.detdescr.Micromegas_on(): +# could avoid first check in case DetFlags.detdescr.Micromegas_on() would take into account MuonGeometryFlags already +if MuonGeometryFlags.hasMM() and DetFlags.detdescr.Micromegas_on(): from MuonRegionSelector.MuonRegionSelectorConf import MM_RegionSelectorTable MM_RegionSelectorTable = MM_RegionSelectorTable(name = "MM_RegionSelectorTable") @@ -76,7 +76,8 @@ else : MM_RegionSelectorTable = None -if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) and DetFlags.detdescr.sTGC_on(): +# could avoid first check in case DetFlags.detdescr.sTGC_on() would take into account MuonGeometryFlags already +if MuonGeometryFlags.hasSTGC() and DetFlags.detdescr.sTGC_on(): from MuonRegionSelector.MuonRegionSelectorConf import sTGC_RegionSelectorTable sTGC_RegionSelectorTable = sTGC_RegionSelectorTable(name = "sTGC_RegionSelectorTable") diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py b/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py index 5647cca1072df8b769c6c397c574bd2a3d852c2c..8ce4c5b14cab392399c79b0a8beb0f1789b9ac21 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py +++ b/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py @@ -36,7 +36,6 @@ from MuonRecUtils import logMuon,ConfiguredBase,ExtraFlags from MuonRecFlags import muonRecFlags from MuonStandaloneFlags import muonStandaloneFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags #============================================================== # call setDefaults to update flags @@ -337,11 +336,9 @@ def MuonSeededSegmentFinder(name="MuonSeededSegmentFinder",**kwargs): kwargs.setdefault("SegmentMaker", segMaker) kwargs.setdefault("SegmentMakerNoHoles", segMaker) - if not MuonGeometryFlags.hasCSC(): - kwargs.setdefault("CscPrepDataContainer","") - if not (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - kwargs.setdefault("sTgcPrepDataContainer","") - kwargs.setdefault("MMPrepDataContainer","") + if not MuonGeometryFlags.hasCSC(): kwargs.setdefault("CscPrepDataContainer","") + if not MuonGeometryFlags.hasSTGC(): kwargs.setdefault("sTgcPrepDataContainer","") + if not MuonGeometryFlags.hasMM(): kwargs.setdefault("MMPrepDataContainer","") return CfgMgr.Muon__MuonSeededSegmentFinder(name,**kwargs) @@ -421,9 +418,8 @@ def MuonChamberHoleRecoveryTool(name="MuonChamberHoleRecoveryTool",extraFlags=No # add in missing C++ dependency. TODO: fix in C++ getPublicTool("ResidualPullCalculator") - if not (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - kwargs.setdefault("sTgcPrepDataContainer","") - kwargs.setdefault("MMPrepDataContainer","") + if not MuonGeometryFlags.hasSTGC(): kwargs.setdefault("sTgcPrepDataContainer","") + if not MuonGeometryFlags.hasMM(): kwargs.setdefault("MMPrepDataContainer","") #MDT conditions information not available online if(athenaCommonFlags.isOnline): diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonRecTools.py b/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonRecTools.py index 31172b28c0e278691709114cc1c2068196644054..e73e942cba7c8d9a240f4da0d45742a75b365e38 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonRecTools.py +++ b/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonRecTools.py @@ -33,7 +33,6 @@ from AthenaCommon.CfgGetter import getPrivateTool,getPrivateToolClone,getPublicT # temporarily for backwards compat. TO BE REMOVED from AthenaCommon.CfgGetter import addTool,addToolClone,addService -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags from TriggerJobOpts.TriggerFlags import TriggerFlags @@ -243,8 +242,8 @@ def MuonIdHelperTool(name="MuonIdHelperTool",**kwargs): def MuonIdHelperSvc(name="MuonIdHelperSvc",**kwargs): from MuonIdHelpers.MuonIdHelpersConf import Muon__MuonIdHelperSvc kwargs.setdefault("HasCSC", MuonGeometryFlags.hasCSC()) - kwargs.setdefault("HasSTgc", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"])) - kwargs.setdefault("HasMM", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"])) + kwargs.setdefault("HasSTgc", MuonGeometryFlags.hasSTGC()) + kwargs.setdefault("HasMM", MuonGeometryFlags.hasMM()) return Muon__MuonIdHelperSvc(name,**kwargs) def MuonStraightLineExtrapolator(name="MuonStraightLineExtrapolator",**kwargs): diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonStandalone.py b/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonStandalone.py index 5d92a8d0f3166e8f35977632b2db82fa9c26bae7..39c3de3aff1e1c4394bbb08d13fc5d1feba77780 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonStandalone.py +++ b/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonStandalone.py @@ -157,9 +157,8 @@ class MuonStandalone(ConfiguredMuonRec): if muonStandaloneFlags.segmentOrigin == 'TruthTracking': SegmentLocation = "ThirdChainSegments" - # we assume that RUN3 or RUN4 means that at least one sTgc and one MM chamber is present - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): + # do the following in case of (at least one) NSW + if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): getPublicTool("MuonLayerHoughTool") self.addAlg( CfgMgr.MuonLayerHoughAlg( "MuonLayerHoughAlg", PrintSummary = muonStandaloneFlags.printSummary() ) ) if not muonStandaloneFlags.patternsOnly(): diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRDO_to_PRD_jobOptions.py b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRDO_to_PRD_jobOptions.py index 6bc428a45a8351af496a4d7e323e2e6b0e87026c..6705ccdb8053f9caa6ff12ee495f23a674d4edf2 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRDO_to_PRD_jobOptions.py +++ b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRDO_to_PRD_jobOptions.py @@ -19,7 +19,6 @@ beamFlags = jobproperties.Beam from AthenaCommon.CfgGetter import getAlgorithm from MuonRecExample.MuonPrdProviderToolsConfig import RpcPrepDataProviderTool, MdtPrepDataProviderTool, TgcPrepDataProviderTool, CscPrepDataProviderTool -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags if MuonGeometryFlags.hasCSC() and muonRecFlags.doCSCs() and DetFlags.makeRIO.CSC_on() and (DetFlags.haveRDO.CSC_on() or DetFlags.digitize.CSC_on()): @@ -39,7 +38,7 @@ if muonRecFlags.doTGCs() and DetFlags.makeRIO.TGC_on() and (DetFlags.haveRDO.TGC topSequence.TgcRdoToTgcPrepData.DecodingTool = TgcPrepDataProviderTool() if not muonRecFlags.doFastDigitization(): - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): + if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): if muonRecFlags.dosTGCs() and DetFlags.makeRIO.sTGC_on() and (DetFlags.haveRDO.sTGC_on() or DetFlags.digitize.sTGC_on()): topSequence += getAlgorithm("StgcRdoToStgcPrepData", tryDefaultConfigurable=True) if muonRecFlags.doMicromegas() and DetFlags.makeRIO.Micromegas_on() and (DetFlags.haveRDO.Micromegas_on() or DetFlags.digitize.Micromegas_on()): diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRecOutputItemList_jobOptions.py b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRecOutputItemList_jobOptions.py index b17a073aa5ef581c0fbfad9935da6c6bd5065143..b9b149554ae0de20c6df3a7e7762816a7ad3dccb 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRecOutputItemList_jobOptions.py +++ b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRecOutputItemList_jobOptions.py @@ -3,7 +3,6 @@ from RecExConfig.RecFlags import rec from MuonRecExample.MuonRecFlags import muonRecFlags from AthenaCommon.BeamFlags import jobproperties -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags #AOD list, also added to the ESD @@ -44,9 +43,10 @@ if DetFlags.detdescr.Muon_on() and (rec.doWriteAOD() or rec.doWriteESD()): MuonAODList += [ "xAOD::TrackMeasurementValidationContainer#RPC_Measurements"] MuonAODList += [ "xAOD::TrackMeasurementValidationAuxContainer#RPC_MeasurementsAux."] MuonAODList += [ "xAOD::TrackMeasurementValidationContainer#TGC_MeasurementsAllBCs"] - MuonAODList += [ "xAOD::TrackMeasurementValidationAuxContainer#TGC_MeasurementsAllBCsAux."] - MuonAODList += [ "xAOD::TrackMeasurementValidationContainer#CSC_Clusters"] - MuonAODList += [ "xAOD::TrackMeasurementValidationAuxContainer#CSC_ClustersAux."] + MuonAODList += [ "xAOD::TrackMeasurementValidationAuxContainer#TGC_MeasurementsAllBCsAux."] + if MuonGeometryFlags.hasCSC(): + MuonAODList += [ "xAOD::TrackMeasurementValidationContainer#CSC_Clusters"] + MuonAODList += [ "xAOD::TrackMeasurementValidationAuxContainer#CSC_ClustersAux."] if muonRecFlags.doCreateClusters: MuonAODList += [ "xAOD::TrackMeasurementValidationContainer#RPC_Clusters"] MuonAODList += [ "xAOD::TrackMeasurementValidationAuxContainer#RPC_ClustersAux."] @@ -65,9 +65,8 @@ if DetFlags.detdescr.Muon_on() and rec.doWriteESD(): #PRDs - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - MuonESDList+=["Muon::MMPrepDataContainer#MM_Measurements"] - MuonESDList+=["Muon::sTgcPrepDataContainer#STGC_Measurements"] + if MuonGeometryFlags.hasMM(): MuonESDList+=["Muon::MMPrepDataContainer#MM_Measurements"] + if MuonGeometryFlags.hasSTGC(): MuonESDList+=["Muon::sTgcPrepDataContainer#STGC_Measurements"] if MuonGeometryFlags.hasCSC(): MuonESDList+=["Muon::CscPrepDataContainer#CSC_Clusters"] MuonESDList+=["Muon::CscStripPrepDataContainer#CSC_Measurements"] @@ -94,22 +93,22 @@ if DetFlags.detdescr.Muon_on() and rec.doWriteESD(): MuonESDList += [ "TrackRecordCollection#MuonEntryLayerFilter" ] MuonESDList += [ "TrackRecordCollection#MuonExitLayerFilter" ] - MuonESDList += ["PRD_MultiTruthCollection#MDT_TruthMap","PRD_MultiTruthCollection#CSC_TruthMap","PRD_MultiTruthCollection#RPC_TruthMap", - "PRD_MultiTruthCollection#TGC_TruthMap","PRD_MultiTruthCollection#STGC_TruthMap","PRD_MultiTruthCollection#MM_TruthMap"] + MuonESDList += ["PRD_MultiTruthCollection#MDT_TruthMap","PRD_MultiTruthCollection#RPC_TruthMap", "PRD_MultiTruthCollection#TGC_TruthMap"] + if MuonGeometryFlags.hasCSC(): MuonESDList += ["PRD_MultiTruthCollection#CSC_TruthMap"] + if MuonGeometryFlags.hasSTGC(): MuonESDList += ["PRD_MultiTruthCollection#STGC_TruthMap"] + if MuonGeometryFlags.hasMM(): MuonESDList += ["PRD_MultiTruthCollection#MM_TruthMap"] #Track truth MuonESDList+=["DetailedTrackTruthCollection#MuonSpectrometerTracksTruth"] MuonESDList+=["TrackTruthCollection#MuonSpectrometerTracksTruth"] if muonRecFlags.writeSDOs(): - if MuonGeometryFlags.hasCSC(): - MuonESDList+=["CscSimDataCollection#CSC_SDO"] + if MuonGeometryFlags.hasCSC(): MuonESDList+=["CscSimDataCollection#CSC_SDO"] MuonESDList+=["MuonSimDataCollection#MDT_SDO"] MuonESDList+=["MuonSimDataCollection#RPC_SDO"] MuonESDList+=["MuonSimDataCollection#TGC_SDO"] - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - MuonESDList+=["MuonSimDataCollection#STGC_SDO"] - MuonESDList+=["MuonSimDataCollection#MM_SDO"] + if MuonGeometryFlags.hasSTGC(): MuonESDList+=["MuonSimDataCollection#STGC_SDO"] + if MuonGeometryFlags.hasMM(): MuonESDList+=["MuonSimDataCollection#MM_SDO"] # commenting if-statement since mandatory for e.g. RPC calibration # Write out CSC, RPC, and MDT RDOs. diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py index a65b657cd605803f13985851390dfbc32c4c612f..f475c3a39420ca59189d53d456e111f79dab01ba 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py +++ b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py @@ -26,7 +26,6 @@ from RecExConfig.RecAlgsFlags import recAlgs from MuonRecExample.MuonAlignFlags import muonAlignFlags from AthenaCommon.AppMgr import ToolSvc -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags muonRecFlags.setDefaults() @@ -40,8 +39,8 @@ if rec.readESD() or rec.readAOD(): MuonIdHelperTool() if muonRecFlags.doCSCs() and not MuonGeometryFlags.hasCSC(): muonRecFlags.doCSCs = False -if muonRecFlags.dosTGCs() and (CommonGeometryFlags.Run() not in ["RUN3", "RUN4"]): muonRecFlags.dosTGCs = False -if muonRecFlags.doMicromegas() and (CommonGeometryFlags.Run() not in ["RUN3", "RUN4"]): muonRecFlags.doMicromegas = False +if muonRecFlags.dosTGCs() and not MuonGeometryFlags.hasSTGC(): muonRecFlags.dosTGCs = False +if muonRecFlags.doMicromegas() and not MuonGeometryFlags.hasMM(): muonRecFlags.doMicromegas = False if muonRecFlags.doDigitization(): include("MuonRecExample/MuonDigitization_jobOptions.py") @@ -81,7 +80,7 @@ if rec.readESD() and DetFlags.readRIOPool.TGC_on(): include("MuonTGC_CnvTools/TgcPrepDataReplicationAlg_jopOptions.py") if muonRecFlags.doFastDigitization(): - if CommonGeometryFlags.Run() in ["RUN3", "RUN4"]: + if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): #if DetFlags.Micromegas_on() and DetFlags.digitize.Micromegas_on(): from MuonFastDigitization.MuonFastDigitizationConf import MM_FastDigitizer topSequence += MM_FastDigitizer("MM_FastDigitizer") @@ -116,8 +115,9 @@ if rec.doTruth() and DetFlags.makeRIO.Muon_on(): from AthenaCommon import CfgGetter topSequence.MuonTruthDecorationAlg.MCTruthClassifier = CfgGetter.getPublicTool(MCTruthClassifier(name="MCTruthClassifier",ParticleCaloExtensionTool="")) topSequence.MuonTruthDecorationAlg.SDOs=["RPC_SDO","TGC_SDO","MDT_SDO"] - if CommonGeometryFlags.Run() in ["RUN3", "RUN4"]: + if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): topSequence.MuonTruthDecorationAlg.SDOs+=["MM_SDO","sTGC_SDO"] + if not MuonGeometryFlags.hasCSC(): topSequence.MuonTruthDecorationAlg.CSCSDOs = "" try: from PyUtils.MetaReaderPeeker import metadata @@ -151,7 +151,7 @@ if muonRecFlags.doStandalone(): from TrkTruthAlgs.TrkTruthAlgsConf import TrackTruthSelector from TrkTruthAlgs.TrkTruthAlgsConf import TrackParticleTruthAlg col = "MuonSpectrometerTracks" - topSequence += MuonDetailedTrackTruthMaker(name="MuonStandaloneDetailedTrackTruthMaker", TrackCollectionNames = [col], HasCSC=MuonGeometryFlags.hasCSC(), HasSTgc=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"]), HasMM=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"])) + topSequence += MuonDetailedTrackTruthMaker(name="MuonStandaloneDetailedTrackTruthMaker", TrackCollectionNames = [col], HasCSC=MuonGeometryFlags.hasCSC(), HasSTgc=MuonGeometryFlags.hasSTGC(), HasMM=MuonGeometryFlags.hasMM()) topSequence += TrackTruthSelector(name= col + "Selector", DetailedTrackTruthName = col + "DetailedTruth", OutputName = col + "Truth") @@ -159,7 +159,7 @@ if muonRecFlags.doStandalone(): TrackTruthName=col+"Truth", TrackParticleName = "MuonSpectrometerTrackParticles" ) - topSequence += Muon__MuonSegmentTruthAssociationAlg("MuonSegmentTruthAssociationAlg", HasCSC=MuonGeometryFlags.hasCSC(), HasSTgc=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"]), HasMM=(CommonGeometryFlags.Run() in ["RUN3", "RUN4"])) + topSequence += Muon__MuonSegmentTruthAssociationAlg("MuonSegmentTruthAssociationAlg", HasCSC=MuonGeometryFlags.hasCSC(), HasSTgc=MuonGeometryFlags.hasSTGC(), HasMM=MuonGeometryFlags.hasMM()) try: from PyUtils.MetaReaderPeeker import metadata diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuGirlTagTool.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuGirlTagTool.py index 47e4fb03577ce5f1c18b65f241cc25b76a7aa4cb..9cdf84b91a9070dcc1d4e1696ce6380d26c78ed4 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuGirlTagTool.py +++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuGirlTagTool.py @@ -18,7 +18,6 @@ from MuonRecExample.MuonRecTools import DCMathSegmentMaker ###logfile from AthenaCommon.Logging import log -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags from TriggerJobOpts.TriggerFlags import TriggerFlags @@ -74,11 +73,9 @@ def MuonStauSeededSegmentFinder( name="MuonStauSeededSegmentFinder", **kwargs ): kwargs.setdefault("MdtRotCreator", getPublicTool("MdtDriftCircleOnTrackCreatorStau") ) kwargs.setdefault("SegmentMaker", getPublicTool("DCMathStauSegmentMaker") ) kwargs.setdefault("SegmentMakerNoHoles", getPublicTool("DCMathStauSegmentMaker") ) - if not MuonGeometryFlags.hasCSC(): - kwargs.setdefault("CscPrepDataContainer","") - if not (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - kwargs.setdefault("sTgcPrepDataContainer","") - kwargs.setdefault("MMPrepDataContainer","") + if not MuonGeometryFlags.hasCSC(): kwargs.setdefault("CscPrepDataContainer","") + if not MuonGeometryFlags.hasSTGC(): kwargs.setdefault("sTgcPrepDataContainer","") + if not MuonGeometryFlags.hasMM(): kwargs.setdefault("MMPrepDataContainer","") return MuonSeededSegmentFinder(name,**kwargs) diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py index fc370fd1e7c2f063c8f84f6fb36a9229dcf92fe2..df269ff8bfd197d00e2e8625d0eb485b4e9f9e8b 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py +++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py @@ -10,7 +10,6 @@ from AthenaCommon.AlgSequence import AlgSequence from AthenaCommon import CfgMgr from AthenaCommon.BeamFlags import jobproperties -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags from TriggerJobOpts.TriggerFlags import TriggerFlags @@ -24,16 +23,16 @@ def MuonCombinedInDetExtensionAlg(name="MuonCombinedInDetExtensionAlg",**kwargs) kwargs.setdefault("TagMap", "caloTagMap" ) kwargs.setdefault("MuonCombinedInDetExtensionTools", tools ) kwargs.setdefault("HasCSC", MuonGeometryFlags.hasCSC() ) - kwargs.setdefault("HasSTgc", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) ) - kwargs.setdefault("HasMM", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) ) + kwargs.setdefault("HasSTgc", MuonGeometryFlags.hasSTGC() ) + kwargs.setdefault("HasMM", MuonGeometryFlags.hasMM() ) return CfgMgr.MuonCombinedInDetExtensionAlg(name,**kwargs) def MuGirlAlg(name="MuGirlAlg",**kwargs): tools = [getPublicTool("MuGirlTagTool")] kwargs.setdefault("MuonCombinedInDetExtensionTools", tools ) kwargs.setdefault("HasCSC", MuonGeometryFlags.hasCSC() ) - kwargs.setdefault("HasSTgc", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) ) - kwargs.setdefault("HasMM", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) ) + kwargs.setdefault("HasSTgc", MuonGeometryFlags.hasSTGC() ) + kwargs.setdefault("HasMM", MuonGeometryFlags.hasMM() ) return CfgMgr.MuonCombinedInDetExtensionAlg(name,**kwargs) @@ -45,8 +44,8 @@ def MuonCaloTagAlg(name="MuonCaloTagAlg",**kwargs): kwargs.setdefault("METrackCollection","") kwargs.setdefault("SegmentCollection","") kwargs.setdefault("HasCSC", MuonGeometryFlags.hasCSC() ) - kwargs.setdefault("HasSTgc", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) ) - kwargs.setdefault("HasMM", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) ) + kwargs.setdefault("HasSTgc", MuonGeometryFlags.hasSTGC() ) + kwargs.setdefault("HasMM", MuonGeometryFlags.hasMM() ) return CfgMgr.MuonCombinedInDetExtensionAlg(name,**kwargs) def MuonSegmentTagAlg( name="MuonSegmentTagAlg", **kwargs ): @@ -63,8 +62,8 @@ def MuonInsideOutRecoAlg( name="MuonInsideOutRecoAlg", **kwargs ): kwargs.setdefault("MuonCombinedInDetExtensionTools", tools ) kwargs.setdefault("usePRDs",True) kwargs.setdefault("HasCSC", MuonGeometryFlags.hasCSC() ) - kwargs.setdefault("HasSTgc", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) ) - kwargs.setdefault("HasMM", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) ) + kwargs.setdefault("HasSTgc", MuonGeometryFlags.hasSTGC() ) + kwargs.setdefault("HasMM", MuonGeometryFlags.hasMM() ) kwargs.setdefault("TagMap","muGirlTagMap") return CfgMgr.MuonCombinedInDetExtensionAlg(name,**kwargs) @@ -73,8 +72,8 @@ def MuGirlStauAlg(name="MuGirlStauAlg",**kwargs): kwargs.setdefault("MuonCombinedInDetExtensionTools", tools ) kwargs.setdefault("TagMap","stauTagMap") kwargs.setdefault("HasCSC", MuonGeometryFlags.hasCSC() ) - kwargs.setdefault("HasSTgc", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) ) - kwargs.setdefault("HasMM", (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) ) + kwargs.setdefault("HasSTgc", MuonGeometryFlags.hasSTGC() ) + kwargs.setdefault("HasMM", MuonGeometryFlags.hasMM() ) kwargs.setdefault("CombinedTrackCollection","MuGirlStauCombinedTracks") kwargs.setdefault("METrackCollection","") kwargs.setdefault("SegmentCollection","MuGirlStauSegments") diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py index b558aaea4b373c69bbb794f2de14319cfc53a127..5b25086d1c53b6bb69022a072b7871e5d5d1bf0f 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py +++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py @@ -28,9 +28,10 @@ if rec.doTruth() and muonCombinedRecFlags.doxAOD() and rec.doMuonCombined(): topSequence+= MuonDetailedTrackTruthMaker("MuonCombinedDetailedTrackTruthMaker") topSequence.MuonCombinedDetailedTrackTruthMaker.TrackCollectionNames = cols topSequence.MuonCombinedDetailedTrackTruthMaker.DetailedTrackTruthNames = fcols + from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags topSequence.MuonCombinedDetailedTrackTruthMaker.HasCSC = MuonGeometryFlags.hasCSC() - topSequence.MuonCombinedDetailedTrackTruthMaker.HasSTgc = (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) - topSequence.MuonCombinedDetailedTrackTruthMaker.HasMM = (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]) + topSequence.MuonCombinedDetailedTrackTruthMaker.HasSTgc = MuonGeometryFlags.hasSTGC() + topSequence.MuonCombinedDetailedTrackTruthMaker.HasMM = MuonGeometryFlags.hasMM() from TrkTruthAlgs.TrkTruthAlgsConf import TrackParticleTruthAlg for i in range(0, len(fcols)): diff --git a/Simulation/G4Atlas/G4AtlasApps/python/SimAtlasKernel.py b/Simulation/G4Atlas/G4AtlasApps/python/SimAtlasKernel.py index 6ccb5ad359e1f622b0f7eb093b282614b3921825..273b7aec934f54b5abd8253d4f803c0d37b68d0d 100644 --- a/Simulation/G4Atlas/G4AtlasApps/python/SimAtlasKernel.py +++ b/Simulation/G4Atlas/G4AtlasApps/python/SimAtlasKernel.py @@ -49,13 +49,10 @@ class AtlasSimSkeleton(SimSkeleton): ## Tidy up DBM DetFlags: temporary measure DetFlags.DBM_setOff() - ## Tidy up NSW DetFlags: temporary measure - DetFlags.sTGC_setOff() - DetFlags.Micromegas_setOff() - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags - if CommonGeometryFlags.Run() in ["RUN3", "RUN4"]: - DetFlags.sTGC_setOn() - DetFlags.Micromegas_setOn() + from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags + if not MuonGeometryFlags.hasCSC(): DetFlags.CSC_setOff() + if not MuonGeometryFlags.hasSTGC(): DetFlags.sTGC_setOff() + if not MuonGeometryFlags.hasMM(): DetFlags.Micromegas_setOff() ## Switch off tasks DetFlags.pileup.all_setOff() @@ -182,8 +179,8 @@ class AtlasSimSkeleton(SimSkeleton): if not "MuonAGDDTool/MuonSpectrometer" in AGDD2Geo.Builders: ToolSvc += CfgGetter.getPublicTool("MuonSpectrometer", checkType=True) AGDD2Geo.Builders += ["MuonAGDDTool/MuonSpectrometer"] - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags - if CommonGeometryFlags.Run() in ["RUN3", "RUN4"]: + from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags + if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): if not "NSWAGDDTool/NewSmallWheel" in AGDD2Geo.Builders: ToolSvc += CfgGetter.getPublicTool("NewSmallWheel", checkType=True) AGDD2Geo.Builders += ["NSWAGDDTool/NewSmallWheel"] diff --git a/Simulation/G4Atlas/G4AtlasApps/python/SimSkeleton.py b/Simulation/G4Atlas/G4AtlasApps/python/SimSkeleton.py index 9e76433cbe37d72daaf6ef58460b13a2f5cdadcf..269fd186225ac8a2b11dbeaaafdf36f0fe79c2eb 100644 --- a/Simulation/G4Atlas/G4AtlasApps/python/SimSkeleton.py +++ b/Simulation/G4Atlas/G4AtlasApps/python/SimSkeleton.py @@ -104,10 +104,9 @@ class SimSkeleton(object): "TrackRecordCollection#MuonExitLayer"] from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags if MuonGeometryFlags.hasCSC(): stream1.ItemList += ["CSCSimHitCollection#*"] - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - stream1.ItemList += ["sTGCSimHitCollection#*"] - stream1.ItemList += ["MMSimHitCollection#*"] + if MuonGeometryFlags.hasSTGC(): stream1.ItemList += ["sTGCSimHitCollection#*"] + if MuonGeometryFlags.hasMM(): stream1.ItemList += ["MMSimHitCollection#*"] + ## Lucid if DetFlags.Lucid_on(): stream1.ItemList += ["LUCID_SimHitCollection#*"] diff --git a/Simulation/G4Atlas/G4AtlasApps/share/G4Atlas.flat.configuration.py b/Simulation/G4Atlas/G4AtlasApps/share/G4Atlas.flat.configuration.py index 11c7546cc62f6ddc39cbba3e4df262b6fa33dfe5..a2d89959222a673a573f3b54e139daa74ecbed9c 100644 --- a/Simulation/G4Atlas/G4AtlasApps/share/G4Atlas.flat.configuration.py +++ b/Simulation/G4Atlas/G4AtlasApps/share/G4Atlas.flat.configuration.py @@ -27,16 +27,10 @@ from AthenaCommon.DetFlags import DetFlags ## Tidy up DBM DetFlags: temporary measure DetFlags.DBM_setOff() -## Tidy up NSW DetFlags: temporary measure -DetFlags.sTGC_setOff() -DetFlags.Micromegas_setOff() -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags -if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - DetFlags.sTGC_setOn() - DetFlags.Micromegas_setOn() from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags -if not MuonGeometryFlags.hasCSC(): - DetFlags.CSC_setOff() +if not MuonGeometryFlags.hasSTGC(): DetFlags.sTGC_setOff() +if not MuonGeometryFlags.hasMM(): DetFlags.Micromegas_setOff() +if not MuonGeometryFlags.hasCSC(): DetFlags.CSC_setOff() ## Switch off tasks DetFlags.pileup.all_setOff() @@ -128,7 +122,7 @@ if DetFlags.Muon_on(): from AthenaCommon import CfgGetter if not "MuonAGDDTool/MuonSpectrometer" in AGDD2Geo.Builders.__str__(): AGDD2Geo.Builders += [CfgGetter.getPrivateTool("MuonSpectrometer", checkType=True)] - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): + if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): if not "NSWAGDDTool/NewSmallWheel" in AGDD2Geo.Builders.__str__(): AGDD2Geo.Builders += [CfgGetter.getPrivateTool("NewSmallWheel", checkType=True)] theApp.CreateSvc += ["AGDDtoGeoSvc"] @@ -209,9 +203,8 @@ if not simFlags.ISFRun: "MDTSimHitCollection#*", "TrackRecordCollection#MuonExitLayer"] if MuonGeometryFlags.hasCSC(): stream1.ItemList += ["CSCSimHitCollection#*"] - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - stream1.ItemList += ["sTGCSimHitCollection#*"] - stream1.ItemList += ["MMSimHitCollection#*"] + if MuonGeometryFlags.hasSTGC(): stream1.ItemList += ["sTGCSimHitCollection#*"] + if MuonGeometryFlags.hasMM(): stream1.ItemList += ["MMSimHitCollection#*"] ## Lucid if DetFlags.Lucid_on(): diff --git a/Simulation/G4Atlas/G4AtlasTests/share/postInclude.DCubeTest.py b/Simulation/G4Atlas/G4AtlasTests/share/postInclude.DCubeTest.py index b8149d319e8fda97962ae76bfc3fdf0e5a28fee4..9b20b8f08361b578781009bab6246e74717bfa71 100644 --- a/Simulation/G4Atlas/G4AtlasTests/share/postInclude.DCubeTest.py +++ b/Simulation/G4Atlas/G4AtlasTests/share/postInclude.DCubeTest.py @@ -17,7 +17,9 @@ if not hasattr(job, 'G4TestAlg'): job += G4TestAlg() from AthenaCommon.DetFlags import DetFlags from G4AtlasApps.SimFlags import simFlags -simFlags.ReleaseGeoModel=False; +simFlags.ReleaseGeoModel=False + +from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags from AthenaCommon import CfgGetter if DetFlags.Truth_on(): @@ -49,14 +51,10 @@ if simFlags.CalibrationRun.get_Value()=='LAr+Tile': if DetFlags.Muon_on(): job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("MDTHitsTestTool", checkType=True)] job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("RPCHitsTestTool", checkType=True)] - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("MMHitsTestTool", checkType=True)] - job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("sTGCHitsTestTool", checkType=True)] - from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags - if MuonGeometryFlags.hasCSC(): - job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("CSCHitsTestTool", checkType=True)] job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("TGCHitsTestTool", checkType=True)] + if MuonGeometryFlags.hasCSC(): job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("CSCHitsTestTool", checkType=True)] + if MuonGeometryFlags.hasMM(): job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("MMHitsTestTool", checkType=True)] + if MuonGeometryFlags.hasSTGC(): job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("sTGCHitsTestTool", checkType=True)] if DetFlags.Truth_on(): job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("MuonEntryLayerTestTool", checkType=True)] job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("MuonExitLayerTestTool", checkType=True)] diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfig.py b/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfig.py index 1c310a9208933e12f75bbdb1860f4d47ddd5458b..64c1416b264e0067b38b2adb03bd1925299f585e 100644 --- a/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfig.py +++ b/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfig.py @@ -2,6 +2,7 @@ from __future__ import print_function from AthenaCommon import CfgMgr +from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags def generateFastSimulationList(): FastSimulationList=[] @@ -128,16 +129,14 @@ def generateMuonSensitiveDetectorList(): if DetFlags.simulate.MDT_on() : SensitiveDetectorList += [ 'MDTSensitiveDetectorCosmics' ] if DetFlags.simulate.RPC_on() : SensitiveDetectorList += [ 'RPCSensitiveDetectorCosmics' ] if DetFlags.simulate.TGC_on() : SensitiveDetectorList += [ 'TGCSensitiveDetectorCosmics' ] - if DetFlags.simulate.CSC_on() : SensitiveDetectorList += [ 'CSCSensitiveDetectorCosmics' ] + if MuonGeometryFlags.hasCSC() and DetFlags.simulate.CSC_on() : SensitiveDetectorList += [ 'CSCSensitiveDetectorCosmics' ] else: if DetFlags.simulate.MDT_on() : SensitiveDetectorList += [ 'MDTSensitiveDetector' ] if DetFlags.simulate.RPC_on() : SensitiveDetectorList += [ 'RPCSensitiveDetector' ] if DetFlags.simulate.TGC_on() : SensitiveDetectorList += [ 'TGCSensitiveDetector' ] - if DetFlags.simulate.CSC_on() : SensitiveDetectorList += [ 'CSCSensitiveDetector' ] - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - if DetFlags.simulate.sTGC_on() : SensitiveDetectorList += [ 'sTGCSensitiveDetector' ] - if DetFlags.simulate.Micromegas_on() : SensitiveDetectorList += [ 'MicromegasSensitiveDetector' ] + if MuonGeometryFlags.hasCSC() and DetFlags.simulate.CSC_on() : SensitiveDetectorList += [ 'CSCSensitiveDetector' ] + if MuonGeometryFlags.hasSTGC() and DetFlags.simulate.sTGC_on() : SensitiveDetectorList += [ 'sTGCSensitiveDetector' ] + if MuonGeometryFlags.hasMM() and DetFlags.simulate.Micromegas_on() : SensitiveDetectorList += [ 'MicromegasSensitiveDetector' ] return SensitiveDetectorList def generateEnvelopeSensitiveDetectorList(): diff --git a/Simulation/ISF/ISF_Example/python/ISF_Output.py b/Simulation/ISF/ISF_Example/python/ISF_Output.py index 2e751ae2451d7b6677eafbaaca183d7b57d11f49..bd1ae638f6307b0827b386891947e265b4ab9f5f 100644 --- a/Simulation/ISF/ISF_Example/python/ISF_Output.py +++ b/Simulation/ISF/ISF_Example/python/ISF_Output.py @@ -45,11 +45,8 @@ def getHITSStreamItemList(): "TrackRecordCollection#MuonExitLayer"] from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags if MuonGeometryFlags.hasCSC(): hitsItemList += ["CSCSimHitCollection#*"] - from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - hitsItemList += ["sTGCSimHitCollection#*"] - hitsItemList += ["MMSimHitCollection#*"] - hitsItemList += ["GenericMuonSimHitCollection#*"] + if MuonGeometryFlags.hasSTGC(): hitsItemList += ["sTGCSimHitCollection#*"] + if MuonGeometryFlags.hasMM(): hitsItemList += ["MMSimHitCollection#*"] ## FwdRegion if DetFlags.FwdRegion_on(): diff --git a/Tools/FullChainTransforms/share/FastChainSkeleton.EVGENtoRDO.py b/Tools/FullChainTransforms/share/FastChainSkeleton.EVGENtoRDO.py index 0d849955625d3bfadf728b1d99d35c49c02b6bb3..c96ffbafdb0de7bd9fab57a26c8f436e41c42faa 100644 --- a/Tools/FullChainTransforms/share/FastChainSkeleton.EVGENtoRDO.py +++ b/Tools/FullChainTransforms/share/FastChainSkeleton.EVGENtoRDO.py @@ -21,7 +21,7 @@ fast_chain_log.info( str(runArgs) ) from AthenaCommon import CfgGetter import AthenaCommon.SystemOfUnits as Units - +from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags ### Start of Sim @@ -281,23 +281,18 @@ except: DetFlags.LVL1_setOff() DetFlags.Truth_setOn() DetFlags.Forward_setOff() # Forward dets are off by default -DetFlags.Micromegas_setOff() -DetFlags.sTGC_setOff() DetFlags.FTK_setOff() checkHGTDOff = getattr(DetFlags, 'HGTD_setOff', None) if checkHGTDOff is not None: checkHGTDOff() #Default for now -# from AthenaCommon.DetFlags import DetFlags - -# from AthenaCommon.DetFlags import DetFlags ## Tidy up DBM DetFlags: temporary measure DetFlags.DBM_setOff() -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags -if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): - DetFlags.sTGC_setOn() - DetFlags.Micromegas_setOn() +# turn off DetFlags for muon detectors which are not part of the layout +if not MuonGeometryFlags.hasCSC(): DetFlags.CSC_setOff() +if not MuonGeometryFlags.hasSTGC(): DetFlags.sTGC_setOff() +if not MuonGeometryFlags.hasMM(): DetFlags.Micromegas_setOff() #if simFlags.ForwardDetectors.statusOn: # if DetFlags.geometry.FwdRegion_on(): @@ -308,13 +303,17 @@ if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): DetFlags.digitize.all_setOn() DetFlags.digitize.LVL1_setOff() DetFlags.digitize.ZDC_setOff() -DetFlags.digitize.Micromegas_setOff() -DetFlags.digitize.sTGC_setOff() DetFlags.digitize.Forward_setOff() DetFlags.digitize.Lucid_setOff() DetFlags.digitize.AFP_setOff() DetFlags.digitize.ALFA_setOff() +# turn off DetFlags.digitize for muon detectors which are not part of the layout +# (since DetFlags.digitize.all_setOn() is called a few lines above) +if not MuonGeometryFlags.hasCSC(): DetFlags.digitize.CSC_setOff() +if not MuonGeometryFlags.hasSTGC(): DetFlags.digitize.sTGC_setOff() +if not MuonGeometryFlags.hasMM(): DetFlags.digitize.Micromegas_setOff() + #set all detdescr on except fwd. #DetFlags.detdescr.all_setOn() #DetFlags.detdescr.LVL1_setOff() @@ -776,7 +775,7 @@ if ISF_Flags.UsingGeant4(): AGDD2Geo = AGDDtoGeoSvc() if not "MuonAGDDTool/MuonSpectrometer" in AGDD2Geo.Builders.__str__(): AGDD2Geo.Builders += [CfgGetter.getPrivateTool("MuonSpectrometer", checkType=True)] - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): + if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): if not "NSWAGDDTool/NewSmallWheel" in AGDD2Geo.Builders.__str__(): AGDD2Geo.Builders += [CfgGetter.getPrivateTool("NewSmallWheel", checkType=True)] theApp.CreateSvc += ["AGDDtoGeoSvc"] diff --git a/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py b/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py index e1d495e92b5ef26787fd5f2b1067632e883cf2c1..65dde956e068667ef0b424723a479962a141a12c 100755 --- a/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py +++ b/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py @@ -21,7 +21,6 @@ from MuonCombinedRecExample.MuonCombinedRecFlags import muonCombinedRecFlags from TrkDetDescrSvc.AtlasTrackingGeometrySvc import AtlasTrackingGeometrySvc from MuonRecExample.MuonRecFlags import muonRecFlags -from AtlasGeoModel.CommonGMJobProperties import CommonGeometryFlags from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags #Offline calorimeter isolation tool @@ -407,7 +406,7 @@ def TMEF_MuonLayerSegmentFinderTool(name="TMEF_MuonLayerSegmentFinderTool",**kwa if not MuonGeometryFlags.hasCSC(): kwargs.setdefault('Csc2DSegmentMaker', '') kwargs.setdefault('Csc4DSegmentMaker', '') - if (CommonGeometryFlags.Run() in ["RUN3", "RUN4"]): kwargs.setdefault('NSWMuonClusterSegmentFinderTool','TMEF_MuonClusterSegmentFinderTool') + if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): kwargs.setdefault('NSWMuonClusterSegmentFinderTool','TMEF_MuonClusterSegmentFinderTool') return CfgMgr.Muon__MuonLayerSegmentFinderTool(name,**kwargs) def TMEF_MuonInsideOutRecoTool(name="TMEF_MuonInsideOutRecoTool",**kwargs):