514def ATLAS_RegionCreatorListCfg(flags):
515 result = ComponentAccumulator()
516 regionCreatorList = []
517
518 if flags.Detector.GeometryCavern or flags.Sim.CavernBackground not in [CavernBackground.Off, CavernBackground.Signal]:
519 regionCreatorList += [
520 result.popToolsAndMerge(SX1PhysicsRegionToolCfg(flags)),
521 result.popToolsAndMerge(BedrockPhysicsRegionToolCfg(flags)),
522 result.popToolsAndMerge(CavernShaftsConcretePhysicsRegionToolCfg(flags))]
523
524 if flags.Detector.GeometryID:
525 if flags.Detector.GeometryPixel:
526 regionCreatorList += [result.popToolsAndMerge(PixelPhysicsRegionToolCfg(flags))]
527 if flags.Detector.GeometrySCT:
528 regionCreatorList += [result.popToolsAndMerge(SCTPhysicsRegionToolCfg(flags))]
529 if flags.Detector.GeometryTRT:
530 regionCreatorList += [result.popToolsAndMerge(TRTPhysicsRegionToolCfg(flags))]
531 if flags.GeoModel.Run in [LHCPeriod.Run2, LHCPeriod.Run3]:
532
533 regionCreatorList += [result.popToolsAndMerge(TRT_ArPhysicsRegionToolCfg(flags))]
534
535 if flags.Detector.GeometryBpipe:
536 if flags.Sim.BeamPipeSimMode is not BeamPipeSimMode.Normal:
537 regionCreatorList += [result.popToolsAndMerge(BeampipeFwdCutPhysicsRegionToolCfg(flags))]
538 if not flags.Detector.GeometryFwdRegion and (flags.Detector.GeometryAFP or flags.Detector.GeometryALFA or flags.Detector.GeometryZDC):
539 regionCreatorList += [result.popToolsAndMerge(FWDBeamLinePhysicsRegionToolCfg(flags))]
540 if flags.Detector.GeometryITk:
541 if flags.Detector.GeometryITkPixel:
542 regionCreatorList += [result.popToolsAndMerge(ITkPixelPhysicsRegionToolCfg(flags))]
543 if flags.Detector.GeometryITkStrip:
544 regionCreatorList += [result.popToolsAndMerge(ITkStripPhysicsRegionToolCfg(flags))]
545 if flags.Detector.GeometryHGTD:
546 regionCreatorList += [result.popToolsAndMerge(HGTDPhysicsRegionToolCfg(flags))]
547 if flags.Detector.GeometryITk or flags.Detector.GeometryHGTD:
548
549 if flags.Detector.GeometryBpipe:
550 if flags.Sim.BeamPipeSimMode is not BeamPipeSimMode.Normal:
551 regionCreatorList += [result.popToolsAndMerge(BeampipeFwdCutPhysicsRegionToolCfg(flags))]
552 if not flags.Detector.GeometryFwdRegion and (flags.Detector.GeometryAFP or flags.Detector.GeometryALFA or flags.Detector.GeometryZDC):
553 regionCreatorList += [result.popToolsAndMerge(FWDBeamLinePhysicsRegionToolCfg(flags))]
554 if flags.Detector.GeometryCalo:
555 if flags.Detector.GeometryLAr:
556
557 if flags.Sim.LArParameterization is not LArParameterization.NoFrozenShowers \
558 and flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC, CalibrationRun.DeadLAr]:
559 Logging.log.info('You requested both calibration hits and frozen showers / parameterization in the LAr.')
560 Logging.log.info(' Such a configuration is not allowed, and would give junk calibration hits where the showers are modified.')
561 Logging.log.info(' Please try again with a different value of either flags.Sim.LArParameterization (' + str(flags.Sim.LArParameterization.value) + ') or flags.Sim.CalibrationRun ('+str(flags.Sim.CalibrationRun.value)+')')
562 raise RuntimeError('Configuration not allowed')
563 regionCreatorList += [
564 result.popToolsAndMerge(EMBPhysicsRegionToolCfg(flags)),
565 result.popToolsAndMerge(EMECPhysicsRegionToolCfg(flags)),
566 result.popToolsAndMerge(HECPhysicsRegionToolCfg(flags)),
567 result.popToolsAndMerge(FCALPhysicsRegionToolCfg(flags))]
568 fullCommandList = '\t'.join(flags.Sim.G4Commands)
569 if flags.Sim.LArParameterization is LArParameterization.FrozenShowers or 'EMECPara' in fullCommandList:
570
571
572
573
574
575
576
577 regionCreatorList += [
578 result.popToolsAndMerge(EMECParaPhysicsRegionToolCfg(flags))]
579 if flags.Sim.LArParameterization is not LArParameterization.NoFrozenShowers:
580 regionCreatorList += [result.popToolsAndMerge(FCALParaPhysicsRegionToolCfg(flags)),
581 result.popToolsAndMerge(FCAL2ParaPhysicsRegionToolCfg(flags))]
582 if flags.Sim.LArParameterization in [LArParameterization.DeadMaterialFrozenShowers, LArParameterization.FrozenShowersFCalOnly, LArParameterization.FastCaloSim]:
583 pass
584 regionCreatorList += [
585 result.popToolsAndMerge(PreSampLArPhysicsRegionToolCfg(flags)),
586 result.popToolsAndMerge(DeadMaterialPhysicsRegionToolCfg(flags))]
587 if flags.Sim.LArParameterization is LArParameterization.FastCaloSim:
588 regionCreatorList += [result.popToolsAndMerge(CALOPhysicsRegionToolCfg(flags))]
589
592 if flags.Detector.GeometryMuon:
593
594 regionCreatorList += [
595 result.popToolsAndMerge(DriftWallPhysicsRegionToolCfg(flags)),
596 result.popToolsAndMerge(DriftWall1PhysicsRegionToolCfg(flags)),
597 result.popToolsAndMerge(DriftWall2PhysicsRegionToolCfg(flags))]
598 if flags.Sim.CavernBackground not in [CavernBackground.Off, CavernBackground.Read] and not flags.Sim.RecordFlux:
599 regionCreatorList += [result.popToolsAndMerge(MuonSystemFastPhysicsRegionToolCfg(flags))]
600 result.setPrivateTools(regionCreatorList)
601 return result
602
603