Skip to content
Snippets Groups Projects
Commit 73f43bd8 authored by Daniel Louis Noel's avatar Daniel Louis Noel
Browse files

Add the newly configured tools to G4AtlasServicesConfigNew

parent bdb72544
9 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!28528Revert 63f845ae,!27054Atr20369 210,!26342Monopole: Handle fractionally charged particles,!24014Updated the DetGeoSvc to the new style
......@@ -6,7 +6,25 @@ from AthenaCommon import CfgGetter
#from AthenaCommon.BeamFlags import jobproperties
from G4AtlasServices.G4AtlasServicesConf import DetectorGeometrySvc, StandardFieldSvc, G4AtlasSvc, G4GeometryNotifierSvc
#the physics region tools
from G4AtlasTools.G4PhysicsRegionConfigNew import SX1PhysicsRegionToolCfg, BedrockPhysicsRegionToolCfg, CavernShaftsConcretePhysicsRegionToolCfg, PixelPhysicsRegionToolCfg, SCTPhysicsRegionToolCfg, TRTPhysicsRegionToolCfg, TRT_ArPhysicsRegionToolCfg, BeampipeFwdCutPhysicsRegionToolCfg, FWDBeamLinePhysicsRegionToolCfg, EMBPhysicsRegionToolCfg, EMECPhysicsRegionToolCfg, HECPhysicsRegionToolCfg, FCALPhysicsRegionToolCfg, DriftWallPhysicsRegionToolCfg, DriftWall1PhysicsRegionToolCfg, DriftWall2PhysicsRegionToolCfg, MuonSystemFastPhysicsRegionToolCfg
"""FwdRegionPhysicsRegionToolCfg,
TRT_KrPhysicsRegionToolCfg,
EMECParaPhysicsRegionToolCfg,
FCALParaPhysicsRegionToolCfg,
FCAL2ParaPhysicsRegionToolCfg,
PreSampLArPhysicsRegionToolCfg,
DeadMaterialPhysicsRegionToolCfg,
MuonPhysicsRegionToolCfg,
SX1PhysicsRegionToolCfg,
SCTSiliconPhysicsRegionToolCfg"""
from G4AtlasTools.G4GeometryToolConfig import MaterialDescriptionToolCfg
from G4AtlasTools.G4FieldConfigNew import ATLASFieldManagerToolCfg, TightMuonsATLASFieldManagerToolCfg, BeamPipeFieldManagerToolCfg, InDetFieldManagerToolCfg, MuonsOnlyInCaloFieldManagerToolCfg, MuonFieldManagerToolCfg, Q1FwdFieldMangerToolCfg, Q2FwdFieldMangerToolCfg, Q3FwdFieldMangerToolCfg, D1FwdFieldMangerToolCfg, D2FwdFieldMangerToolCfg, Q4FwdFieldMangerToolCfg, Q5FwdFieldMangerToolCfg, Q6FwdFieldMangerToolCfg, Q7FwdFieldMangerToolCfg, Q1HKickFwdFieldMangerToolCfg, Q1VKickFwdFieldMangerToolCfg, Q2HKickFwdFieldMangerToolCfg, Q2VKickFwdFieldMangerToolCfg, Q3HKickFwdFieldMangerToolCfg, Q3VKickFwdFieldMangerToolCfg, Q4VKickAFwdFieldMangerToolCfg, Q4HKickFwdFieldMangerToolCfg, Q4VKickBFwdFieldMangerToolCfg, Q5HKickFwdFieldMangerToolCfg, Q6VKickFwdFieldMangerToolCfg, FwdRegionFieldMangerToolCfg
"""ClassicFieldManagerToolCfg
BasicDetectorFieldManagerToolCfg
BasicFwdFieldMangerToolCfg"""
def getATLAS_RegionCreatorList(ConfigFlags):
regionCreatorList = []
......@@ -21,23 +39,25 @@ def getATLAS_RegionCreatorList(ConfigFlags):
from AthenaCommon.DetFlags import DetFlags
from AthenaCommon.BeamFlags import jobproperties
if ConfigFlags.Beam.Type == 'cosmics' or ConfigFlags.Sim.CavernBG != 'Signal':
regionCreatorList += ['SX1PhysicsRegionTool', 'BedrockPhysicsRegionTool', 'CavernShaftsConcretePhysicsRegionTool']
regionCreatorList += [SX1PhysicsRegionToolCfg(ConfigFlags), BedrockPhysicsRegionToolCfg(ConfigFlags), CavernShaftsConcretePhysicsRegionToolCfg(ConfigFlags)]
#regionCreatorList += ['CavernShaftsAirPhysicsRegionTool'] # Not used currently
if ConfigFlags.Detector.SimulateID:
if ConfigFlags.Detector.SimulatePixel:
regionCreatorList += ['PixelPhysicsRegionTool']
regionCreatorList += [PixelPhysicsRegionToolCfg(ConfigFlags)]
if ConfigFlags.Detector.SimulateSCT:
regionCreatorList += ['SCTPhysicsRegionTool']
regionCreatorList += [SCTPhysicsRegionToolCfg(ConfigFlags)]
if ConfigFlags.Detector.SimulateTRT and not isUpgrade:
regionCreatorList += ['TRTPhysicsRegionTool']
regionCreatorList += [TRTPhysicsRegionToolCfg(ConfigFlags)]
if isRUN2:
regionCreatorList += ['TRT_ArPhysicsRegionTool'] #'TRT_KrPhysicsRegionTool'
regionCreatorList += [TRT_ArPhysicsRegionToolCfg(ConfigFlags)] #'TRT_KrPhysicsRegionTool'
# FIXME dislike the ordering here, but try to maintain the same ordering as in the old configuration.
if ConfigFlags.Detector.SimulateBpipe:
if simFlags.BeamPipeSimMode.statusOn and simFlags.BeamPipeSimMode() != "Normal":
regionCreatorList += ['BeampipeFwdCutPhysicsRegionTool']
if simFlags.ForwardDetectors.statusOn and simFlags.ForwardDetectors() == 2:
regionCreatorList += ['FWDBeamLinePhysicsRegionTool']
#if simFlags.BeamPipeSimMode.statusOn and simFlags.BeamPipeSimMode() != "Normal":
if True:
regionCreatorList += [BeampipeFwdCutPhysicsRegionToolCfg(ConfigFlags)]
#if simFlags.ForwardDetectors.statusOn and simFlags.ForwardDetectors() == 2:
if True:
regionCreatorList += [FWDBeamLinePhysicsRegionToolCfg(ConfigFlags)]
if ConfigFlags.Detector.SimulateCalo:
if ConfigFlags.Detector.GeometryLAr:
## Shower parameterization overrides the calibration hit flag
......@@ -48,24 +68,24 @@ def getATLAS_RegionCreatorList(ConfigFlags):
print ' Please try again with a different value of either simFlags.LArParameterization (' + str(simFlags.LArParameterization()) + ') or simFlags.CalibrationRun ('+str(ConfigFlags.Sim.CalibrationRun)+')'
raise RuntimeError('Configuration not allowed')
if simFlags.LArParameterization() > 0:
regionCreatorList += ['EMBPhysicsRegionTool', 'EMECPhysicsRegionTool',
'HECPhysicsRegionTool', 'FCALPhysicsRegionTool']
regionCreatorList += [EMBPhysicsRegionTool(ConfigFlags), EMECPhysicsRegionTool(ConfigFlags),
HECPhysicsRegionTool(ConfigFlags), FCALPhysicsRegionTool(ConfigFlags)]
# FIXME 'EMBPhysicsRegionTool' used for parametrization also - do we need a second instance??
regionCreatorList += ['EMECParaPhysicsRegionTool',
'FCALParaPhysicsRegionTool', 'FCAL2ParaPhysicsRegionTool']
regionCreatorList += [EMECParaPhysicsRegionTool(ConfigFlags),
FCALParaPhysicsRegionTool(ConfigFlags), FCAL2ParaPhysicsRegionTool(ConfigFlags)]
if simFlags.LArParameterization.get_Value() > 1:
regionCreatorList += ['PreSampLArPhysicsRegionTool', 'DeadMaterialPhysicsRegionTool']
regionCreatorList += [PreSampLArPhysicsRegionTool(ConfigFlags), DeadMaterialPhysicsRegionTool(ConfigFlags)]
elif simFlags.LArParameterization() is None or simFlags.LArParameterization() == 0:
regionCreatorList += ['EMBPhysicsRegionTool', 'EMECPhysicsRegionTool',
'HECPhysicsRegionTool', 'FCALPhysicsRegionTool']
regionCreatorList += [EMBPhysicsRegionTool(ConfigFlags), EMECPhysicsRegionTool(ConfigFlags),
HECPhysicsRegionTool(ConfigFlags), FCALPhysicsRegionTool(ConfigFlags)]
## FIXME _initPR never called for FwdRegion??
#if simFlags.ForwardDetectors.statusOn:
# if DetFlags.geometry.FwdRegion_on():
# regionCreatorList += ['FwdRegionPhysicsRegionTool']
if ConfigFlags.Detector.GeometryMuon:
regionCreatorList += ['DriftWallPhysicsRegionTool', 'DriftWall1PhysicsRegionTool', 'DriftWall2PhysicsRegionTool']
regionCreatorList += [DriftWallPhysicsRegionTool(ConfigFlags), DriftWall1PhysicsRegionTool(ConfigFlags), DriftWall2PhysicsRegionTool(ConfigFlags)]
if ConfigFlags.Sim.CavernBG != 'Read' and not (simFlags.RecordFlux.statusOn and simFlags.RecordFlux()):
regionCreatorList += ['MuonSystemFastPhysicsRegionTool']
regionCreatorList += [MuonSystemFastPhysicsRegionTool(ConfigFlags)]
return regionCreatorList
#not called anywhere?
......@@ -80,9 +100,9 @@ def getCTB_RegionCreatorList(ConfigFlags):
eta=simFlags.Eta.get_Value()
if eta>=0 and eta<1.201:
if ConfigFlags.Detector.SimulateLAr:
regionCreatorList += ['EMBPhysicsRegionTool']
regionCreatorList += [EMBPhysicsRegionTool(ConfigFlags)]
if ConfigFlags.Detector.SimulateMuon:
regionCreatorList += ['DriftWallPhysicsRegionTool', 'DriftWall1PhysicsRegionTool', 'DriftWall2PhysicsRegionTool']
regionCreatorList += [DriftWallPhysicsRegionTool(ConfigFlags), DriftWall1PhysicsRegionTool(ConfigFlags), DriftWall2PhysicsRegionTool(ConfigFlags)]
return regionCreatorList
def getTB_RegionCreatorList(ConfigFlags):
......@@ -91,20 +111,20 @@ def getTB_RegionCreatorList(ConfigFlags):
if (ConfigFlags.GeoModel.AtlasVersion=="tb_LArH6_2003"):
if (ConfigFlags.Detector.SimulateLAr):
regionCreatorList += ['FCALPhysicsRegionTool']
regionCreatorList += [FCALPhysicsRegionTool(ConfigFlags)]
elif (ConfigFlags.GeoModel.AtlasVersion=="tb_LArH6_2002"):
if (ConfigFlags.Detector.SimulateLAr):
regionCreatorList += ['HECPhysicsRegionTool']
regionCreatorList += [HECPhysicsRegionTool(ConfigFlags)]
elif (ConfigFlags.GeoModel.AtlasVersion=="tb_LArH6EC_2002"):
if (ConfigFlags.Detector.SimulateLAr):
regionCreatorList += ['EMECPhysicsRegionTool']
regionCreatorList += [EMECPhysicsRegionTool(ConfigFlags)]
elif (ConfigFlags.GeoModel.AtlasVersion=="tb_LArH6_2004"):
if (simFlags.LArTB_H6Hec.get_Value()):
regionCreatorList += ['HECPhysicsRegionTool']
regionCreatorList += [HECPhysicsRegionTool(ConfigFlags)]
if (simFlags.LArTB_H6Emec.get_Value()):
regionCreatorList += ['EMECPhysicsRegionTool']
regionCreatorList += [EMECPhysicsRegionTool(ConfigFlags)]
if (simFlags.LArTB_H6Fcal.get_Value()):
regionCreatorList += ['FCALPhysicsRegionTool']
regionCreatorList += [FCALPhysicsRegionTool(ConfigFlags)]
return regionCreatorList
#########################################################################
......@@ -186,42 +206,42 @@ def getATLAS_FieldMgrList(ConfigFlags):
from G4AtlasApps.SimFlags import simFlags
if not simFlags.TightMuonStepping.statusOn or\
not simFlags.TightMuonStepping():
fieldMgrList += ['ATLASFieldManager']
fieldMgrList += [ATLASFieldManagerToolCfg(ConfigFlags)]
else:
fieldMgrList += ['TightMuonsATLASFieldManager']
fieldMgrList += [TightMuonsATLASFieldManagerToolCfg(ConfigFlags)]
from AthenaCommon.DetFlags import DetFlags
if ConfigFlags.Detector.SimulateBpipe:
fieldMgrList += ['BeamPipeFieldManager']
fieldMgrList += [BeamPipeFieldManagerToolCfg(ConfigFlags)]
if ConfigFlags.Detector.SimulateID:
fieldMgrList += ['InDetFieldManager']
fieldMgrList += [InDetFieldManagerToolCfg(ConfigFlags)]
if ConfigFlags.Detector.SimulateCalo and simFlags.MuonFieldOnlyInCalo.statusOn and simFlags.MuonFieldOnlyInCalo():
fieldMgrList += ['MuonsOnlyInCaloFieldManager']
fieldMgrList += [MuonsOnlyInCaloFieldManager(ConfigFlags)]
if ConfigFlags.Detector.SimulateMuon:
fieldMgrList += ['MuonFieldManager']
fieldMgrList += [MuonFieldManager(ConfigFlags)]
if ConfigFlags.Detector.SimulateForward: #needed?
if ConfigFlags.Detector.GeometryFwdRegion: #or forward?
fieldMgrList += ['Q1FwdFieldManager',
'Q2FwdFieldManager',
'Q3FwdFieldManager',
'D1FwdFieldManager',
'D2FwdFieldManager',
'Q4FwdFieldManager',
'Q5FwdFieldManager',
'Q6FwdFieldManager',
'Q7FwdFieldManager',
'Q1HKickFwdFieldManager',
'Q1VKickFwdFieldManager',
'Q2HKickFwdFieldManager',
'Q2VKickFwdFieldManager',
'Q3HKickFwdFieldManager',
'Q3VKickFwdFieldManager',
'Q4VKickAFwdFieldManager',
'Q4HKickFwdFieldManager',
'Q4VKickBFwdFieldManager',
'Q5HKickFwdFieldManager',
'Q6VKickFwdFieldManager',
'FwdRegionFieldManager']
fieldMgrList += [Q1FwdFieldManager(ConfigFlags),
Q2FwdFieldManager(ConfigFlags),
Q3FwdFieldManager(ConfigFlags),
D1FwdFieldManager(ConfigFlags),
D2FwdFieldManager(ConfigFlags),
Q4FwdFieldManager(ConfigFlags),
Q5FwdFieldManager(ConfigFlags),
Q6FwdFieldManager(ConfigFlags),
Q7FwdFieldManager(ConfigFlags),
Q1HKickFwdFieldManager(ConfigFlags),
Q1VKickFwdFieldManager(ConfigFlags),
Q2HKickFwdFieldManager(ConfigFlags),
Q2VKickFwdFieldManager(ConfigFlags),
Q3HKickFwdFieldManager(ConfigFlags),
Q3VKickFwdFieldManager(ConfigFlags),
Q4VKickAFwdFieldManager(ConfigFlags),
Q4HKickFwdFieldManager(ConfigFlags),
Q4VKickBFwdFieldManager(ConfigFlags),
Q5HKickFwdFieldManager(ConfigFlags),
Q6VKickFwdFieldManager(ConfigFlags),
FwdRegionFieldManager(ConfigFlags)]
return fieldMgrList
#called?
......@@ -235,9 +255,9 @@ def getTB_FieldMgrList(ConfigFlags):
def getGeometryConfigurationTools(ConfigFlags):
geoConfigToolList = []
# CfgGetter methods for these tools should be defined in the
# The methods for these tools should be defined in the
# package containing each tool, so G4AtlasTools in this case
geoConfigToolList += ["MaterialDescriptionTool"]
geoConfigToolList += [MaterialDescriptionToolCfg(ConfigFlags)]
return geoConfigToolList
def DetectorGeometrySvcCfg(ConfigFlags, name="DetectorGeometrySvc", **kwargs):
......@@ -302,6 +322,13 @@ if __name__ == '__main__':
inputDir = defaultTestFiles.d
ConfigFlags.Input.Files = defaultTestFiles.EVNT
ConfigFlags.Detector.SimulateBpipe = True
ConfigFlags.Detector.SimulateID = True
ConfigFlags.Detector.SimulateCalo = True
ConfigFlags.Detector.SimulateMuon = True
ConfigFlags.Detector.SimulateForward = True
ConfigFlags.Detector.GeometryFwdRegion = True
# Finalize
ConfigFlags.lock()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment