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.Sim.InDetParameterization is InDetParameterization.FatrasG4:
536 regionCreatorList += [result.popToolsAndMerge(InDetPhysicsRegionToolCfg(flags))]
537 if flags.Detector.GeometryBpipe:
538 if flags.Sim.BeamPipeSimMode is not BeamPipeSimMode.Normal:
539 regionCreatorList += [result.popToolsAndMerge(BeampipeFwdCutPhysicsRegionToolCfg(flags))]
540 if not flags.Detector.GeometryFwdRegion and (flags.Detector.GeometryAFP or flags.Detector.GeometryALFA or flags.Detector.GeometryZDC):
541 regionCreatorList += [result.popToolsAndMerge(FWDBeamLinePhysicsRegionToolCfg(flags))]
542 if flags.Detector.GeometryITk:
543 if flags.Detector.GeometryITkPixel:
544 regionCreatorList += [result.popToolsAndMerge(ITkPixelPhysicsRegionToolCfg(flags))]
545 if flags.Detector.GeometryITkStrip:
546 regionCreatorList += [result.popToolsAndMerge(ITkStripPhysicsRegionToolCfg(flags))]
547 if flags.Detector.GeometryHGTD:
548 regionCreatorList += [result.popToolsAndMerge(HGTDPhysicsRegionToolCfg(flags))]
549 if flags.Detector.GeometryITk or flags.Detector.GeometryHGTD:
550
551 if flags.Detector.GeometryBpipe:
552 if flags.Sim.BeamPipeSimMode is not BeamPipeSimMode.Normal:
553 regionCreatorList += [result.popToolsAndMerge(BeampipeFwdCutPhysicsRegionToolCfg(flags))]
554 if not flags.Detector.GeometryFwdRegion and (flags.Detector.GeometryAFP or flags.Detector.GeometryALFA or flags.Detector.GeometryZDC):
555 regionCreatorList += [result.popToolsAndMerge(FWDBeamLinePhysicsRegionToolCfg(flags))]
556 if flags.Detector.GeometryCalo:
557 if flags.Detector.GeometryLAr:
558
559 if flags.Sim.LArParameterization is not LArParameterization.NoFrozenShowers \
560 and flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC, CalibrationRun.DeadLAr]:
561 Logging.log.info('You requested both calibration hits and frozen showers / parameterization in the LAr.')
562 Logging.log.info(' Such a configuration is not allowed, and would give junk calibration hits where the showers are modified.')
563 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)+')')
564 raise RuntimeError('Configuration not allowed')
565 regionCreatorList += [
566 result.popToolsAndMerge(EMBPhysicsRegionToolCfg(flags)),
567 result.popToolsAndMerge(EMECPhysicsRegionToolCfg(flags)),
568 result.popToolsAndMerge(HECPhysicsRegionToolCfg(flags)),
569 result.popToolsAndMerge(FCALPhysicsRegionToolCfg(flags))]
570 fullCommandList = '\t'.join(flags.Sim.G4Commands)
571 if flags.Sim.LArParameterization is LArParameterization.FrozenShowers or 'EMECPara' in fullCommandList:
572
573
574
575
576
577
578
579 regionCreatorList += [
580 result.popToolsAndMerge(EMECParaPhysicsRegionToolCfg(flags))]
581 if flags.Sim.LArParameterization is not LArParameterization.NoFrozenShowers:
582 regionCreatorList += [result.popToolsAndMerge(FCALParaPhysicsRegionToolCfg(flags)),
583 result.popToolsAndMerge(FCAL2ParaPhysicsRegionToolCfg(flags))]
584 if flags.Sim.LArParameterization in [LArParameterization.DeadMaterialFrozenShowers, LArParameterization.FrozenShowersFCalOnly, LArParameterization.FastCaloSim]:
585 pass
586 regionCreatorList += [
587 result.popToolsAndMerge(PreSampLArPhysicsRegionToolCfg(flags)),
588 result.popToolsAndMerge(DeadMaterialPhysicsRegionToolCfg(flags))]
589 if flags.Sim.LArParameterization is LArParameterization.FastCaloSim:
590 regionCreatorList += [result.popToolsAndMerge(CALOPhysicsRegionToolCfg(flags))]
591
594 if flags.Detector.GeometryMuon:
595
596 regionCreatorList += [
597 result.popToolsAndMerge(DriftWallPhysicsRegionToolCfg(flags)),
598 result.popToolsAndMerge(DriftWall1PhysicsRegionToolCfg(flags)),
599 result.popToolsAndMerge(DriftWall2PhysicsRegionToolCfg(flags))]
600 if flags.Sim.CavernBackground not in [CavernBackground.Off, CavernBackground.Read] and not flags.Sim.RecordFlux:
601 regionCreatorList += [result.popToolsAndMerge(MuonSystemFastPhysicsRegionToolCfg(flags))]
602 result.setPrivateTools(regionCreatorList)
603 return result
604
605